v1.3.0 - 2025-01-06
- chore: use shadcn components for Form Label and Input by @davidlhw in #357
- feat(ui): sidebar rework to use shadcn components by @davidlhw in #358
- feat(ui): dev-only themes preview page by @davidlhw in #365
- feat(ui): global progress bar to show routing progress by @davidlhw in #369
- fix: forgot password form redirects twice if user is v1 by @davidlhw in #359
- fix: next dev slow compilation - split tailwindcss process by @davidlhw in #363
- fix: submit review scroll issue - use native a element instead of Link component by @davidlhw in #362
- chore: remove unused suspense by @davidlhw in #352
- fix: prof and course review section inaccurate metadata by @davidlhw in #350
- chore: update deps and upstream components from t3app by @davidlhw in #355
- fix: aborterror fetch is aborted by @davidlhw in #360
- chore: see more only for review item on home by @davidlhw in #370
- feat(ui): show more details on review items by @davidlhw in #371
- fix: progresslink component fails to push routes if href is urlobject by @davidlhw in #373
- fix: tag component not able to be active if not clickable by @davidlhw in #372
- feat(ui): alertdialog shadcn component by @davidlhw in #374
- feat(ui): toast sonnor component by @davidlhw in #375
- feat(ui): themes respect user prefers-color-scheme config by @davidlhw in #377
- feat(ui): avatar shadcn component by @davidlhw in #378
Full Changelog: https://github.com/afterclass-io/afterclass.io/compare/v1.2.0...v1.3.0
v1.2.0 - 2024-12-14
- feat: setup sentry with custom sentry breadcrumbs by @davidlhw in AfterClass-io/afterclass.io-v2#326
- feat(ui): dynamic ogimage metadata for prof and course pages by @davidlhw in AfterClass-io/afterclass.io-v2#346
- chore(tests): introduce cypress e2e testing by @davidlhw in AfterClass-io/afterclass.io-v2#322
- refactor: clean up modules and rearrange components by @davidlhw in AfterClass-io/afterclass.io-v2#323
- chore(auth): upgrade nextauth to use authjs v5 by @davidlhw in AfterClass-io/afterclass.io-v2#327
- feat(auth): redirect to acct creation on v1 acct pwd reset by @davidlhw in AfterClass-io/afterclass.io-v2#329
- fix: multizonal hosting of umami public share url by @davidlhw in AfterClass-io/afterclass.io-v2#336
- feat: feature flagging with vercel edge config by @davidlhw in AfterClass-io/afterclass.io-v2#338
- chore: prisma github action to deploy migrations to stg and prd by @davidlhw in AfterClass-io/afterclass.io-v2#342
- feat: use umami identify feature by @davidlhw in AfterClass-io/afterclass.io-v2#343
- feat: local config fallback for invalid edge config by @jeromeandrewong in AfterClass-io/afterclass.io-v2#345
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v1.1.0...v1.2.0
v1.1.0 - 2024-10-22
- perf: optimize load time with proper suspense and compact queries by @davidlhw in AfterClass-io/afterclass.io-v2#316
- feat: password reset flow by @davidlhw in AfterClass-io/afterclass.io-v2#317
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v1.0.0...v1.1.0
v1.0.0 - 2024-09-22
- feat: implement like button functionality on review item by @davidlhw in AfterClass-io/afterclass.io-v2#242
- feat(ui): implement infinite scrolling by @davidlhw in AfterClass-io/afterclass.io-v2#243
- chore: add renovate config by @davidlhw in AfterClass-io/afterclass.io-v2#245
- chore(deps): use bun pkgmr and pin dependencies by @davidlhw in AfterClass-io/afterclass.io-v2#284
- @renovate made their first contribution in AfterClass-io/afterclass.io-v2#247
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.8.0...v1.0.0
v0.8.0 - 2024-09-15
- feat(ui): implement noticecard component on coming soon and error pages by @davidlhw in AfterClass-io/afterclass.io-v2#236
- feat(ui): disallow mobile to zoom on form input by @davidlhw in AfterClass-io/afterclass.io-v2#238
- feat(ui): show no result if reviews or rating is empty by @davidlhw in AfterClass-io/afterclass.io-v2#237
- feat(ui): review form improvements by @davidlhw in AfterClass-io/afterclass.io-v2#241
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.7.0...v0.8.0
v0.7.0 - 2024-09-01
- feat: mobile view for rating section by @Jaylin0312 in AfterClass-io/afterclass.io-v2#227
- feat: enable feature flag on announcement banner by @davidlhw in AfterClass-io/afterclass.io-v2#225
- chore: update book and clipboard icons by @AlvinLingg in AfterClass-io/afterclass.io-v2#229
- feat(ui): filter section responsive mobile viewport by @davidlhw in AfterClass-io/afterclass.io-v2#228
- feat: add AC telegram channel and helpdesk links by @Jaylin0312 in AfterClass-io/afterclass.io-v2#231
- feat: mobile view for review submission by @AlvinLingg in AfterClass-io/afterclass.io-v2#232
- feat: mobile add review submission and contribute buttons to the sidebar drawer by @Jaylin0312 in AfterClass-io/afterclass.io-v2#234
- feat(ui): more reviews can be loaded with a see more button by @Jansen52x in AfterClass-io/afterclass.io-v2#194
- fix: review submission form removes review section completely if skipped by @davidlhw in AfterClass-io/afterclass.io-v2#221
- fix: mobile view login button by @AlvinLingg in AfterClass-io/afterclass.io-v2#230
- chore: allow passing icons as props to ctacard by @AlvinLingg in AfterClass-io/afterclass.io-v2#224
- fix: removed the Tag and SchoolIcon to become SchoolTag by @AlvinLingg in AfterClass-io/afterclass.io-v2#233
- @AlvinLingg made their first contribution in AfterClass-io/afterclass.io-v2#224
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.6.0...v0.7.0
v0.6.0 - 2024-08-18
- feat(ui): tooltip component by @davidlhw in AfterClass-io/afterclass.io-v2#208
- feat(ui): mobile view for auth flows by @davidlhw in AfterClass-io/afterclass.io-v2#212
- feat(ui): review item responsive mobile viewport by @davidlhw in AfterClass-io/afterclass.io-v2#210
- fix: course specific review not showing if where in clause is empty array by @davidlhw in AfterClass-io/afterclass.io-v2#215
- fix(ui): review label tag on review form not reactive to clicks by @davidlhw in AfterClass-io/afterclass.io-v2#214
- fix(ui): mobile view not scrollable by @davidlhw in AfterClass-io/afterclass.io-v2#216
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.5.0...v0.6.0
v0.5.0 - 2024-08-06
- feat(ui): review modal responsive mobile viewport by @davidlhw in AfterClass-io/afterclass.io-v2#209
- fix: review item not wrapping text on long word causing container to grow by @davidlhw in AfterClass-io/afterclass.io-v2#195
- fix: add whitespace pre wrap for modal body by @Jaylin0312 in AfterClass-io/afterclass.io-v2#211
- fix: coming soon page by @whoisdavidd in AfterClass-io/afterclass.io-v2#197
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.4.0...v0.5.0
v0.4.0 - 2024-07-22
- feat(ui): see more button links to respective page on review modal by @minthukha12 in AfterClass-io/afterclass.io-v2#190
- fix: inaccurate review statistics on filter by @davidlhw in AfterClass-io/afterclass.io-v2#191
- fix: prevent review modal close button autofocus by @davidlhw in AfterClass-io/afterclass.io-v2#196
- fix: prof filter on course page not correctly filtering reviews by @davidlhw in AfterClass-io/afterclass.io-v2#193
- chore: hide search result item statistics on unauthenticated client by @davidlhw in AfterClass-io/afterclass.io-v2#192
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.3.0...v0.4.0
v0.3.0 - 2024-07-07
- feat(ui): coming soon page by @whoisdavidd in AfterClass-io/afterclass.io-v2#183
- feat(ui): implement breadcrumbs on navigation header by @davidlhw in AfterClass-io/afterclass.io-v2#184
- feat: search result includes review statistics by @davidlhw in AfterClass-io/afterclass.io-v2#185
- @whoisdavidd made their first contribution in AfterClass-io/afterclass.io-v2#183
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.2.0...v0.3.0
v0.2.0 - 2024-06-23
- feat: posthog analytics by @onebignick in AfterClass-io/afterclass.io-v2#143
- feat: search api integration with postgres fulltext search by @davidlhw in AfterClass-io/afterclass.io-v2#161
- feat(ui): add login button to header by @minthukha12 in AfterClass-io/afterclass.io-v2#176
- feat(ui): removed unused items from sidebar by @ananyabhat29 in AfterClass-io/afterclass.io-v2#173
- feat(ui): add user profile component on school layout by @haithisisme in AfterClass-io/afterclass.io-v2#175
- feat: expose user fields to session object by @davidlhw in AfterClass-io/afterclass.io-v2#178
- chore: generate initial migrations by @davidlhw in AfterClass-io/afterclass.io-v2#170
- refactor(ui): format review details data by @Jansen52x in AfterClass-io/afterclass.io-v2#174
- refactor(ui): hide see more reviews outside of home page by @gnzat in AfterClass-io/afterclass.io-v2#177
- @onebignick made their first contribution in AfterClass-io/afterclass.io-v2#143
- @Jansen52x made their first contribution in AfterClass-io/afterclass.io-v2#174
- @minthukha12 made their first contribution in AfterClass-io/afterclass.io-v2#176
- @ananyabhat29 made their first contribution in AfterClass-io/afterclass.io-v2#173
- @haithisisme made their first contribution in AfterClass-io/afterclass.io-v2#175
- @gnzat made their first contribution in AfterClass-io/afterclass.io-v2#177
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/compare/v0.1.0...v0.2.0
v0.1.0 - 2024-06-10
- fix: unintentional disabling of
Command
after upgrading cmdk to v1.x by @davidlhw in AfterClass-io/afterclass.io-v2#96 - fix: remove resend button by @davidlhw in AfterClass-io/afterclass.io-v2#138
- feat: theming system by @Aztriltus in AfterClass-io/afterclass.io-v2#3
- feat: NextAuth Supabase login by @davidlhw in AfterClass-io/afterclass.io-v2#4
- feat: login layout by @jeromeandrewong in AfterClass-io/afterclass.io-v2#10
- feat: add custom icon boilerplate; add iconify library by @Aztriltus in AfterClass-io/afterclass.io-v2#15
- feat: input component by @Aztriltus in AfterClass-io/afterclass.io-v2#19
- feat: layout sidebar by @jeromeandrewong in AfterClass-io/afterclass.io-v2#18
- feat(auth): password reset flow by @davidlhw in AfterClass-io/afterclass.io-v2#22
- feat(UI): form component by @davidlhw in AfterClass-io/afterclass.io-v2#27
- feat: button component by @Aztriltus in AfterClass-io/afterclass.io-v2#29
- feat(auth): login flow by @davidlhw in AfterClass-io/afterclass.io-v2#37
- feat(auth): ui for signup and verify email otp by @davidlhw in AfterClass-io/afterclass.io-v2#38
- feat(db): Prisma schema and example CRUD operations by @Jaylin0312 in AfterClass-io/afterclass.io-v2#39
- feat: button ghost, disabled and loading states by @Aztriltus in AfterClass-io/afterclass.io-v2#42
- feat(ui): checkbox component by @davidlhw in AfterClass-io/afterclass.io-v2#43
- feat(ui): popover component without style by @davidlhw in AfterClass-io/afterclass.io-v2#47
- feat(ui): dialog component without style by @davidlhw in AfterClass-io/afterclass.io-v2#48
- feat(ui): command component without style by @davidlhw in AfterClass-io/afterclass.io-v2#54
- feat(ui): rating section component by @davidlhw in AfterClass-io/afterclass.io-v2#55
- feat(ui): combobox without style by @davidlhw in AfterClass-io/afterclass.io-v2#46
- feat: desktop and mobile layout component by @Aztriltus in AfterClass-io/afterclass.io-v2#57
- style: modal component by @Aztriltus in AfterClass-io/afterclass.io-v2#59
- style: popover and command by @Aztriltus in AfterClass-io/afterclass.io-v2#62
- feat(ui): tag component by @davidlhw in AfterClass-io/afterclass.io-v2#63
- feat(ui): add avatar component by @k3ithloh in AfterClass-io/afterclass.io-v2#65
- feat(ui): review item component by @davidlhw in AfterClass-io/afterclass.io-v2#64
- feat(api): reviews trpc router by @davidlhw in AfterClass-io/afterclass.io-v2#76
- feat(ui): breadcrumb component by @davidlhw in AfterClass-io/afterclass.io-v2#80
- feat(ui): ToggleGroup component by @davidlhw in AfterClass-io/afterclass.io-v2#81
- feat(ui): Textarea component by @davidlhw in AfterClass-io/afterclass.io-v2#82
- feat(ui): FilterToggleSection component by @davidlhw in AfterClass-io/afterclass.io-v2#92
- feat: validate school domain for user sign up by @Jaylin0312 in AfterClass-io/afterclass.io-v2#93
- feat(api): courses trpc router by @davidlhw in AfterClass-io/afterclass.io-v2#77
- feat(ui):
SchoolTag
component by @davidlhw in AfterClass-io/afterclass.io-v2#100 - feat(ui):
RatingGroup
component by @davidlhw in AfterClass-io/afterclass.io-v2#99 - feat(ui):
PageTitle
component by @davidlhw in AfterClass-io/afterclass.io-v2#101 - feat(ui): ReviewSection component by @jeromeandrewong in AfterClass-io/afterclass.io-v2#104
- feat(ui):
TagGroup
component by @davidlhw in AfterClass-io/afterclass.io-v2#105 - feat: Email verification after sign up by @Jaylin0312 in AfterClass-io/afterclass.io-v2#103
- feat(ui): select component by @davidlhw in AfterClass-io/afterclass.io-v2#110
- feat(ui): review home page integration by @davidlhw in AfterClass-io/afterclass.io-v2#111
- feat: add course router query by prof slug by @davidlhw in AfterClass-io/afterclass.io-v2#123
- feat: add review router query by prof slug by @davidlhw in AfterClass-io/afterclass.io-v2#122
- feat(ui): loading skeleton ui by @davidlhw in AfterClass-io/afterclass.io-v2#119
- feat: routers for professor and reviews by @davidlhw in AfterClass-io/afterclass.io-v2#121
- feat(ui) professor page integration by @davidlhw in AfterClass-io/afterclass.io-v2#126
- feat(auth): authenticate user with existing v1 credentials by @davidlhw in AfterClass-io/afterclass.io-v2#128
- feat(ui): home page review section implementation by @davidlhw in AfterClass-io/afterclass.io-v2#137
- feat(UI): Course Page Integration by @Jaylin0312 in AfterClass-io/afterclass.io-v2#133
- feat(UI): Course Page Info Card by @Jaylin0312 in AfterClass-io/afterclass.io-v2#146
- feat(UI): Course Page Detail Card by @Jaylin0312 in AfterClass-io/afterclass.io-v2#147
- feat: create user on first login if not exist by @davidlhw in AfterClass-io/afterclass.io-v2#136
- feat: review submission flow by @davidlhw in AfterClass-io/afterclass.io-v2#108
- refactor(ui): make main content scrollable without scrolling header by @davidlhw in AfterClass-io/afterclass.io-v2#150
- feat: add favicon and og image by @jeromeandrewong in AfterClass-io/afterclass.io-v2#155
- feat(ui): search ui flow by @davidlhw in AfterClass-io/afterclass.io-v2#152
- fix(#97): checkbox storybook not rendering correctly on local dev by @davidlhw in AfterClass-io/afterclass.io-v2#98
- fix: svg tsx props by @davidlhw in AfterClass-io/afterclass.io-v2#116
- fix: explicit redirect to login instead of root by @davidlhw in AfterClass-io/afterclass.io-v2#132
- fix: close button autofocus instead of input on open modal by @davidlhw in AfterClass-io/afterclass.io-v2#149
- chore: migrate to app router with next@14 by @davidlhw in AfterClass-io/afterclass.io-v2#30
- feat: introduce component storybooks by @davidlhw in AfterClass-io/afterclass.io-v2#73
- feat(devtool): local development environment with docker by @davidlhw in AfterClass-io/afterclass.io-v2#75
- chore: prettier formatting & linting by @Jaylin0312 in AfterClass-io/afterclass.io-v2#107
- chore: remove dev-only components page by @davidlhw in AfterClass-io/afterclass.io-v2#120
- fix: remove migration files by @Jaylin0312 in AfterClass-io/afterclass.io-v2#145
- refactor(ui): minor ui changes for command, modal and field components by @davidlhw in AfterClass-io/afterclass.io-v2#151
- feat: automatically generate release notes with changelog by @Jaylin0312 in AfterClass-io/afterclass.io-v2#156
- docs: github community standard by @davidlhw in AfterClass-io/afterclass.io-v2#154
- @Aztriltus made their first contribution in AfterClass-io/afterclass.io-v2#3
- @davidlhw made their first contribution in AfterClass-io/afterclass.io-v2#4
- @jeromeandrewong made their first contribution in AfterClass-io/afterclass.io-v2#10
- @Jaylin0312 made their first contribution in AfterClass-io/afterclass.io-v2#39
- @k3ithloh made their first contribution in AfterClass-io/afterclass.io-v2#65
Full Changelog: https://github.com/AfterClass-io/afterclass.io-v2/commits/v0.1.0