Commit Graph

757 Commits

Author SHA1 Message Date
207697c592 feat(submission-details): display last failed test case details and error messages 2025-04-14 15:38:02 +08:00
b18dedcc23 feat(judge): create testcaseResult for TLE and update relation field 2025-04-14 15:33:18 +08:00
675c828fe2 feat(submissions): include detailed testcase data in problem submissions query 2025-04-14 15:30:59 +08:00
f53807338a refactor(submission-table): switch to SubmissionWithTestcaseResult to support testcase results 2025-04-14 14:15:16 +08:00
44ec30e988 refactor(store): replace Submission with SubmissionWithTestcaseResult in dockview store 2025-04-14 14:12:15 +08:00
1ad8dbab47 feat(types/prisma): add submission and testcase result query types 2025-04-14 14:11:29 +08:00
81f89f7b16 refactor(schema): rename TestcaseResult fields to camelCase 2025-04-14 11:33:19 +08:00
fbf563dfdf refactor(details): move panel cleanup logic into useEffect 2025-04-14 10:40:08 +08:00
ce4a0e64c9 feat(store): persist submission state in dockview store 2025-04-14 10:39:06 +08:00
9b82088110 feat(judge): add language-specific compilation commands for C and C++ 2025-04-14 10:28:39 +08:00
2a4d741a76 feat(submissions): show language label alongside icon in submissions table 2025-04-14 10:26:57 +08:00
01c2cd6eef refactor(description-form): simplify form to use basic input instead of markdown editor 2025-04-13 22:45:33 +08:00
c82b75b300 feat(dockview-store): add submission state management 2025-04-13 22:44:05 +08:00
b35ef0208a feat(submissions-table): add click handler to open details panel 2025-04-13 22:43:01 +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
db620ceae3 feat(judge): add memory usage tracking for accepted solutions 2025-04-13 17:28:13 +08:00
03c47f76d2 feat(judge): set executionTime as max testcase runtime on AC 2025-04-13 13:39:36 +08:00
e7ad3a66e6 style(testcase-form): reorder input props and make inputs read-only 2025-04-13 13:22:47 +08:00
8b3faf4a42 feat(submissions): improve submission table with icons and better status display 2025-04-13 13:18:10 +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
a897e00a72 chore(dockview): remove unused Dockview configuration file
- Deleted `src/config/dockview.ts` as it was no longer needed with the refactor to support dynamic panel options.
2025-04-13 11:54:07 +08:00
54998d5c1b feat(dockview): update DockView component to support external onApiReady callback
- Removed the internal use of `useDockviewStore` for managing Dockview API state.
- Introduced `onApiReady` prop to allow external handling of the `DockviewApi` when it’s ready.
- Updated `onReady` function to invoke `onApiReady` callback with the API instance.
- Ensured backward compatibility by keeping the previous internal handling of `DockviewApi`.
2025-04-13 11:53:06 +08:00
0de139f29c refactor(bot-toggle): inline Bot panel config and remove DefaultDockviewOptions dependency 2025-04-13 11:41:58 +08:00
56782b83fc refactor(components): migrate DockView to dynamic panel/tab components with store-based API exposure and autoAdd flag 2025-04-13 11:35:29 +08:00
737965dc91 style(submissions-table): replace odd row styling with even row check logic 2025-04-13 11:23:58 +08:00
7d7e503c8e feat(judge): add revalidation for problem page after submission 2025-04-13 11:16:26 +08:00
fd50e72518 fix(prisma): rename Submission relations to submissions for consistency 2025-04-13 11:13:18 +08:00
8809dbdb1a feat(run-code): activate Submissions panel after running code 2025-04-12 13:38:57 +08:00
d9d9db16fe refactor(bot): simplify layout and improve UI rendering in Bot component 2025-04-12 13:17:48 +08:00
72a868402c feat(header): add BotVisibilityToggle to header component 2025-04-12 10:55:41 +08:00
f78196d7e0 feat(components): add bot visibility toggle component
- Added a toggle to control the visibility of the bot panel
- Implemented loading state with Skeleton component
- Integrated with dockview store to manage panel visibility
- Added tooltip to indicate bot's current state (Open/Close)
2025-04-12 10:53:32 +08:00
3b1c2fc41b refactor(problem): replace inline dockview options with default config 2025-04-12 10:47:23 +08:00
69e06ecfc6 feat(dockview): add Zustand store for dockview API management 2025-04-12 10:41:52 +08:00
faf7f45425 feat(dockview): add configuration for panel layout 2025-04-12 10:40:59 +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
bb644113f4 chore(deps): add date-fns package 2025-04-11 17:43:17 +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
ad43eb9b0a refactor(status): extract status logic into separate module
- Moved color class and status map logic to `src/lib/status.ts`
- Simplified `showStatusToast` and `StatusToast` components
- Replaced `getColorClass` with `getStatusColorClass` from the new module
2025-04-11 17:41:04 +08:00
31441aed89 chore(tailwind): include lib directory in content paths 2025-04-11 17:27:42 +08:00
a81be5c0f9 feat(judge): implement full testcase support and result recording
- Add testcase handling with proper input/output validation
- Modify run function to process multiple testcases sequentially
- Implement testcase result recording in database
- Improve error handling and status updates
- Add related type definitions for testcases
2025-04-11 16:01:44 +08:00
4da3723195 feat(types): add getAllProblemsWithTestcases and ProblemWithTestcases 2025-04-11 15:58:37 +08:00
24f78ab811 chore(prisma): add seed data for testcase_result model 2025-04-11 15:57:24 +08:00
2de1674b22 feat(prisma): add testcase_result model and related relations 2025-04-11 15:56:24 +08:00
1c0612372b feat(prisma): add TestcaseResult model and relations to Submission and Testcase 2025-04-11 15:53:56 +08:00
d64f95b4e7 refactor(judge): rewrite judge service to use database submissions
- Change return type from JudgeResult to Submission
- Add database operations to persist submission records
- Improve error handling and container cleanup
- Update compile and run functions to work with submissions
- Add proper status updates throughout the process
2025-04-11 09:52:56 +08:00
dc939085bb refactor(hooks): move show-status-toast.tsx from lib to hooks 2025-04-11 09:47:31 +08:00
93b5a68426 chore(config): update Tailwind content paths to include hooks and remove pages 2025-04-11 09:46:11 +08:00
6e22822383 chore(toast): rename show-exit-code-toast.tsx to show-status-toast.tsx 2025-04-10 22:42:41 +08:00
5e3b75a36b feat(prisma): add submission table and related relations 2025-04-10 22:26:45 +08:00