tutorbook

Web app that helps schools and nonprofits connect students with expert mentors and volunteer tutors.

OTHER License

Downloads
2.7K
Stars
59
Committers
7

Bot releases are hidden (Show)

tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(travis.yml): set 'NODE_ENV' globally: 606ff3fa463988e79fbebeb91f7bc2c0d3d7161e
  • Chore(travis.yml): use predefined script: f8a5c61adb3230ab1203e91583a01018ae4550e6
  • Wip(travis.yml): finish build w/ Electron first: dbbe049c69fd288e910134ea8dc6ac980d143117
  • Fix(tests/pages/login): logout before visiting page: b136d6f9f10434969358c5bc67db96c4ead3a29a
  • Feat(cypress.json): enable automatic test retries: 8750114917e73002c42402098fa8616b415f5195
  • Fix(travis.yml): mark build based on Electron tests: b649b6375b6327cc197ab4fff7ecdc9ffaf5f1f7
  • Feat(travis.yml): add Slack integration: e1314e39a6cf8231e581b21c5b0e14a612b7a294
  • Fix: use 'ALGOLIA_ADMIN_KEY' on backend: de56169b04dee3d12a4514cf3973a175e1e266d3
  • Wip(utils/firebase/migrate): create users: fba0ccfb429900fdad7246ab3890ef9a95ee44f0
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Wip(cypress): write tests using Typescript: c85a5b3adba6cdfc6008228ceaf8ffe4a06df3e9
  • Fix(pages/app): log SW error instead of throwing: 19164add34e1458c8b595fe4e5906ecd32a0234f
  • Wip: remove db partitions and rename Algolia env var: 849bdbc5958367d2d82e9e8a6662f9ef737ad7fc
  • Chore(deps): add istanbul code coverage deps: 4ded48639ab3eba0eef03eaf2585a84f6bb8da73
  • Feat: add testing coverage stats: e90c3550be07e63d101ba24145f7aebdbcb8865b
  • Wip(components): add 'data-cy' attrs for e2e tests: c99dfa22c75de291f2c0b7a210b9de6a96a40a5f
  • Feat(cypress): add consistent 'happy-path' tests: fd55de422266265b9bfbcef387cce8b46446a22f
  • Wip(github/workflows): create test CI: 06d4cefc08033251a0cdc0e5a255875673bcbdf4
  • Wip(env): use new Next.js env files: 3c9fadc090d88bd0dc1cdf1027ae48d50666672a
  • Feat(travis.yml): add codecov report: 62739d0c75fb85d6eee700035b1b71d0e19266f7
  • Wip: add parallelization to Travis: c1f05049b3774cf5abccda5cf3d9fa4482a4359b
  • Wip: add cross-browser testing: b7c40a55de29ab2ffe2c8ead26a615949a5c4851

