Commit Graph

543 Commits

Author SHA1 Message Date
7d7e503c8e feat(judge): add revalidation for problem page after submission 2025-04-13 11:16:26 +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
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
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
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
6e22822383 chore(toast): rename show-exit-code-toast.tsx to show-status-toast.tsx 2025-04-10 22:42:41 +08:00
895c3f779d refactor(judge): fetch timeLimit and memoryLimit from Problem instead of DockerConfig 2025-04-10 21:59:11 +08:00
84ebd17be9 style(playground): adjust header layout and z-index for centered RunCode button 2025-04-10 20:38:39 +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
5698a6b81f feat(types): add problem and testcase details types with prisma include 2025-04-09 20:24:57 +08:00
a02335b255 feat(problem-store): add testcases to store state and provider 2025-04-09 19:41:55 +08:00
e6614a0aa2 feat(types/prisma): implement getTestcaseWithData with TestcaseWithData type 2025-04-09 19:37:47 +08:00
0f71444f9f style(dockview): adjust border radius and tab spacing in abyss-spaced 2025-04-09 15:06:22 +08:00
cb940f8608 refactor(problemset): simplify layout by removing Suspense wrapper 2025-04-08 19:15:06 +08:00
d799578150 refactor(editor/header): adjust workspace header layout structure 2025-04-07 12:32:15 +08:00
a7419fe1ba fix(editor/footer): delay the import of Monaco's MarkerSeverity until window is defined 2025-04-07 12:05:17 +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
da26648a9b feat(dockview): refactor component API and add customization options 2025-04-06 18:16:43 +08:00
67e1445f98 refactor(problemset): use Dockview components with dynamic params in description form 2025-04-06 17:40:29 +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
424f24694b feat(problemset): add metadata, description, and solution forms for new problem creation 2025-04-05 23:17:36 +08:00
ba676b3213 feat(problem): add Bot panel and adapt to new dockview API 2025-04-05 18:03:36 +08:00
b8576dbf10 feat(dockview): refactor to generic configurable dockview component 2025-04-05 17:50:07 +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
54ac7b3cd5 feat(editor): add Markdown editor component with Monaco editor integration 2025-04-04 20:24:11 +08:00
11ecdcc535 feat(shiki): add support for markdown highlighting 2025-04-04 19:43:33 +08:00
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