Commit Graph

680 Commits

Author SHA1 Message Date
d0118eca65 refactor(playground): migrate problem description to client component 2025-03-24 10:33:14 +08:00
288a3cc4c5 feat(playground): include full problem data in provider 2025-03-24 10:32:20 +08:00
0c9ad2b8b0 refactor(mdx-preview): use MdxComponents and add className prop 2025-03-24 10:31:09 +08:00
7a0a13aa97 feat(hook): add problem field to useProblem hook 2025-03-24 10:29:46 +08:00
dcb666c12d feat(problem-store-provider): pass problem data to ProblemStoreProvider 2025-03-24 10:28:58 +08:00
2a90162c73 feat(problem-store): add problem field to ProblemState 2025-03-24 10:28:16 +08:00
c97613ac1d refactor(problem-editor): rename CodeEditor to ProblemEditor 2025-03-23 23:55:11 +08:00
9e4bcfaf96 refactor(lsp-status-button): update LSP status logic to use WebSocket state 2025-03-23 23:53:07 +08:00
09a8276d39 refactor(problem-editor): modify LSP connection logic to manage WebSocket state 2025-03-23 23:51:58 +08:00
1796d21a09 refactor(language-server): modify connectToLanguageServer to return both client and webSocket 2025-03-23 23:51:12 +08:00
f246ff1a6d feat(use-problem): integrate WebSocket into problem hook 2025-03-23 23:49:34 +08:00
cea8748a4e feat(problem-store-provider): update to include WebSocket in provider state 2025-03-23 23:48:19 +08:00
3fbec8cd24 feat(problem-store): add WebSocket to store and update actions 2025-03-23 23:47:36 +08:00
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
3fefee674b chore(prisma): apply migration to remove TEACHER and STUDENT roles 2025-03-21 11:18:44 +08:00
190431ece6 chore(prisma): remove TEACHER and STUDENT roles 2025-03-21 11:11:24 +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