Patches

  • Docs(README): add Cypress description and instructions: 2c9f02e8681b15e485dfb91bd10c7c010a08971a
  • Chore(deps): add scripts and cypress as dev dep: 3a40bc2cd6a22eaf3591d6c6a12bd0a16eb1b5ad
  • Refactor(firebase): move config files to root dir: 840f5b5688e3dba339d4e85baa6d9ea8a9ffe57b
  • Docs: add superflow details: babf186f62b9e0112908ab5b301f19f5b5e58016
  • Wip(components): add 'data-cy' attributes for Cypress selectors: a6a627620ad293ad95116aa0785b192de997c83c
  • Chore(model/org): change default URL to use '*.app' tld: 997bfaf563a4004ee1b149cb6c32981715aba328
  • Chore(gitignore): ignore Firebase emulator log files: c1c8482b0cfb0d970f1b77b8251e559fe9ff6da5
  • Wip(cypress): add Firebase login methods: 92495a21ec5ecaffbe85be7d39921d842d90af7e
  • Fix(gitignore): ignore firebase emulator logs: eacacf7639d3aa08bfc6a332ae6ff8f706c7b0f5
  • Fix: use 'localhost' instead of '0.0.0.0' for dev server: f963752e7b1da024cfc3c0f67018db24f96abed5
  • Fix(gitignore): ignore nyc test coverage output: a565b868ff4b43cbc64305a29ccdaa75119d2749
  • Chore(deps): update Next.js and remove 'cssnano' resolution: f8122af1cb4f9830e69750903aac81ac4ba02fb0
  • Chore(gitignore): update '.now' to '.vercel': eaae8b54665553a60757973628f92e47b911e700
  • Fix(nyc): only include src files in code cov: 433f012701bc6b7c4b20d6fd6c57f049209c8a36
  • Refactor(cypress): mirror after src file structure: 19836eae1da6d0d091d65de6872b310a7861ac81
  • Fix(cypress.json): properly override default integration test dir: 283d7d35fd8a5fab340eecf37af2b4fc3c0340eb
  • Docs(README): add codecov and test badges: 52b84939d90bb3a1130141be88b1940fb9d99cab
  • Feat(cypress.json): configure dashboard integration: 7857482fe8bc8d77f52d26f3abee7e2f4ee4cf81
  • Fix(pages/api/coverage): add global 'coverage' types: 39722077b07255d448a79c894326fa65536bca05
  • Chore(deps): remove 'start-server-and-test' dep: 6ea179f04aaeaba67dc90dd74e6486fa91e4b5d9
  • Wip(babel): only instrument code during tests: 264c2cf10e7f6cf13033331599f6f7dbaccff553
  • Chore(lib/api/list-users): include index name in logs: b0ba4964e7f2599ae2b59d6ae5bd669f133a875a
  • Fix: use new env var format for API keys: 2ecb211ab029aab46e53532c240fb6eac30cb1b2
  • Fix(cypress): properly load new env files: 7a62b5c558b12765deef06b8b831868fae298ebe
  • Fix: use new Algolia key names: d29e35e0a9e840af08ae3f434a3fe0a3ac457e8e
  • Fix(sw/webpack.config.js): use new env files: cc48afb58e6858f6f8a74db23cf148abd22e6bb7
  • Fix: use 'APP_ENV' workaround for index configs: 8c2a122c8759ac43ae97c2e5c03288b9e530b91e
  • Wip(cypress/plugins): bulk fetch user records: 090352c9c5caae15a313052e0c1a3aba2ad860d2
  • Fix(cypress): generate unique user info for each test: d2a5d0c2f528cc23e04f0533e2fd8369cceea6b2
  • Chore(cypress): replace 'uid' with just 'id': 26c38b13ba7b8234cfb3f80b0e9cbed08943baf0
  • Fix(cyress/plugins): init search index in 'seed': 77fe65fb65bdeb30679e1c78086031783bc6885e
  • Feat(cypress): add 'cy.setup' custom cmd: 0b513213cbf34aa3adb586583cb897336e65b1e9
  • Fix(cypress): use Node.js globals for user info and add type defs: affcab4945fb81395fb8155bc7534d34bcab9bec
  • Fix(cypress/plugins): use valid phones and skip deletion when 'global.user' missing: 77ced4464b110daf3f15bfb221d948aa700f1149
  • Chore(cypress/plugins): generate 5 char uids: d2092582a544ca4c391e30f445760885c5eb1f6f
  • Fix(env.development): use db emulator: a248382838c48495378acb22982b5e7c0d41662a
  • Fix(firebase/storage.rules): upgrade to new rules version: 455814f1f9581357fefa4b9e1d4163cd3a5ef58d
  • Fix(cypress): dynamically add 'members' prop to 'org': 2a22e87a0b98f7f91675d0e8c0d6c64e25eaf741
  • Fix(package.json): properly set 'NODE_ENV' for 'dev:cy': d874f3c171a413ba41c53408596954ad8ea4a286
  • Fix(cypress/plugins): only delete objs created during tests: 0b0ca5fc11a9bb1204cc145f7b043469b65bdaa4
  • Fix(travis.yml): properly navigate dirs: be042749a0944422d3e73fc89f5678322eaeb104
  • Fix(travis.yml): start emulators before build: 04ae0b73ceab13121a9fca48cc66784486f76de1
  • Fix: set 'NODE_ENV' using VM vars: 8775a1b77aad7f9a785e3eddc989a799edf949c0
  • Fix(travis): add encrypted emulator runtime config: 22690746b889739ffcda3a696cfa558ee52a6c31
  • Fix(travis.yml): use correct build script: b55a1f4b23736e93b0b750c0b1bd8d95dc25c32c
  • Wip(travis.yml): use 'immutable' and 'immutable-cache' flags: 0a443231de0e4489b58c59755b491cebaeea11fd
  • Fix(cypress.json): update tests dirs: a961c1d75781e5ee6a4877dcc1055fe0ea4087c7
  • Fix(package.json): record Cypress tests: 492c2659d325286c7141b8e8e8cd58be30dc8e43
  • Refactor(cypress): use Typescript 'baseUrl' option: 0c810088834ea031c4fa55b22c9e8685f17207f4
  • Fix(travis.yml): only cache needed dirs: a33b53f563860e12a4ed4848c49bb26c8a106ed4
  • Fix(travis.yml): hide server logs: a4805d40ff68297fd5bb3666fc3efcd140e0a1a7
  • Fix(tests/pages/dashboard): properly find 'Account' btn: a472aec41f50f88bdfdc73ebf6e752728a4926d9
  • Docs(README): update codecov and build status badges: ced3ffe595546210670cfa7176821dbd9b4a5b28
  • Docs(README): remove Typescript badge: b9ce5923f8a5f28a7e994c919a50aeeb6e8661c2
  • Chore: add 'release' as a dev dep: 356eda11e8e6ee3aad1979689e8f65320cb587b8
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(home): remove text decoration on link wrappers: 33456a0a7544302e590fae94dbe2dc17e73c2af3
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Fix: remove times from front-end: 9c6a2488b526305456c0c8fae6812d26355b4cd7
  • Fix: remove times from user front-end too: 509413dc9e2d39f69de07c3e52a6a2cdf9a033f5
  • Fix: hide langs from front-end too: 270e4dcaf21bd4e7e88c3e55d595659c5822e425
  • Wip(pages/api/auth): add Zoom OAuth callback page: 9f1ccf32d40275da83cf38a07a58d0cf28ed4f20
  • Wip: add docs and specs for Zoom integration: d0f54cb43c86dd11291253076a9a01d7b514bb1d
  • Wip(lib): add Zoom meeting creation flow: b533d40243b125601b4fbcffea8b1b4328b41678
  • Wip: create org profile settings page: f95a5c7b57c2dada795c3544afdd972c2d517097
  • Feat: add update org API endpoint: 451819e0b5ab788f5e9dadfe46e7f4f6d0c7e279
  • Feat: add org profile and page settings: a54e893ac287ff142c5f7a39856279f7539a00b8
  • Feat: add full-height (100vh) page wrapper: b624b3bfbc696de8f0fa18e68c63265772efa209
  • Fix(people): table is always >= 625px tall: da256d248871b473e925bd82de3a90a3fe760d7b
  • Fix(request-dialog): remove student select and close on submit: 45df52f74eb961408e9a791d9ae96124a50258b5

