a8e243204b
feat(layout): refactor problem layout to use DockView for organizing content sections
2025-04-04 18:13:14 +08:00
2f1a9767f1
feat(dockview): add Dockview component and panel layout management
2025-04-04 14:03:05 +08:00
ba11f1d5ba
style(layout): update html and body class names for full-height layout
2025-04-04 13:36:34 +08:00
d61f3d9b0c
refactor(styles): rename style folder to styles
2025-04-04 13:00:36 +08:00
30fd6fd386
refactor(actions): move actions from @/app/actions to @/actions
2025-04-04 10:04:38 +08:00
901e2aa487
feat(admin/problemset): add new problem creation pages
2025-04-02 09:29:18 +08:00
623e4929ac
feat(admin/problemset): add Zustand store for new problem state
2025-04-02 09:28:09 +08:00
74e85edd33
feat(admin/problemset): add schema definition for new problem
2025-04-02 09:27:05 +08:00
1875e98106
feat(problemset/table): wrap Add Problem
button with Next.js Link
2025-04-02 08:38:51 +08:00
548f0b7184
feat(components/ui): add Switch component from shadcn/ui
2025-04-01 17:33:09 +08:00
750fb74653
chore(imports): update imports to use @/generated/client instead of @prisma/client
2025-04-01 11:46:25 +08:00
f16363ae72
feat(auth): enable GitHub dangerous email account linking
2025-04-01 00:12:58 +08:00
aa9d6d5586
feat(judge): add stdin support with test cases and default timeLimit
2025-03-31 22:07:02 +08:00
7f3ac2e0ec
style(problemset): refine table row styles for better UI consistency
2025-03-31 22:02:49 +08:00
653402614a
feat(admin/problemset): add problem list table with Prisma query
2025-03-31 21:39:18 +08:00
ce41afa383
feat(admin/problemset): add interactive problemset data table
...
- Implement responsive data table with TanStack React Table
- Add dynamic filtering for difficulty and search
- Support server-side pagination controls
- Include row selection and batch delete functionality
- Add column visibility toggling
- Style table with custom hover states and accessibility features
2025-03-31 21:28:28 +08:00
139c0ba76d
feat(components/ui): add Table component from shadcn/ui
2025-03-30 21:08:03 +08:00
6ab3e16598
refactor(utils): move getDifficultyColor function
2025-03-30 21:04:23 +08:00
daa7775862
chore(sidebar): simplify navigation structure
2025-03-30 20:51:38 +08:00
99f6696fa2
feat(nav-main): refactor sidebar menu to handle items without submenus
2025-03-30 20:43:12 +08:00
25920fcb68
feat(utils): add difficulty color utility and update type imports
2025-03-30 20:30:58 +08:00
192d882fdd
fix(banner): update component to use 'flex-none' for flexbox layout
2025-03-30 20:21:59 +08:00
452174a946
chore(editor): update Monaco Editor configuration for improved UX
2025-03-28 15:45:15 +08:00
d859796755
refactor(theme): update Monaco theme configuration to use default light and dark themes
2025-03-28 13:08:14 +08:00
33e19d3318
fix(form): show error message when input is empty before submitting form
2025-03-28 10:42:59 +08:00
e490f1bcea
fix(video-embed): refactor URL generation and prevent Bilibili autoplay
2025-03-28 10:38:46 +08:00
95eed59c26
feat(ai-bot): add Ctrl+Enter support and tooltip for message submission
2025-03-27 15:17:36 +08:00
869957de19
feat(mdx-components): add VideoEmbed component to MDX components map
2025-03-27 14:06:04 +08:00
535d8ec51a
feat(mdx/content): add component for embedding YouTube and Bilibili videos
2025-03-27 14:05:16 +08:00
a86a42a483
feat(mdx-components): add AccordionComponent to MdxComponents
2025-03-27 13:33:36 +08:00
671f29b66a
feat(mdx/content): add AccordionComponent for collapsible sections with lightbulb icon
2025-03-27 13:33:01 +08:00
fbe0ef63d8
refactor(playground): simplify chat layout and unify scroll area styles
2025-03-26 22:57:16 +08:00
4ec1943738
fix(chat-bubble): adjust message padding and layout styles
2025-03-26 22:51:03 +08:00
2605b211bc
feat(pre): add horizontal scrolling support for code blocks
2025-03-26 22:48:46 +08:00
793db58e36
feat(mdx): add scroll support for tables
2025-03-26 22:48:00 +08:00
9e634853e8
fix(styles): remove default margin from markdown figures
2025-03-26 19:50:40 +08:00
b6f16becda
feat(docker): support remote Docker client configuration
2025-03-26 14:49:27 +08:00
b9c843e33e
chore(metadata): rename project to Judge4c and update description
2025-03-25 22:01:12 +08:00
d31edbaf08
refactor(playground): remove generateStaticParams function
2025-03-25 21:02:09 +08:00
1de4396eaa
feat(workspace-editor-footer): add error and warning marker count
2025-03-25 13:18:41 +08:00
4736f77cbf
fix(problem-editor): add editor validation handling
2025-03-25 13:08:29 +08:00
a55ef88745
feat(hook): add markers state and setter to useProblem hook
2025-03-25 13:05:22 +08:00
a7d0bc54bc
feat(provider): initialize markers in problem store provider
2025-03-25 13:03:40 +08:00
2c013097a8
feat(problem-store): add markers to problem store state and actions
2025-03-25 13:01:34 +08:00
315a33bd95
fix(ai-bot): correct bot name from "Asi" to "Ask"
2025-03-25 12:22:17 +08:00
99f8407e2a
feat(ai-bot): add empty state UI and improve message handling
2025-03-25 10:29:25 +08:00
d560904779
feat(api/chat): add OpenAI-based chat route with sarcastic AI personality
2025-03-25 10:03:04 +08:00
7d73118759
feat(ai-bot): enhance AI chat with code integration and optimizations
2025-03-25 00:27:56 +08:00
ef37451313
chore(ui): add eslint-disable for unused variables in ChatMessageList
2025-03-24 21:27:12 +08:00
c0783f0648
chore(ui): add eslint-disable for empty object type in ChatInputProps
2025-03-24 21:26:47 +08:00
cbe8ff9941
feat(ai-bot): integrate problem data into AI bot page initialization
2025-03-24 21:24:20 +08:00
8d8b6666b4
feat(playground): add AI chat interface for bot
2025-03-24 19:58:48 +08:00
c7e2b59ddf
feat(playground): add AI bot layout with suspense fallback
2025-03-24 19:57:07 +08:00
6f26be6119
feat(playground): add AI layout with bot tab
2025-03-24 19:56:06 +08:00
da92cd49bc
feat(playground): add AI panel to problem layout
2025-03-24 19:55:17 +08:00
599d44b341
refactor(globals): migrate global styles to components and adjust layout
2025-03-24 13:57:26 +08:00
378d568694
fix(toast): update ExitCodeToast styling and layout
2025-03-24 13:08:21 +08:00
2b4a4b527e
feat(cli): add all components with shadcn-chat-cli
2025-03-24 11:38:00 +08:00
cc3fb8afc4
feat(playground): add generateStaticParams for problem static generation
2025-03-24 11:28:40 +08:00
45cbbc2978
refactor(PlaygroundLayout): separate templates from problemData
2025-03-24 10:39:56 +08:00
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
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