cd50e73fc9
refactor(auth): extract saltRounds constant
2025-03-14 17:15:38 +08:00
468e72e9a8
feat(auth): add sign up and sign in functions with credentials
2025-03-14 17:06:19 +08:00
5f49d6841e
feat(layout): add Sonner Toaster for toast notifications
2025-03-14 15:36:29 +08:00
bfaaf25732
feat(auth): add layout for authentication pages with redirect logic
2025-03-14 14:38:51 +08:00
2d872da445
feat(auth): add sign-in and sign-up pages
2025-03-14 14:37:32 +08:00
2f037f8a78
feat(layout): add Suspense with fallback loading for problemset layout
2025-03-13 11:24:24 +08:00
574a98e58e
chore(auth): move auth.ts to src/lib directory
2025-03-12 22:46:01 +08:00
e6b4be4758
feat(problemset-layout): add AvatarButton to problemset layout
2025-03-12 21:17:14 +08:00
2679f52066
feat(RootLayout): add SettingsDialog component
2025-03-12 17:38:33 +08:00
012e0f7d05
fix(problem): remove unnecessary parseInt conversion for problem id
2025-03-12 15:32:14 +08:00
18ab071ca6
feat(auth): create route.ts for NextAuth API handler
2025-03-12 15:02:02 +08:00
eab62706e0
feat(problemset): add dynamic rendering for ProblemsetPage
2025-03-12 13:57:57 +08:00
c58ed38c03
feat(problemset): add sorting by id in problemset page
2025-03-12 12:52:50 +08:00
a7a50231d2
refactor(problems): use Suspense for lazy loading and adjust layout structure
2025-03-12 08:59:38 +08:00
ca2d663533
feat(playground): add min size constraints for resizable panels
2025-03-12 08:23:24 +08:00
84ac0a88dc
feat(solution): add layout and page components for problem solution, including footer
2025-03-10 20:54:31 +08:00
4727c55bcc
refactor(layout, page, description): update problem page layout and structure, including description fetching and TabsContent styling
2025-03-10 20:51:21 +08:00
8c847018f0
fix(theme): update code block styles to use useTheme hook value
2025-03-09 20:30:02 +08:00
0868f45a10
chore(playground): comment out the import and usage of ProblemDescriptionFooter
2025-03-09 18:59:55 +08:00
849c8bc609
feat(page): deprecate /playground and redirect to /problemset
2025-03-09 18:21:27 +08:00
0dbed9c284
feat(terminal): add TerminalTestcasePage with release info card
2025-03-09 18:17:18 +08:00
f3303fff3d
feat(layout): add TerminalTestcaseLayout component for rendering testcase content
2025-03-09 18:16:28 +08:00
f4078cb985
feat(layout): add terminal layout with Tabs and ScrollArea for testcase display
2025-03-09 18:15:48 +08:00
dd2f4a733b
feat(scroll-area): add horizontal scrollbar to problem description page
2025-03-09 15:04:54 +08:00
163dc4b57c
feat(problem-description): add dynamic title to footer and fetch problem title
2025-03-09 14:49:59 +08:00
ef753dd6c8
style(problems, workspace): adjust ScrollArea height and flex layout
2025-03-09 14:46:43 +08:00
3a75c3d415
style(layout): update panel border-radius to rounded-xl
2025-03-09 14:31:26 +08:00
e224fae210
feat(layout): adjust resizable panel layout with equal distribution for workspace and terminal
2025-03-09 13:26:05 +08:00
f6fc01ae6a
feat(workspace): fetch problem templates and pass to editor header
2025-03-09 11:06:10 +08:00
63bde8cafb
feat(editor): fetch problem templates from database
2025-03-09 10:49:34 +08:00
2ffb366c7c
feat(workspace): add editor layout with header and editor page
2025-03-08 21:33:13 +08:00
a14087b395
feat(workspace): add editor layout with footer for problem page
2025-03-08 21:28:11 +08:00
6b34110aad
feat(workspace): add workspace layout component with tabs and editor
2025-03-08 21:19:27 +08:00
a78431fb61
fix(playground): update file path
2025-03-08 21:17:31 +08:00
a7799af2f4
refactor(layout): rename WorkspaceLayout to PlaygroundLayout and modify props
2025-03-08 21:11:18 +08:00
4f6a37df17
fix(prisma): update enum values for EditorLanguage to lowercase ('c' and 'cpp')
2025-03-08 21:03:32 +08:00
944c5407bd
fix(problem): change content
to description
for problem page rendering
2025-03-08 20:06:08 +08:00
bddbc03f3a
chore(playground): update import path for ProblemDescriptionFooter
2025-03-08 19:52:39 +08:00
d697993e87
refactor(playground): replace Header with WorkspaceHeader
2025-03-08 19:50:21 +08:00
9ff39a0438
feat(problems): add problem description page with MDX rendering
2025-03-08 19:46:01 +08:00
c6ab92e1e7
feat(problems): add footer to problem description layout
2025-03-08 19:44:45 +08:00
e0adfa3075
refactor(workspace): move ProblemDescriptionFooter to features
2025-03-08 19:41:03 +08:00
f6f640927d
style(layout): adjust layout to use flexbox in ProblemLayout component
2025-03-08 18:57:51 +08:00
a851223d9f
feat(problem): add problem layout with tabs for description, solution, and submission
2025-03-08 18:31:54 +08:00
0644a9f71f
feat(workspace): add WorkspaceLayout with resizable panels
2025-03-08 18:00:13 +08:00
0a8e2d49b4
fix(redirect): update redirect path to /problemset
2025-03-07 16:38:51 +08:00
9f619d71d1
fix(layout): remove layout.tsx
2025-03-07 16:38:44 +08:00
ba16523c03
feat(problemset): add difficulty color mapping based on problem difficulty
2025-03-07 16:34:51 +08:00
9a04d83f9e
feat(problemset): add clickable links for problem IDs and titles
2025-03-07 16:26:00 +08:00
134046ff5a
feat(problemset): add page to display published problems in a table
2025-03-07 15:52:11 +08:00
0e8639212e
feat(layout): add ProblemsetLayout component with Banner and main content wrapper
2025-03-07 15:36:03 +08:00
c12f734831
chore(layout): update layout to remove full height and adjust min-height
2025-03-07 15:11:41 +08:00
833a79d6d0
style(globals): update --sidebar-background to match --card
2025-03-07 15:00:06 +08:00
e504d92ad9
refactor(layout): remove Header from AppLayout and add Header to PlaygroundLayout
2025-03-07 11:45:18 +08:00
58a25b8a9c
feat(rehype-pretty-code): add support for multiple predefined themes (dark and light modes)
2025-03-07 11:31:40 +08:00
353aff9b4d
refactor(header, reset-button, useCodeEditorStore): remove unnecessary value prop and refactor related components
2025-03-05 10:18:06 +08:00
3336a9f1d0
feat(config/problem): add TEMP_DEFAULT_EDITOR_VALUE
2025-03-05 09:36:38 +08:00
a33033b48d
refactor(config/judge.ts, types/judge.ts): split judge configuration and types
2025-03-05 09:27:00 +08:00
808dd96a50
feat(language-selector): update language selector logic and integrate LSP config
2025-03-05 08:46:44 +08:00
d33f214450
refactor(button): refactor ResetButton to accept value prop
2025-03-05 08:34:54 +08:00
ca82b94b0f
refactor: replace old SUPPORTED_LANGUAGES config with new EditorLanguageConfig config
2025-03-05 08:30:58 +08:00
6ebf8fe935
refactor(problem-submission-page): simplify result destructuring and memo dependencies
2025-03-03 18:36:22 +08:00
07c625d310
feat(header): add SettingsDialog and toggle its visibility via SettingsButton
2025-03-03 15:10:06 +08:00
09ef2bf22a
feat(components/ui): add Sidebar-13 component from shadcn/ui
2025-03-03 14:51:13 +08:00
aa255fc2e1
refactor(store): rename useCodeEditorState to useCodeEditorStore in imports
2025-03-03 14:20:25 +08:00
2b6b7c54d5
feat(workspace): add tabs state management with zustand and loading skeleton
2025-03-03 13:57:08 +08:00
faad41039a
feat(problem): add tabs state management with zustand and loading skeleton
2025-03-03 13:56:25 +08:00
5045e6f8c6
feat(@workspace/@editor): add toolbar buttons to editor header
2025-03-03 10:41:57 +08:00
0e4f9e0be9
feat(@workspace/@editor): add ResetButton component
2025-03-03 10:40:56 +08:00
4dbe390e3f
feat(@workspace/@editor): add UndoButton component
2025-03-03 10:40:44 +08:00
2ddfb02fe8
feat(@workspace/@editor): add RedoButton component
2025-03-03 10:40:31 +08:00
806509130c
feat(@workspace/@editor): add FormatButton component
2025-03-03 10:40:17 +08:00
4aad78b671
feat(@workspace/@editor): add CopyButton component
2025-03-03 10:40:01 +08:00
11c2e2c317
fix(judge): modify timeout handling logic to resolve on time limit exceeded
2025-03-03 02:29:55 +08:00
03f3d9682a
feat(judge): update container configuration and add limits for output and memory
2025-03-03 02:16:24 +08:00
bc5c9cc699
feat(judge): enhance code execution handling with detailed results and error handling
2025-03-02 14:19:29 +08:00
efdf5089fa
feat(judge): add memory usage monitoring and handling
2025-03-02 01:40:25 +08:00
8b744f54f4
feat(judge): add timeout handling to runCode and improve error handling
2025-03-02 00:52:24 +08:00
6b7bd2c587
fix(submission): add newline to bash code block
2025-03-02 00:50:17 +08:00
c52748734f
fix(judge): replace 'let' with 'const' for variables that are never reassigned
2025-03-01 23:22:15 +08:00
10a0c7ab99
feat(playground): add submission page for displaying code execution results
2025-03-01 22:29:14 +08:00
38038dc7b1
fix(judge): ensure container remains running and capture stderr separately
2025-03-01 21:07:06 +08:00
83deae7a02
feat(playground): add submission layout component
2025-03-01 19:28:36 +08:00
dc6794b0ca
feat(playground): add submission footer component
2025-03-01 19:25:50 +08:00
4a8ad24dcc
feat(playground): add submission tab to problem layout
2025-03-01 19:18:24 +08:00
8069df5973
feat(judge): add server-side code execution and judging functionality
2025-03-01 17:10:19 +08:00
46da804f14
feat(layout): replace Banner component with Header component
2025-02-26 21:54:54 +08:00
df197e8631
feat(footer): add padding to footer components for improved aesthetics
2025-02-26 16:01:33 +08:00
3111d58b3c
feat(language-selector): add loading state with skeleton component for improved user experience
2025-02-26 15:58:32 +08:00
9184dc6eb2
feat(footer): wrap footer text in a span for improved truncation handling
2025-02-26 14:43:27 +08:00
b39350d5a7
feat(layout): add footer components for ProblemDescription and ProblemSolution layouts
2025-02-26 11:44:54 +08:00
88c994454e
fix(layout): wrap children in a flex-1 div for consistent layout behavior
2025-02-26 11:14:30 +08:00
0606ec8971
feat(layout): add ProblemSolutionLayout component for flexible layout structure
2025-02-26 11:09:31 +08:00
969932cb00
feat(layout): add ProblemDescriptionLayout component for structured layout
2025-02-26 11:05:38 +08:00
97a1cb584e
fix(layout): update className to use flex-1 for consistent tab content sizing
2025-02-26 09:53:43 +08:00
ee37b78c20
fix(editor): update className to prevent flex item shrinkage in footer and header components
2025-02-26 09:51:20 +08:00
e3e79314d9
fix(editor): adjust padding in LanguageSelector component for better alignment
2025-02-26 09:40:51 +08:00
5433557225
feat(editor): add WorkspaceEditorHeader to WorkspaceEditorLayout
2025-02-25 22:08:38 +08:00
b173be0a73
fix(editor): improve layout and styling of WorkspaceEditorFooter component
2025-02-25 22:08:32 +08:00
511d3408f3
feat(editor): add WorkspaceEditorHeader component with LanguageSelector
2025-02-25 22:08:20 +08:00
7ee6cec0b5
feat(editor): add LanguageSelector component for language selection
2025-02-25 22:08:06 +08:00
a24514dc64
feat(editor): restructure workspace layout and add editor footer component
2025-02-25 21:08:41 +08:00
32f3ecff0f
feat(playground/problem): add solution tab and update description import
2025-02-25 14:40:06 +08:00
4022e8559b
fix(playground/layout): adjust margin for ResizableHandle for better spacing
2025-02-24 20:03:37 +08:00
ffe8c106d8
refactor(playground/problem): restructure layout props and add route nesting
2025-02-24 19:55:17 +08:00
0ad1f24c7a
refactor(playground): rename description to problem and update routes
2025-02-24 19:16:31 +08:00
8f6490a03d
feat(workspace): add WorkspaceFooter component for playground
2025-02-24 13:24:19 +08:00
adf59f8132
fix(layout): add padding to ScrollArea in description and workspace layouts
2025-02-24 12:38:54 +08:00
bfb60aba6c
fix(layout): adjust height and flex properties for improved layout responsiveness
2025-02-24 12:32:03 +08:00
21cb011980
fix(playground): add bg-muted class to ScrollArea for better visibility
2025-02-23 20:42:57 +08:00
22bda1f730
fix(playground): add border-muted class to TabsContent for better visibility
2025-02-23 20:37:04 +08:00
88be7cbf58
fix(layout): adjust height calculations for improved layout consistency
2025-02-23 20:31:28 +08:00
e06f286815
feat(playground): add Description and Workspace layouts with tabs for better organization
2025-02-23 19:17:03 +08:00
d5cda08a3e
feat(components/ui): add Badge and Tabs components from shadcn/ui
2025-02-23 16:37:12 +08:00
a69f819da4
feat(playground): style resizable handle
2025-02-21 21:34:37 +08:00
326cce7836
feat(playground): restructure app layout and implement playground with resizable panels
2025-02-21 21:06:26 +08:00
8f5be0e437
feat(layout): implement app layout with banner and code editor components
2025-02-21 19:49:56 +08:00
eacd415667
feat(styles): update code font properties for improved readability
2025-02-21 19:49:32 +08:00
eed3a9d9ef
feat(styles): update global styles to use Fira Code font for better code readability
2025-02-21 00:21:34 +08:00
1142cb950f
feat(page): Implement problem preview and code editor layout
...
This commit splits the home page into two halves:
- The left half displays a preview of the problem description using the `MdxPreview` component.
- The right half provides a code editor using the `CodeEditor` component.
This improves the user experience by allowing users to view the problem description and write code simultaneously.
2025-02-21 00:10:31 +08:00
11fa68c4b7
feat(layout): replace ModeToggle with Banner component in RootLayout
2025-02-21 00:07:56 +08:00
e29ab229b5
feat(styles): add GitHub markdown CSS and responsive styling for markdown content
2025-02-20 15:50:08 +08:00
96c946a2ca
feat(layout): integrate mode toggle in layout and simplify home page structure
2025-02-20 14:43:56 +08:00
286a4739c3
style(header): adjust header height and padding for improved layout
2025-02-20 14:28:04 +08:00
728d9557da
refactor(layout): remove unused font imports from layout component
2025-02-20 13:09:57 +08:00
31491c496e
refactor: import CodeEditor directly instead of using dynamic import
2025-02-20 11:27:07 +08:00
d7a019c711
chore(font): change Fira Code font weight to 500
2025-02-20 10:13:41 +08:00
9057c5971e
feat(styles): Use Fira Code font for body text
2025-02-20 09:11:02 +08:00
e9da555705
refactor: move Monaco Editor logic to CodeEditor component
...
- Moved Monaco Editor initialization and related logic from src/app/page.tsx to src/components/code-editor.tsx
2025-02-20 01:10:25 +08:00
d1bb42765d
feat(layout): change default theme from dark to system in RootLayout component
2025-02-19 22:40:27 +08:00
eead1884e1
feat(layout): change default theme to dark in RootLayout component
2025-02-19 21:57:47 +08:00
38dc197eb7
fix(layout): suppress hydration warning in RootLayout component
2025-02-19 21:30:01 +08:00
7c6c196cb2
feat(theme): wrap application in ThemeProvider for improved theme management
2025-02-19 21:20:25 +08:00
d10b059dd1
fix(editor): resolve production error "Missing service editorService" by importing vscode
2025-02-19 16:39:30 +08:00
672f63f10a
feat(monaco): Integrate clangd LSP for C language support in Monaco Editor
2025-02-19 12:29:24 +08:00
5d9904d083
style(theme): update to github light/dark theme color scheme
2025-02-19 09:11:57 +08:00
f7261ede2c
chore: initialize shadcn/ui
2025-02-19 09:07:30 +08:00
19f5e6af2a
chore: initialize the project
2025-02-19 09:00:15 +08:00