Patches

  • Chore(tutorials/zoom-display.png): add img for Zoom app display: 94a42ffe52f41b74158e0c8e0bd9b91822b1d815
  • Chore(package.json): add prettier style script: e08bf1eceec854913879642bb1d5c21c832d8d6d
  • Fix(pages/api/auth): add deauthorization callback: ce5858672d04a38b9f7f2471c77f3467049300fc
  • Chore(tutorials): update Zoom banner img: 7ba2cfa107fd2177255966ff007c217fa7c77efc
  • Feat(public/zoomverify): add Zoom domain verification: 0b55a70d3a34dcb2752f39e36190f36d3ca3c5ad
  • Fix(next.config.js): add Zoom creds to env vars: 2c3e74ce25db866b4ef7e4271d8a8fafc68e0a66
  • Fix(lib): actually add Zoom venue to match: 3d047350e835071a444f00d5d551bf162a4c22f5
  • Wip: add org settings page placeholder: b29692d9461843d7cb547cd0512c866f706c9bae
  • Fix(lib): each match only has one venue: 8dfd685c0c3bde696408b0e29ff6e2ecd9d9f60e
  • Fix(model/org): properly serialize org to JSON: 81468ef92ea4c543b9ec5b99aeef5add4472de85
  • Fix(styles/global): remove 'mdc-card' import: c6bd33a51bda134fec69cbe9674e4e61d4621503
  • Fix(eslintrc): allow inferrable types on FN parameters: 86fe3ceb8d57aa33d85a834bd918bffa74e41c23
  • Fix: address build errors: 8e48d0acb5ca35231cddaa1989a79b4b9044d7c5
  • Fix(navigation/switcher): handle new nested settings links: aae71153a3d28afaa40d3d030307c56f9f365de4
  • Chore(footer): use 'cn' for classnames: f21247ab52c4a544690372875acca2b243e277d3
  • Wip: remove 'inputs' and add 'useSingle' hook: 19ba16add41c3a31a18f296f8dbe0b18737d2ee2
  • Fix(home): add link wrapper around btns: 989f0b6fe5acb0e3e73a4461403c208b521fba90
  • Fix(user-dialog/edit-page): don't require subjects and add 'onChange' to socials: b8dd496a8150fa17aad2e757ee21a62863c90faa
  • Fix(filter-form): address focus trapping issues: 5db1f0eaa4f4e00d035fc2756ea0d96566d9ccef
  • Fix(signup): properly pass 'onChange' to social inputs: 72afa57f70bcb4accf1e8d9b4b6f14436d849722
  • Fix(model/user): don't require 'default' org: 4d34633fa97a8af83aa3291e9b3790eafdbda4b1
  • Fix: temporarily hide Zoom settings page: 423032018a7b777909ac4e08c3e2b0756d809b64
  • Wip: add 'useSocialProps' custom hook: 1832c94656206f53b5eea3085d654b48eaafcfb7
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Chore(deps): update axios to latest version: 4371f3cf3140dca0210c8ccf29b5df3729418d01
  • Fix(home): add 'key' prop to action cards: b86d483cd9f2482f9865d7d59bb9a7e927bc9b98
  • Fix(search): only show org's aspects: a969174c49f604a73568cb096b5c412ae684a191
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Feat(people): add 'share search link' action btn: e1b3cbfee5fce6bdfd398a34f3e20adcdfe0a2d7
  • Feat: add SSG org landing pages: 2f9bd23dfb5c9d530c153f057fc0341ba0e52e41

