Commit Graph

293 Commits

Author SHA1 Message Date
f39bbf76e7 feat(submissions): add login requirement for submissions page
- Add SubmissionLoginButton component for unauthenticated users
- Modify submissions page to check auth session
- Filter submissions by current user when logged in
2025-04-17 09:31:04 +08:00
30ee16fbf0 style(problem): adjust problem layout styles 2025-04-17 07:44:41 +08:00
569beb0b36 feat(layout): add layout with suspense boundary for problem 2025-04-16 18:05:55 +08:00
a7ddd80d09 perf(problemset): add prefetch to problem links for faster navigation 2025-04-16 17:04:28 +08:00
4428a29306 refactor(i18n): replace hardcoded texts with i18n message keys 2025-04-15 18:22:21 +08:00
30922a25bb feat(i18n): integrate next-intl and dynamic locale support in RootLayout 2025-04-14 22:43:27 +08:00
5465450143 feat(auth): update sign-in and sign-up flow with redirect support 2025-04-14 21:27:06 +08:00
c540a04c36 feat(problemset): add status icons for problem set page, support completed and attempted states 2025-04-14 17:35:31 +08:00
0694e4dea0 feat(problemset): add completion status indicator for problems 2025-04-14 17:22:01 +08:00
69d03f89da refactor(problem): remove TestResult tab and adjust tab positions 2025-04-14 16:25:10 +08:00
d58723bd47 delete(features): remove src/app/(app)/problems/[id]/features folder 2025-04-14 16:22:10 +08:00
207697c592 feat(submission-details): display last failed test case details and error messages 2025-04-14 15:38:02 +08:00
675c828fe2 feat(submissions): include detailed testcase data in problem submissions query 2025-04-14 15:30:59 +08:00
fbf563dfdf refactor(details): move panel cleanup logic into useEffect 2025-04-14 10:40:08 +08:00
2d06b778e6 feat(problems): add Details panel for submission details view
- Add new Details component to display submission details
- Modify ProblemLayout and ProblemPage to support Details panel
- Implement Details page with submission code view and metadata
- Add navigation back to Submissions panel
2025-04-13 22:42:08 +08:00
105802a209 feat(problem): add parallel routes 2025-04-13 12:06:08 +08:00
a559c326a8 feat(problem): refactor layout and page components
- Refactored `ProblemLayout` to pass panel components (Description, Solutions, etc.) as props.
- Updated `ProblemPage` to dynamically render dock panels with content from props, instead of static components.
- Removed `DefaultDockviewOptions` and integrated custom panel configuration directly in `ProblemPage`.
- Enhanced `DockView` to support dynamic panel content rendering based on passed props.
2025-04-13 11:56:01 +08:00
d9d9db16fe refactor(bot): simplify layout and improve UI rendering in Bot component 2025-04-12 13:17:48 +08:00
3b1c2fc41b refactor(problem): replace inline dockview options with default config 2025-04-12 10:47:23 +08:00
7963d38388 feat(submissions): add submissions table component and display on problem page
- Added `SubmissionsTable` component to display submissions (including status, language, time, memory, and submission date).
- Updated `Submissions` page to render `SubmissionsTable` with submissions data from `ProblemStore`.
- Improved table sorting and date display logic.
2025-04-11 17:44:45 +08:00
82b0705bdb feat(problem-store): add submissions to problem store state and provider
- Added `submissions` field to `ProblemState` and `ProblemStore` type
- Updated `createProblemStore` function to handle `submissions`
- Modified `ProblemStoreProvider` to pass `submissions` as a prop
- Updated `ProblemLayout` to fetch `submissions` from the database and pass to the provider
2025-04-11 17:42:52 +08:00
10c1716019 style(bot): simplify layout and optimize className order 2025-04-10 10:44:39 +08:00
2f2c8ab112 refactor(problems): improve testcase scroll layout using ScrollArea 2025-04-10 10:41:36 +08:00
3f10c08a6c feat(testcase): add dynamic testcase card and form for problem view 2025-04-09 21:26:06 +08:00
f1f2a70c0e refactor(problem-store): consolidate problem data structure into ProblemWithDetails 2025-04-09 20:38:53 +08:00
a02335b255 feat(problem-store): add testcases to store state and provider 2025-04-09 19:41:55 +08:00
cb940f8608 refactor(problemset): simplify layout by removing Suspense wrapper 2025-04-08 19:15:06 +08:00
3e5e2d2a62 feat(dockview): support dynamic Lucide icons via string in tab headers 2025-04-07 10:32:58 +08:00
9a51c1547f feat(problems): add inactive state to dockview panels 2025-04-06 20:38:51 +08:00
01b19eadde feat(problem): enhance panels with icons using Lucide-react 2025-04-06 18:17:58 +08:00
4c120388ab feat(problem): add ProblemPage with DockView layout 2025-04-06 17:34:07 +08:00
9598430c9a refactor(layout): use children prop instead of individual panel components 2025-04-06 15:58:12 +08:00
8d7d88511e refactor(app/problems/[id]): restructure components into features directory with index exports 2025-04-06 15:46:43 +08:00
787f91b743 style(problemset): increase odd row background opacity in tables 2025-04-05 23:34:48 +08:00
ba676b3213 feat(problem): add Bot panel and adapt to new dockview API 2025-04-05 18:03:36 +08:00
6c34fa0171 refactor(problems): restructure bot parallel routing 2025-04-05 16:21:35 +08:00
0d074a556d feat(store): add hydration logic and state management to new problem store 2025-04-04 21:13:12 +08:00
a8e243204b feat(layout): refactor problem layout to use DockView for organizing content sections 2025-04-04 18:13:14 +08:00
ba11f1d5ba style(layout): update html and body class names for full-height layout 2025-04-04 13:36:34 +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
750fb74653 chore(imports): update imports to use @/generated/client instead of @prisma/client 2025-04-01 11:46:25 +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
6ab3e16598 refactor(utils): move getDifficultyColor function 2025-03-30 21:04:23 +08:00
33e19d3318 fix(form): show error message when input is empty before submitting form 2025-03-28 10:42:59 +08:00
95eed59c26 feat(ai-bot): add Ctrl+Enter support and tooltip for message submission 2025-03-27 15:17:36 +08:00
fbe0ef63d8 refactor(playground): simplify chat layout and unify scroll area styles 2025-03-26 22:57:16 +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
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
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
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
c97613ac1d refactor(problem-editor): rename CodeEditor to ProblemEditor 2025-03-23 23:55:11 +08:00
c5cf52168b refactor(problemset): remove force-dynamic export 2025-03-23 14:16:57 +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
f43ba10a57 refactor(store): rename src/store to src/stores 2025-03-21 23:58:40 +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
783b8415ea refactor(editor): integrate ProblemEditorProvider for workspace editor 2025-03-20 14:44:17 +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
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
63c0656f25 feat(auth): assign ADMIN role to the first user on sign up 2025-03-18 21:53:59 +08:00
b55ed07004 fix(Loading): update loading state rendering with skeletons for better UX 2025-03-18 19:49:03 +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
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
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
f266d9cdf7 feat(dashboard): remove guest prop and return notFound for non-ADMIN users 2025-03-17 12:06:48 +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
af0ece8952 feat(judge): integrate Prisma for editor language configurations 2025-03-16 19:32:34 +08:00
332e019e70 feat(workspace/editor): add language server config support and optimize data fetching logic 2025-03-16 16:24:58 +08:00