|
6df93de3ca
|
feat(header): add LSP status button to workspace header
|
2025-03-23 22:05:59 +08:00 |
|
|
cd5f3c88dc
|
refactor(problem-editor): optimize event handlers with useCallback
|
2025-03-23 21:03:53 +08:00 |
|
|
4842c9302c
|
feat(problem-editor): add LSP support and language client connection
|
2025-03-23 18:50:07 +08:00 |
|
|
becb48f4d7
|
feat(use-problem): add monacoLanguageClient state management
|
2025-03-23 16:59:22 +08:00 |
|
|
0e5e683ef3
|
refactor(use-problem): pass problemId to getPath function
|
2025-03-23 15:36:53 +08:00 |
|
|
b339e407cf
|
feat(utils): include problemId in getPath function
|
2025-03-23 15:34:57 +08:00 |
|
|
c5cf52168b
|
refactor(problemset): remove force-dynamic export
|
2025-03-23 14:16:57 +08:00 |
|
|
45a9950ad3
|
fix(credentials-sign-in-form): redirect to dashboard after successful sign-in
|
2025-03-22 13:49:12 +08:00 |
|
|
985da4f804
|
feat(auth): modify signIn logic to prevent redirect after credentials sign-in
|
2025-03-22 13:18:06 +08:00 |
|
|
107f5d6670
|
feat(problemset): display sequential index instead of database id
|
2025-03-22 12:30:04 +08:00 |
|
|
e5ba5dd51a
|
refactor(hooks): rename use-problem-editor.ts to use-problem.ts
|
2025-03-22 00:23:27 +08:00 |
|
|
695dabe821
|
refactor(problem-editor): rename problem-editor-provider.tsx to problem-store-provider.tsx
|
2025-03-22 00:00:49 +08:00 |
|
|
8904e13a68
|
refactor(problem-editor): replace Zustand store with useRef store
|
2025-03-21 23:59:07 +08:00 |
|
|
14bee1ade8
|
feat(store): add problem store for managing editor state
|
2025-03-21 23:58:50 +08:00 |
|
|
f43ba10a57
|
refactor(store): rename src/store to src/stores
|
2025-03-21 23:58:40 +08:00 |
|
|
69115c4ef0
|
feat(run-code): integrate exit code toast and update problem editor hook
|
2025-03-21 11:08:00 +08:00 |
|
|
b46a603f62
|
feat(toast): add custom exit code toast component with icons and messages
|
2025-03-21 11:07:10 +08:00 |
|
|
b19692ee4f
|
feat(problem-editor): add MonacoLanguageClient to problem editor state
|
2025-03-20 16:44:34 +08:00 |
|
|
321a712bf9
|
feat(playground-layout): integrate problem data fetching and editor configuration
|
2025-03-20 16:12:23 +08:00 |
|
|
d79b88e0b6
|
refactor(page): simplify WorkspaceEditorPage by removing unnecessary database queries and state management
|
2025-03-20 16:10:11 +08:00 |
|
|
ceee810e14
|
refactor(page): update import paths for WorkspaceEditorHeader and WorkspaceEditorFooter
|
2025-03-20 15:58:05 +08:00 |
|
|
91d9344bc9
|
refactor(header): update import style for RunCode component
|
2025-03-20 15:51:59 +08:00 |
|
|
bb8d893419
|
chore(store): remove useCodeEditorStore.ts
|
2025-03-20 15:47:18 +08:00 |
|
|
bc541fc605
|
refactor(header): convert default exports to named exports for buttons and language selector
|
2025-03-20 15:46:09 +08:00 |
|
|
547c458a20
|
refactor(redo-button): replace useCodeEditorStore with useProblemEditor in RedoButton component
|
2025-03-20 15:43:14 +08:00 |
|
|
5db172fce3
|
feat(LanguageSelector): add loading state for hydration
|
2025-03-20 15:41:46 +08:00 |
|
|
7051f57204
|
refactor(WorkspaceEditorFooter): replace useCodeEditorStore with useProblemEditor
|
2025-03-20 15:39:10 +08:00 |
|
|
00f83d69f1
|
refactor(ResetButton): replace useCodeEditorStore with useProblemEditor
|
2025-03-20 15:35:53 +08:00 |
|
|
0ae01d35bc
|
feat(UndoButton): replace useCodeEditorStore with useProblemEditor
|
2025-03-20 15:34:45 +08:00 |
|
|
a6595c51db
|
feat(format-button): switch to useProblemEditor hook for editor state
|
2025-03-20 15:28:44 +08:00 |
|
|
12d0eed66a
|
feat(copy-button): update to use useProblemEditor hook for editor state
|
2025-03-20 15:26:33 +08:00 |
|
|
74c8175153
|
feat(editor): refactor code editor component to problem editor
|
2025-03-20 15:15:37 +08:00 |
|
|
cc76648437
|
refactor(useProblemEditor): update hooks to support language-specific localStorage keys
|
2025-03-20 15:11:23 +08:00 |
|
|
458bdfbf42
|
fix(useMonacoTheme): return theme ID instead of the full theme object
|
2025-03-20 14:47:16 +08:00 |
|
|
783b8415ea
|
refactor(editor): integrate ProblemEditorProvider for workspace editor
|
2025-03-20 14:44:17 +08:00 |
|
|
fae504b35d
|
chore(components): remove unused core-editor component
|
2025-03-20 14:42:45 +08:00 |
|
|
9814358637
|
feat(problem-editor): add hydration state for better rehydration handling
|
2025-03-20 14:40:09 +08:00 |
|
|
7a29d751d3
|
chore(store): delete unused useProblemEditorStore.ts file
|
2025-03-20 14:19:23 +08:00 |
|
|
d2bafafc14
|
refactor(problem-editor-provider): Add editor state and actions
|
2025-03-20 14:18:15 +08:00 |
|
|
69dfb8cb12
|
refactor(useProblemEditor): refactor to use useProblemEditorStore for state management
|
2025-03-20 14:15:37 +08:00 |
|
|
298d2c1c86
|
refactor(WorkspaceEditorHeader): remove unused props and simplify component
|
2025-03-20 13:30:42 +08:00 |
|
|
6bd3a44d8d
|
refactor(language-selector): update to use useProblemEditor hook
|
2025-03-20 13:25:47 +08:00 |
|
|
a44826990c
|
refactor(hooks): improve useProblemEditor state management and persistence
|
2025-03-20 13:08:00 +08:00 |
|
|
2d83d3f143
|
feat(providers): add ProblemEditorProvider context for state management
|
2025-03-20 13:05:51 +08:00 |
|
|
8290634afd
|
fix(utils): update function to use fileName instead of language
|
2025-03-19 18:18:44 +08:00 |
|
|
1c0ffb8cda
|
feat(hooks): add useProblemEditor hook for managing problem-specific editor language
|
2025-03-19 15:14:11 +08:00 |
|
|
71227b0890
|
feat(store): add problem editor state management with zustand
|
2025-03-19 15:13:34 +08:00 |
|
|
154b66d524
|
refactor(hooks): rename monacoTheme to currentTheme in useMonacoTheme
|
2025-03-19 14:58:11 +08:00 |
|
|
24b5d96913
|
feat(core-editor): Add CoreEditor component with Monaco Editor integration
|
2025-03-19 13:18:00 +08:00 |
|
|
8ab8892388
|
fix(auth): improve credential validation and password verification
|
2025-03-19 08:34:15 +08:00 |
|
|
919016cf27
|
fix(auth): update error message for sign-in and sign-up functions
|
2025-03-18 23:24:36 +08:00 |
|
|
0e16b9ff6c
|
feat(credentials-sign-up-form): add user registration with transition and toast notifications
|
2025-03-18 22:52:00 +08:00 |
|
|
7ecef7679f
|
feat(credentials-sign-in-form): add loading state, error handling, and navigation after sign in
|
2025-03-18 22:50:59 +08:00 |
|
|
bef8dcee44
|
feat(auth): enhance signIn and signUp with error handling and form value types
|
2025-03-18 22:50:06 +08:00 |
|
|
c9c07664cf
|
feat(layout): update Toaster position to top-right
|
2025-03-18 22:49:06 +08:00 |
|
|
a33bf167d4
|
rename(components): update file names for consistency
|
2025-03-18 22:14:12 +08:00 |
|
|
63c0656f25
|
feat(auth): assign ADMIN role to the first user on sign up
|
2025-03-18 21:53:59 +08:00 |
|
|
e25a97d698
|
feat(auth): add event to assign ADMIN role to the first user
|
2025-03-18 21:53:12 +08:00 |
|
|
b55ed07004
|
fix(Loading): update loading state rendering with skeletons for better UX
|
2025-03-18 19:49:03 +08:00 |
|
|
91ce73d72b
|
feat(Loading): add skeletonClassName prop to customize Skeleton style
|
2025-03-18 19:46:19 +08:00 |
|
|
6c53c5ee32
|
refactor(page): replace accordion structure with LanguageServerAccordion component
|
2025-03-18 19:37:30 +08:00 |
|
|
bd085751b6
|
feat(component): add LanguageServerAccordion for language server settings
|
2025-03-18 19:36:36 +08:00 |
|
|
1acd915459
|
feat(store): add useAdminSettingsStore for managing admin settings
|
2025-03-18 19:34:45 +08:00 |
|
|
449dfd56f2
|
refactor(loading): add className prop and support additional props
|
2025-03-18 19:34:00 +08:00 |
|
|
7eb6eedf22
|
feat(settings): add Suspense with Loading fallback in language server layout
|
2025-03-18 19:33:14 +08:00 |
|
|
ceb01aec59
|
feat(dashboard): add admin dashboard page
|
2025-03-18 14:58:19 +08:00 |
|
|
2248645a38
|
feat(sidebar): update navigation links for settings page
|
2025-03-18 14:53:12 +08:00 |
|
|
827fb26966
|
feat(language-server): add settings page for language server configuration
|
2025-03-18 14:45:45 +08:00 |
|
|
06c711bdaf
|
feat(form): add language-server form for settings
|
2025-03-18 14:43:48 +08:00 |
|
|
494b899f09
|
feat(actions): add language server configuration handling
|
2025-03-18 14:33:51 +08:00 |
|
|
6ec039eeb5
|
feat(admin): add language server settings layout
|
2025-03-18 11:01:35 +08:00 |
|
|
168df31fad
|
refactor(admin): replace breadcrumb with Navbar in dashboard layout
|
2025-03-18 10:40:03 +08:00 |
|
|
0dec1e5697
|
feat(navbar): add breadcrumb navigation component
|
2025-03-18 10:36:26 +08:00 |
|
|
047cd04ea3
|
feat(components/ui): add Accordion component from shadcn/ui
|
2025-03-17 20:21:20 +08:00 |
|
|
6a4855086e
|
feat(component/ui): add Textarea component from shadcn/ui
|
2025-03-17 17:57:20 +08:00 |
|
|
f266d9cdf7
|
feat(dashboard): remove guest prop and return notFound for non-ADMIN users
|
2025-03-17 12:06:48 +08:00 |
|
|
4ef120178c
|
fix(nav-main): concatenate base URL with sub-item URL
|
2025-03-17 11:58:51 +08:00 |
|
|
b403a0f977
|
refactor(components): extract NavUserProps and NavMainProps type and optimize type definitions
|
2025-03-17 11:35:05 +08:00 |
|
|
cb966297e1
|
refactor(app-sidebar): support external user prop and remove internal user data
|
2025-03-17 10:45:23 +08:00 |
|
|
36c6dd138f
|
feat(dashboard): add layout component for dashboard
|
2025-03-17 10:07:00 +08:00 |
|
|
a5faab67c5
|
feat(components/ui): add Sidebar-07 component from shadcn/ui
|
2025-03-16 20:31:21 +08:00 |
|
|
aa10163c51
|
feat(code-editor): update component to set path based on language configuration
|
2025-03-16 20:00:55 +08:00 |
|
|
af0ece8952
|
feat(judge): integrate Prisma for editor language configurations
|
2025-03-16 19:32:34 +08:00 |
|
|
0cb5484fbd
|
chore(store): update result type and remove unused imports
|
2025-03-16 19:31:05 +08:00 |
|
|
2d4abc5141
|
chore(types): delete src/types/judge.ts file
|
2025-03-16 19:28:52 +08:00 |
|
|
f34a01e8f5
|
feat(judge): remove unused judge configuration file
|
2025-03-16 17:07:24 +08:00 |
|
|
f3b9ae64f4
|
feat(code-editor): refactor to support dynamic language and LSP configuration
|
2025-03-16 16:36:02 +08:00 |
|
|
332e019e70
|
feat(workspace/editor): add language server config support and optimize data fetching logic
|
2025-03-16 16:24:58 +08:00 |
|
|
4dc3b44bf0
|
feat(workspace-editor): add languageServerConfigs support to WorkspaceEditorHeader
|
2025-03-16 16:06:33 +08:00 |
|
|
004bdb510b
|
feat(language-selector): update to support multiple language server configurations
|
2025-03-16 15:59:59 +08:00 |
|
|
acfeee5a26
|
refactor(language-server): replace EditorLanguageMetadata with EditorLanguageConfig and LanguageServerConfig for better type safety
|
2025-03-16 15:49:46 +08:00 |
|
|
31c5d86f2c
|
chore(store): update CodeEditorStore for LSP config changes
|
2025-03-16 15:40:00 +08:00 |
|
|
ff8eff5891
|
chore(config, types): remove deprecated language server and editor language files
|
2025-03-16 15:39:07 +08:00 |
|
|
c1999bd386
|
refactor(utils): update getPath function to use EditorLanguageConfig from Prisma
|
2025-03-16 15:36:54 +08:00 |
|
|
07ffcf439b
|
refactor(code-editor-store): replace DefaultEditorLanguageConfig with DEFAULT_EDITOR_LANGUAGE constant
|
2025-03-16 14:28:25 +08:00 |
|
|
b0bb5b5250
|
feat(editor-language): simplify language configuration to a constant
|
2025-03-16 14:27:28 +08:00 |
|
|
ee4020f50f
|
feat(workspace): pass editorLanguageConfigs to LanguageSelector and WorkspaceEditorHeader
|
2025-03-16 14:18:14 +08:00 |
|
|
b0e00e7d69
|
feat(language-selector): integrate icons for languages in language selector
|
2025-03-16 13:33:16 +08:00 |
|
|
02f4fc1c3f
|
feat(config): add mapping for EditorLanguage to icons
|
2025-03-16 13:31:08 +08:00 |
|
|
82d85d3b31
|
refactor(config): remove icon property from EditorLanguageConfig
|
2025-03-16 13:24:06 +08:00 |
|
|
939cd4b2f0
|
refactor(types): remove icon property from EditorLanguageMetadata type
|
2025-03-16 13:23:32 +08:00 |
|
|
d1188f5ea6
|
chore(components): move features to components/features
|
2025-03-16 12:05:59 +08:00 |
|
|
db4bc0dc73
|
chore(config): remove problem folder
|
2025-03-15 22:35:15 +08:00 |
|
|
672b627ed1
|
chore(app): remove playground folder
|
2025-03-15 22:34:23 +08:00 |
|
|
3e4c58d953
|
refactor(AuthLayout): replace <a> with <Link> for better navigation
|
2025-03-15 00:11:51 +08:00 |
|
|
740bc1e00b
|
feat(problemset): optimize database query by selecting specific fields
|
2025-03-14 18:59:44 +08:00 |
|
|
cd50e73fc9
|
refactor(auth): extract saltRounds constant
|
2025-03-14 17:15:38 +08:00 |
|
|
116519a70b
|
feat(auth): refactor sign up and sign in forms with react-hook-form and zod validation
|
2025-03-14 17:08:11 +08:00 |
|
|
468e72e9a8
|
feat(auth): add sign up and sign in functions with credentials
|
2025-03-14 17:06:19 +08:00 |
|
|
abae72118a
|
feat(components/ui): add Form component from shadcn/ui
|
2025-03-14 15:55:37 +08:00 |
|
|
0215644e6c
|
refactor(auth): extract credentials sign-in and sign-up forms into separate components
|
2025-03-14 15:54:32 +08:00 |
|
|
5f49d6841e
|
feat(layout): add Sonner Toaster for toast notifications
|
2025-03-14 15:36:29 +08:00 |
|
|
18d9b28e1e
|
feat(components/ui): add Sonner component from shadcn/ui
|
2025-03-14 15:33:07 +08:00 |
|
|
907d108714
|
feat(auth): implement custom credentials provider with session management
|
2025-03-14 14:39:26 +08:00 |
|
|
bfaaf25732
|
feat(auth): add layout for authentication pages with redirect logic
|
2025-03-14 14:38:51 +08:00 |
|
|
2d872da445
|
feat(auth): add sign-in and sign-up pages
|
2025-03-14 14:37:32 +08:00 |
|
|
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 |
|
|
17dd98c78c
|
refactor(utils): remove type annotation from getPath function
|
2025-03-14 11:04:12 +08:00 |
|
|
e2dce21261
|
feat(components/ui): add Label component from shadcn/ui
|
2025-03-14 10:11:22 +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 |
|
|
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 |
|
|
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 |
|
|
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 |
|