Patches

  • Fix(navigation/navigation.module.scss): ensure nav bar is always 64px: 5b8f4206a370b4e84fe2d1afd51ef2d49671b0ad
  • Feat(model/user): add 'isAspect' type safeguard: 077464e8052e55e7207b2507346b2b4f452ef0e2
  • Feat(pages/org/signup): update aspect based on URL query: b8c36e8e63c29b182538635fc391ec12b506bc7c
  • Fix: wrapper mixin takes width param: b3b7946097d9bbd3e73de62786a9ced2b8ae2603
  • Chore(utils/firebase/Makefile): add anonymize to scripts: d4f6fcefa9677ee433a75327bafb15d956924d13
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(next.config.js): add 'INTERCOM_APP_ID' to env vars: d37140bf4d61a98f5f82b25c80cf00502550a53b
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(navigation/pop-over): remove broken org links: 31de4ece706ca07d753bcc813c4e4f4b07f8ed2b
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Wip(legal): add old legal assets to repo: 2f8ee2bf6be6c7e8f1ce26eaef6eaf20e2cbfeeb
  • Fix(react-intercom): refactor component to be function: f03968c1aadff04ddbedce17065ed14362b3fe1a
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(locales/en/match3rd): change people label for consistency: b2518d37ddd267588cab112edd8a7708ffda2443
  • Fix(people/request-item): use 'not-allowed' cursor when missing 'onClick': 30e6f81bfceca533640692fb7ec958cc7cafc788
  • Fix(pages/index): add 'match3rd' i18n namespace: 5825ddf93e4a18cb392a2e6d7c54db4c906c0a44
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(pages/search): properly handle shallow navigation: 3b62b23d10a916089b17b0631f988c72f5120900
  • Feat(pages/search): add viewing userId to shallow URL nav: 4df45b6386c29d2ba081ca643536e2421a40f5c5
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Refactor: remove org landing page: 890b446a5676740ac0a1887b7e83c7238896b167
  • Feat(user-dialog/display-page): add visibility switch: 79200f19cc56840289a5e8f1c3400532c57f490d
  • Feat: add org-specific signup page: 965d890ac348344086df74a2dce7e0a61431327e
  • Refactor: remove non-partitioned search page: 4ece4434a0ff3c5f3c02d3fb466f523fc93dec65

Patches

  • Fix(utils/firebase/migrate): remove PAUSD ppl from 'default' partition: 0ce823f6a9af2137c3e89a666b53933366b9c5a2
  • Fix(people/header): create users w/in current org: 00c1b142318b14e4d6d161ef7a13ec77a1f0f9d8
  • Fix(pages/signup): add incremental static regeneration: c7336e91b1f3cb476b476014d4251042b1ba3371
  • Fix(pages/signup): address Typescript errors: 6073eae899d58a4a5a709640662cacd816c1f2ff
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(navigation): add ID to nav button: f7199b2fca3e64082bdb463a1912edb613c8147c
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(model/user): remove 'matching' prop: e041902b15526ca6cc7b2c81a40f9a00991789e4
  • Fix(locales/en): update 'match3rd:people' key: 1aa95c6344664d6aad169a5197185072bf3169c9
  • Chore(utils/firebase): migrate old data to new app: c1e2f20aa0be6c1a55c271fe61b34cc488aaa3fd
  • Fix(model/query): set 'tutoring' as default aspect: 0dececccc7a35f8e55873b9d329cc347386de783
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Feat(user-dialog): pre-fill msg w/ placeholder: d83f927616426f9822c1abf9e1fdae32e41de633
  • Fix(subject-select): update suggestions when options change: 33fda56d8057ff55cfc023a9ce8906540b48779d
  • Fix(subject-select): don't allow selections not in 'options': c5aecdfd8b48f5ab61b32f64474426ecfcacee45

