|
095af823e4
|
feat(auth): add sign-in and sign-up forms with GitHub sign-in option
|
2025-03-14 14:36:35 +08:00 |
|
|
eadd276c29
|
feat(auth): add GitHubSignIn component
|
2025-03-14 14:35:07 +08:00 |
|
|
47c219bc4a
|
refactor(avatar-button): replace sign-in handler with redirect to /sign-in
|
2025-03-14 14:34:05 +08:00 |
|
|
e6e5ea98ea
|
feat(auth): add validation schema using Zod
|
2025-03-14 14:22:58 +08:00 |
|
|
3cff6624c8
|
chore(deps): add uuid package
|
2025-03-14 14:18:09 +08:00 |
|
|
17dd98c78c
|
refactor(utils): remove type annotation from getPath function
|
2025-03-14 11:04:12 +08:00 |
|
|
f9ed3b4e39
|
chore(deps): add @types/bcrypt package
|
2025-03-14 11:03:06 +08:00 |
|
|
e2dce21261
|
feat(components/ui): add Label component from shadcn/ui
|
2025-03-14 10:11:22 +08:00 |
|
|
015f46f873
|
chore(deps): add bcrypt and zod packages
|
2025-03-14 09:56:51 +08:00 |
|
|
dbc1e8b814
|
chore(prisma): run migration for credentials-based auth changes
|
2025-03-14 00:18:56 +08:00 |
|
|
eac20c8882
|
feat(prisma): allow nullable email/name and add password field in User model
|
2025-03-14 00:17:29 +08:00 |
|
|
60aef705d5
|
refactor(editor): replace loading skeleton with custom Loading component
|
2025-03-13 11:44:14 +08:00 |
|
|
2f037f8a78
|
feat(layout): add Suspense with fallback loading for problemset layout
|
2025-03-13 11:24:24 +08:00 |
|
|
b78547a992
|
feat(run-code): add tooltip to button for better UX
|
2025-03-13 10:48:01 +08:00 |
|
|
574a98e58e
|
chore(auth): move auth.ts to src/lib directory
|
2025-03-12 22:46:01 +08:00 |
|
|
c6cba8f504
|
feat(playground-header): replace SettingsButton with AvatarButton
|
2025-03-12 21:17:50 +08:00 |
|
|
e6b4be4758
|
feat(problemset-layout): add AvatarButton to problemset layout
|
2025-03-12 21:17:14 +08:00 |
|
|
171ee8abdc
|
refactor(settings-button): update to use dropdown menu item instead of button
|
2025-03-12 21:15:44 +08:00 |
|
|
d0235b0989
|
feat(avatar-button): add AvatarButton component with login/logout functionality
|
2025-03-12 21:14:18 +08:00 |
|
|
2679f52066
|
feat(RootLayout): add SettingsDialog component
|
2025-03-12 17:38:33 +08:00 |
|
|
118b96a7a8
|
fix(auth): change prisma import to default export
|
2025-03-12 15:55:42 +08:00 |
|
|
012e0f7d05
|
fix(problem): remove unnecessary parseInt conversion for problem id
|
2025-03-12 15:32:14 +08:00 |
|
|
24d94f3802
|
feat(prisma): add global Prisma client instance
|
2025-03-12 15:25:31 +08:00 |
|
|
bc7b7e3b8a
|
feat(components/ui): add Avatar component from shadcn/ui
|
2025-03-12 15:19:41 +08:00 |
|
|
89d9dbd01e
|
feat(auth): add GitHub provider for authentication
|
2025-03-12 15:18:31 +08:00 |
|
|
6a0937390c
|
chore(prisma): generate migration for authentication schema changes
|
2025-03-12 15:11:05 +08:00 |
|
|
a3900d7c9c
|
feat(prisma): refactor schema to support authentication and relational data
|
2025-03-12 15:09:01 +08:00 |
|
|
256a8614e3
|
feat(auth): integrate PrismaAdapter with NextAuth for database integration
|
2025-03-12 15:07:20 +08:00 |
|
|
d3d280e618
|
refactor(prisma): replace global with globalThis for cross-platform compatibility
|
2025-03-12 15:06:08 +08:00 |
|
|
22b2824dc0
|
chore(deps): add @auth/prisma-adapter and update @prisma/client, prisma versions
|
2025-03-12 15:04:29 +08:00 |
|
|
18ab071ca6
|
feat(auth): create route.ts for NextAuth API handler
|
2025-03-12 15:02:02 +08:00 |
|
|
134cd38964
|
feat(auth): create auth.ts for authentication setup
|
2025-03-12 15:01:26 +08:00 |
|
|
78d04a34f2
|
chore(example): add AUTH_SECRET to .env.local.example
|
2025-03-12 15:00:03 +08:00 |
|
|
75c884e8cc
|
chore(deps): add next-auth@beta package
|
2025-03-12 14:59:11 +08:00 |
|
|
eab62706e0
|
feat(problemset): add dynamic rendering for ProblemsetPage
|
2025-03-12 13:57:57 +08:00 |
|
|
c58ed38c03
|
feat(problemset): add sorting by id in problemset page
|
2025-03-12 12:52:50 +08:00 |
|
|
6d61e6e783
|
refactor(header): remove state management and add back button
|
2025-03-12 12:24:53 +08:00 |
|
|
97405a8657
|
feat(components): add back button component with tooltip
|
2025-03-12 12:22:41 +08:00 |
|
|
247e54c40c
|
refactor(settings-dialog): integrate settings dialog state with store
|
2025-03-12 11:49:29 +08:00 |
|
|
83356993e9
|
refactor(settings-button): integrate settings dialog state with store
|
2025-03-12 11:48:41 +08:00 |
|
|
efa16c8b77
|
refactor(store): rename useSettingNavStore to useSettingsStore and update state structure
|
2025-03-12 11:47:31 +08:00 |
|
|
a7a50231d2
|
refactor(problems): use Suspense for lazy loading and adjust layout structure
|
2025-03-12 08:59:38 +08:00 |
|
|
ca2d663533
|
feat(playground): add min size constraints for resizable panels
|
2025-03-12 08:23:24 +08:00 |
|
|
2bc704a818
|
feat(loading): add Loading component
|
2025-03-11 22:40:21 +08:00 |
|
|
a5b5584e1c
|
feat(prisma): add initial migration
|
2025-03-11 15:53:43 +08:00 |
|
|
30ca87ac7c
|
chore(gitignore): remove prisma/migrations from ignored files
|
2025-03-11 15:52:25 +08:00 |
|
|
90e9829b79
|
chore(package): add prisma migrate deploy to postinstall script
|
2025-03-11 15:29:35 +08:00 |
|
|
6a01fed089
|
refactor(prisma): move prisma initialization to default export
|
2025-03-11 14:58:36 +08:00 |
|
|
24a1b60a8a
|
feat(workflow): split Docker build and push into separate workflows for Monaco and LSP images
|
2025-03-11 14:41:48 +08:00 |
|
|
862fbf1379
|
fix(prisma): ensure single Prisma Client instance in development
- Reference: https://www.prisma.io/docs/orm/more/help-and-troubleshooting/nextjs-help#recommended-solution
|
2025-03-11 12:47:28 +08:00 |
|