Patches

  • Fix(components/header): don't show '0' in HTML: 05646a26ebd0090b896cd3946e29e9b60096eefe
  • Fix(navigation/pop-over): add button IDs for product tours: db89cd31ac9276fad5f74ad6fa5537b727804a1c
  • Fix(utils/firebase/anonymize): only replace emails: 91961689101b402c7530a6bd7beb11202573d034
  • Chore(utils/firebase): add Makefile for convenience: 2f0f7fa5beeb2e12cd45ce224bfad72aee4a6e1e
  • Fix(people/filter-sheet): add 'key' prop to request items: 3b7ae08950e2d15f849666bdb735f100b888189c
  • Fix(inputs/user): don't pass 'renderToPortal' to inputs: e070e82c399a8aae7d5b0bf3c36a2f03fa342c85
  • Fix: add 'key' props to list elems: ec2a8e8a55eba8b69fd2e081b1a2727a7aa828cf
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Feat(intercom): hide default launcher: b0cd8bb59c6edff61cd4ed8c2db30c9f59f9fcf2
  • Docs(README): add org-oriented app description: a932e97d215083d3cdc0643626d01dfd819c0413
  • Fix(components/navigation): use '/[org]/matches' not '/[org]/appts': addd7b74922d29752706caca07f4d0215c2080f5
  • Refactor: rename 'appt' to 'match': 3e8edfbaa43fcaf97d726b84fcfd55bd1ea476ed
  • Refactor: rename 'attendees' to 'people': 2b5fce3aec03b3b2fa0baeeaed7eaf8037183e09
  • Feat(lib/model): split 'Request' and 'Match' data models: 16c65f9cd244daf3f93b2cef996275cdec78ef5e
  • Wip(eslint): enforce import sorting: deebb8f28c7962fb9a5d7af847248aa8216ca1f2
  • Wip(components/people): add collapsible filter sheet: 3f28b1cfddb3b38b0355782653218ce25b25175f
  • Wip(lib/model/query): add 'RequestsQuery' data model: bd434cbb8ccbdfc5a5eace4e61f474d2b765e4cc
  • Wip: add requests data flow: ebb5f39435f679f96341431e71d93f5869effc74
  • Wip: add name and photo to 'Person' model: bbb30dd231933138821b694e78accc055dd008c9
  • Fix: remove bio ellipsis truncation: 76bc05e6d8b39d91cf3f945e1310602d6b166321
  • Wip: add request queue matching state: 794bb0d8810b080fdf5908a1e17509c8fdc8ba46
  • Feat(user-dialog): add functional matching page: 372669dc08b5216d8e2374e1363c62d35f4996d9
  • Wip: add 'Create request' pg to 'UserDialog': 87d66342dfb04eea7efcc2e0f5e451fbba9a7261
  • Fix(matches): only show static data grid: fe28245f54cb428a3cddc402a36dbb0f46b3fd69
  • Feat(user-dialog/edit-page): move subjects to separate section: dae098ed20a03acc754949878b642cef27928ba2

Patches

  • Chore(utils/firebase/migrate): move 'appts' collection to 'matches': 12d7adc8f46e4d2dd9fbf825e1955d9b76f04a41
  • Fix(firebase/functions): rename 'appt' to 'match': 680c2cadd3ce06953fed87e3616b34af9878cf39
  • Fix(aws/src): rename 'appt' to 'match': 3697f21076a5a496aa794ae07941da9d7a87bce6
  • Fix(utils/firebase/migrate): copy appt emails as well: c6f1fba7f9b4b64798926c862d48ee2afa21a257
  • Wip(components/people): wrap actions in 'useCallback' hooks: e6e0ec26a93172b8f285735432213959700b9719
  • Fix(components/inputs/match): properly capture focus: b76f92157f27f1fb1ff88298a806f2ef94b4f30c
  • Feat(lib/model/callback): add callback param type: 38b14c27e5219ef597ab184d9d85ec9e7a8cd69f
  • Fix(locales/en/match): reword 'Send request' to 'Create match': adef36920a086ce979e506629f4ace62ea6f8afc
  • Refactor(components/people): split into multiple components: f200f09453d365968139e18df161815647fb01ae
  • Chore(components/people): remove unused components: 4c09b16ae8dfecd04e01927d35fede9bed71136c
  • Fix(lib/model/callback): use union type not intersection: 6609404aab2f51cb49ebdefedbeec89217a64098
  • Refactor(components/people): split results from main component: 0e7cfa8874dad7da58652d0c961dbc2952d97390
  • Fix: don't require React in JSX scope: 6da8acf35bcd5c96b449efb9a3ca7ed6d8a3d194
  • Fix(eslint): add 'locales' to import internals: 7935abb68b1940e7c51255e9b428ebd5640f1f55
  • Chore(eslintrc.js): add explanation comments and links: 0701f6e05524643074f7ed66be7fcc072ba74c36
  • Refactor: move 'usePrevious' to 'lib/hooks': e7ed3ffc0153411c13dfdb67d3c6d3f57dd8a776
  • Fix(components/matches): import 'useEffect' from React: 6961424d1b3386241e0d6ad61394f11bab6c2392
  • Wip(components/people): move pagination to results component: 288a68d6b23ae7b3cf703f119f4f6f571eec919c
  • Feat(search/result): add 'className' prop: eb90892008d87266079426253c2c39c968ae09d0
  • Feat(components/people): add query inputs to filter sheet: 68e1bae0517851468a0f326be5fa7d0ed2cbe79b
  • Chore(components/people): set default 'hitsPerPage' to 5: 2d589a0a74b977b51a06e36cec018c501ce87c30
  • Fix(components/people): wrap sub-components in 'React.memo': 8611b7b1b8dfdf2209ac0c8bcf233a0773126479
  • Fix: rename 'appointments' to 'matches': cc9eb944797f88a36e77068feac9f93757e576e7
  • Wip(lib/model): add 'status' to request obj: 3952ce2be2b76473a5b605d77000b95381805ce6
  • Wip: update filter sheet: 043a9086f562015a1e68429ecda5bf04eb3c8d5d
  • Fix(components/people): scroll w/in filter sheet: 3235a03dc8203304ab5421765789fdccd906dec6
  • Fix(lib/model/query): properly export 'Option' interface: 504a68c4305ba7078207c70e77dff06ef34154dc
  • Wip(firebase/functions): add data duplication syncs: 528fa026787f406646c14c47fe357eae9716a14d
  • Fix(functions/add-people-ids): don't duplicate IDs: 168d0c0745545b6bd6feaa1959aafb527ac92332
  • Chore(functions/deps): upgrade 'firebase-functions' to v3.9: 1d402179280620e59b3cb472f29e9293b2541b58
  • Fix(functions): sync the 'creator' as well: d985d3bbcde591faa7c18504a81a0d9b836a7af6
  • Chore(utils/firebase/migrate): generalize db trigger util: 7313f5e770d859aa0fe7a470566afa595d513ec4
  • Fix(functions/sync-user-name): don't use Firestore settings: 49f1a877f31a1735ef1e17146ed230e07bda7b04
  • Wip(components/people): add subjects to request item: c6e42979e66e8c65fa02b1af21ae79f558c2b9f2
  • Fix(components/people): filter sheet doesn't resize: 94aa3b28c3ad0fed41f8d3e9ce8383f897d44c69
  • Feat(components/people): request item can resize: b28021aedf859cd19f2d059af6373c0f8464e882
  • Feat(components/subject-select): add 'aspect' prop to selected val: 9eccdcdff02ac309b3fefeb8e50a17091da18463
  • Fix(inputs/match): add 'subjectOptions' param: 558c289c8bc4f4e8676431d864e4493287035656
  • Fix(search/result): disable ripple when missing 'onClick': 8098c7abb8abcb3038ec8a2259f9069aec1197a7
  • Wip(user-dialog): move inputs directly into match pg: e93abdcc94231f145048afc11fb9d13f464b67bb
  • Chore: sort imports alphabetically: 6219ac09752e8d3d353f328afe9d4b8c35dad623
  • Feat: add custom 'No results' select labels: 047b619c57f3f778166477f48d80d4eec63c78c5
  • Fix(user-dialog): ensure loader covers entire dialog: 55d7bd25bc7e32a2e9fd0153043525b2c4900973
  • Chore(package.json): add debugging support: 21d36f165d0b4f65aa25fdfb68e32a5f88a8cf58
  • Chore(components/inputs): remove match inputs: c9f81694ffb3f09cf674043243ef705bbf0e2a9c
  • Fix(package.json): remove unused 'lint' script: 617d804f019be5512c237e5e21e0640cd42605f6
  • Fix(select): only controllers pass 'noResultsMessage' prop: ed37abe384af5150c7634f00cf3cb55041859f20
  • Fix(people): header 'Create user' btn works: 8ac3b4a3f355668719920927b5c8dc34d5539a42
  • Wip: add 'defaultProps' definitions: 487aedfae6676b7673840fc7145731a435f42d57
  • Fix(lib/model): remove unused 'key' vars: 80adc50cbd9ca733b15d9663bdd516ce9dde863e
  • Fix(lib/model/query): export base abstract 'Query' class: ed954639bb4247fbfaeec529920fd1cb7748363d
  • Chore(people): dynamically import 'UserDialog': 7cd82266e8609a3ab24a62b4c9824743e8df4f3d
  • Fix(select): don't add 'noResultsMessage' to DOM: f637df586238ca3255d4a7f9063e9c9b164eaa45
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Wip: add create/edit/request user dialog: 75876293d2d57619f6440ab3b0fe2d09c3033339
  • Fix: maintain account state across pages: 4b6074cf74b41978c456284e40a34ec8206bf011
  • Fix: temporarily remove i18n: b79b0baa5e847c9a70e628bef2cdaa9c7be2822b
  • Feat: statically optimize org dashboard: 62a0f9161c37fe2b7ec30bada821d17d21810488
  • Fix: replace 'useOrgs' with 'useUser': d3ae45bc8ad8700b40e54045d741c204c9214787
  • Fix: major refactor for code reuse: d23747cf2ee819a5ce491962be1bb46685158c3d
  • Refactor(dashboard): split dashboard page components: 794f9ad6a1906b576bf1da131ffe0b1ff73c2cf7
  • Refactor: rename 'appts' to 'matches': f9b833bec440a0539c13fac725bfcea41c32acaa
  • Feat: redirect 401 errors to login page: 10dc8017aab4cf9a9132ade238a7ae5d5420b023

Patches

  • Chore(deps): upgrade to SWR 0.3.x: 27b8e6b6f5985dad4e8baca8f2eb34216ddc16fe
  • Feat(components/create-user-dialog): add shared z-axis transition: 1db27f7916234068c6b854aae5060cd5e5835878
  • Wip: add request page to user dialog: d14cc25c85ab87866e7dbf1c265473f9d6515fc9
  • Fix(dashboard): show searching state initially: 064630a6b12deda66bcac12b8426ea0baad6f1f7
  • Wip: add filters to people dashboard: eb5aca1dbf01dc4cf77bb6667621b25fee42caa5
  • Fix(components/dashboard/people): remove unused code: 580b49cd595b1aead2f42c0812e1908bdf4fa474
  • Fix(components/filter-dialog): make fully controlled and show closing animation: f9d374683bf75ae67e0eff32787e0f8656b9358f
  • Feat(components/create-user-dialog): add nav to display page: fac4ffc1fde5bff90bcf53746207a319f1ede5f7
  • Fix: remove locale param in links: 490faf20d628393ee6059eefe2ad954bcce323a7
  • Fix(pages/dashboard): use static optimization: 8a37a05dc9b52b1caf163702cd28234205ec881c
  • Chore(utils/algolia/mentoring): add 'Public Health' subject: eb9455966fbd8bd937b28d06dfa21eb462c4951b
  • Chore: dynamically import dialogs into people view: aab74da789797b790dae98b06ed5b115019dc12e
  • Chore: dynamically import 'RequestDialog' and 'VanillaTilt' on homepage: fc196161af009b9687bb70a9f30b1ec4937248b7
  • Fix(i18n): add all translation namespaces: e175ddcbb9e5d692277e282ecbb003de9d29f501
  • Feat(user-dialog): move verifications to display page: b2fe6291d3ff6a777c041a9c79914ef2e2f37d89
  • Fix: address Typescript build errors: e8bc59833b62d2aa62f3d982f08a1190942dd401
  • Fix(components/navigation/pop-over): change 'appts' to 'matches': eeb6d1b51c52a9e2472c40dbb6ca0af86f3c13b8
  • Fix(components/user-dialog): temp hide 'Match student' btn: 9f96fc1d6bc1cc913f4d9462170e4f8bbea8f2d3
  • Fix(pages/app): only show account loader on initial page load: 53975badae19082cbda8297bd466e8aca5ccf6ef
  • Fix(components/request-dialog): users can only edit pupil attendees: 63891fcdeea083e1492c82bd6dbfa86e9a785a4b
  • Fix(components/request-dialog): hide loader for signup errors: eb971b5cd0939afc0b454e8835ee462c05fb46f0
  • Fix(lib/api/list-users): always send full (sometimes empty) JSON data: 6587a734ae2c2d121aec18fc10b707c34b6878a1
  • Fix(pages/signup): properly include i18n translations: d880ee71e27eacdcb05533f7a81254ba9cf43d34
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Refactor(pages/[org]/dashboard): remove 'dashboard' prefixes: 30a07d825572643a9301af13bf33242659b0dd70
  • Feat: add fully controlled timeslot input: a2641e520ab986979d333ae0c9ee838944cadb55
  • Feat: allow multiple times per appt: c4bcc16c06ff51cdea0bfed5e3457e8ed7de65df
  • Feat: use times select for availability too: cb20f289de55674768b8560f592cf56399f68450
  • Chore: use yarn instead of npm: a3f68a1b490acbd2ef44bb14511a7a2f1b3b7fc1
  • Fix: temporarily disable email relay: f0ff8066f257887b82e324309f2e07098b95a319

Patches

  • Chore(components/action-text): remove unused component: faa62b680bb5b8fe00c9ee263fe34856c3da3eee
  • Fix(components/select): don't pass 'singleLine' prop: b46841965d7e6ba02df8a2e65d725c92c34f3858
  • Fix(components/select): reset timeoutId after clearing: c056d62889ea2b8251a16a03cbb42341a4af2ccf
  • Wip(lib/model/timeslot): add recur rule prop: d548da687ea91c5708c8c2c05c52b03981552374
  • Chore(lib/utils/time): change 'day' to 'weekday': 8cedd91d6ec7bffe54adc1925adc2c5158c2b4c6
  • Chore(deps): add 'rrule' and 'react-rnd': 0daf859622796a7a56200e42f301b2dbdc43e263
  • Fix(components/query-form): don't portal render to capture focus: e1d2c01f9da296aa71b0a8f23c225e39176e26ac
  • Fix(components/schedule-input): make menu surface focusable: ffae2eaa20d1a94b7cc15d7db10db7f074adbf64
  • Fix: remove old timeslot model and input: 2218db109be37451e01a6f653cee19e425044f6a
  • Fix(components/select): properly stop event propagation: 766157b9ecf80fdcce740304c3eb375e63936532
  • Chore(components/volunteer-page): shorten import name: e7e621ce9ef7bbdd8711da8779b95cffda2e0956
  • Chore(deps): upgrade to Next.js 9.5.x: 2c2e76dfc9448c4f3b7d41c71a1cad2e2ed827e5
  • Fix(components/times-select): update opt param: 6933f951217a38c8ef989f90684a9c12277d90a8
  • Fix(lib/api/create-appt): update validation for new 'times' prop: ef660aa7765f7a6a2c7f5b87f89bbc51f12533a2
  • Fix: revert to LTS Node.js and stable webpack: 917d66c43d485f2a45c836d051379b7d46e84691
  • Fix: migrate to Yarn v2 and fix build errors: 77151a5a1b5010171542c83bfabbdcb889c3af94
  • Fix(deps): add Yarn v2 files to gitignore: e7832d0e232aa7c3990a05092b2c69e158386a2a
  • Fix(components): dynamically import large 'TimesSelect': 11917f635a927bf3535a50f74e535469651c5467
  • Fix(lib/model/timeslot): don't use 'rrule' pkg yet: f1dffeaaedc25400bf93e50fe366b5fdbb643ddc
  • Fix(lib/intl): update 'about' translations: e939a45abdd55bbb52b9b42af5628d3fd441b038
  • Fix(lib/emails/appt): hide unused helper: 1bd434dc09a39bf074bb7f3bb77a47ca38dd92d2
  • Fix(lib/emails/appt): remove 'parent no action' clause: 2931adbcfa1bdbd26cb53b939497b5b7485d18f4
  • Fix(components/request-dialog): time is optional: 134bab3b68cfa65a834a6687f82efafd2bd1602e
tutorbook -

Published by nicholaschiang about 4 years ago

Patches

  • Fix(pages/[org]): add org i18n namespace: 52b545d0dbc92bf266573e2d4eb8137c633dbb0b
tutorbook -

Published by nicholaschiang about 4 years ago

Minor Changes

  • Fix(lib/model): only support admin firestore types: e40d79f440f8601dda4fd8ecfc2a1db9d9c9ad26
  • Fix: org signups occur on org homepage: 82d1928ca9c33a744595956de0290c9f4d049809
  • Wip: migrate from 'react-intl' to 'next-translate': 1f79fd9dbd627531195fecfd1ef611dde24e4337

Patches

  • Feat: use dynamic imports to reduce bundle size: bc0f7b3c2586af893ae71218c45051230b4810fb
  • Feat(utils/firebase/migrate): add util to update appts index: d0cadf5b6ae31b5457c6d68896d85d65e1d0cc80
  • Chore: dynamically import 'phone' to reduce bundle sizes: 7c46e9e137c148a750588adcf5a5fe31298bf542
  • Wip(pages): replace 'react-intl' w/ 'next-translate': fc3a7328562874fec5855484d0002a32e3dcf90b
  • Wip(lib/intl): add routing helpers for 'next-translate': eefba09d9c6a88c0395c3980c8431c06cc43238f
  • Fix(schedule-input): properly call 'setTimeout': 077793c16edef195da3a098983492771255c4089
  • Chore(lib/intl/locales/en): remove unused JSON: d723a2388c60719fb0eda9a9fd261c7310636ba4
  • Chore: remove unused 'RMWCProvider': 40c6ad98f0a929786979d6172acf1a249d00608b
  • Chore: remove 'Typography' dep: 8da44ca16bdface43634a3253fdc9e23c007c3d3
  • Chore(lib/intl/global): add 'withTranslation' HOC types: 019440dfff43b6a783757c08cc13dc725c3a7847
  • Fix(styles/global): add font styles to RMWC tooltip: 0b50e9e1f7488e96c6e04597de3aa254262cba2a
  • Fix(components/select): remove i18n for now: 44cf741aa20749348e2d5716b73843a61fd089b9
  • Fix: only analyze client-side bundle sizes: 27eb3e8fbf5dddb2c082943ba53a01f5cd2e265b
  • Chore(lib/intl/locales/en): update message placeholder: 41acafba725aa3056e8f25b4564959d6fbbe14a8
  • Fix: use my own 'Link' HOC: 6be03d65ac7d912a7184b21b521145c03cdfaac8
  • Fix(pages/[org]/dashboard): update i18n namespaces: 0686358fcf89489518c3fc13108805e07c552b9b