247e54c40c
refactor(settings-dialog): integrate settings dialog state with store
2025-03-12 11:49:29 +08:00
83356993e9
refactor(settings-button): integrate settings dialog state with store
2025-03-12 11:48:41 +08:00
efa16c8b77
refactor(store): rename useSettingNavStore to useSettingsStore and update state structure
2025-03-12 11:47:31 +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
2bc704a818
feat(loading): add Loading component
2025-03-11 22:40:21 +08:00
6a01fed089
refactor(prisma): move prisma initialization to default export
2025-03-11 14:58:36 +08:00
862fbf1379
fix(prisma): ensure single Prisma Client instance in development
...
- Reference: https://www.prisma.io/docs/orm/more/help-and-troubleshooting/nextjs-help#recommended-solution
2025-03-11 12:47:28 +08:00
4b0d238d37
fix(RunCode): update component with custom classes for background and hover states
2025-03-10 23:10:56 +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
aaa4c1def5
fix(mdx-components): restore list decoration for ordered and unordered lists
...
- Restored default list decorations (bullet points for `ul` and numbers for `ol`).
- Solution based on issue from `sindresorhus/github-markdown-css#103`.
2025-03-10 20:41:53 +08:00
13fd49fd18
style(mdx): update code highlighting styles for dark mode
2025-03-10 14:23:19 +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
28c10ad590
fix(style): removing shadow
2025-03-09 18:58:48 +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
a7506bed64
refactor(reset-button): remove unnecessary disabled state for button
2025-03-09 15:18:08 +08:00
b9ac439178
fix(header): improve layout and adjust z-index for settings button
2025-03-09 15:14:47 +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
e082aed9a1
feat(editor): add undo stack support for reset button
2025-03-09 12:13:29 +08:00
28a4b0631d
refactor(code-editor): update editor change handler and remove unused event parameter
2025-03-09 11:50:23 +08:00
a691992404
fix(code-editor): improve template handling and default value logic
2025-03-09 11:22:40 +08:00
556fde6546
feat(editor): use problem templates in ResetButton and disable when empty
2025-03-09 11:18:36 +08:00
1766c4a632
feat(editor): add templates prop to WorkspaceEditorHeader and pass to ResetButton
2025-03-09 11:07:47 +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
6297419aad
feat(code-editor): persist code changes and apply problem templates
2025-03-09 10:48:03 +08:00
5925ea8192
fix(store): initialize editor value as empty string
2025-03-09 10:39:53 +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
7f94f6a15b
feat(playground): add workspace editor footer with cursor position display
2025-03-08 21:27:02 +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
c6ffc41d2f
fix(playground): update file path from workspace to playground
2025-03-08 21:15:24 +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
7a97e213fe
refactor(config): use EditorLanguage from Prisma in language configuration
2025-03-08 20:43:46 +08:00
58bf991afd
refactor(types): use EditorLanguage from Prisma instead of defining locally
2025-03-08 20:43:01 +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
70626d0499
rename(header): rename Header to WorkspaceHeader
2025-03-08 17:58:50 +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
b2e358de1b
style(banner): update component with background color and layout changes
2025-03-07 15:31:22 +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
0159998234
refactor(components): replace custom pre component with shared Pre component for MDX preview
2025-03-07 11:43:41 +08:00
f1b6e86123
feat(components): add MdxRenderer for rendering MDX content with custom styling and syntax highlighting
2025-03-07 11:37:24 +08:00
9eb6f89587
feat(components): create MdxComponents for custom rendering of MDX content
2025-03-07 11:36:53 +08:00
c0a876322c
refactor(component): migrate code block with copy feature to a more reusable pre component
2025-03-07 11:34:17 +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
56507f0362
feat(monaco-theme): Add default light and dark theme configurations
2025-03-07 11:27:00 +08:00
56905f7e20
feat(settings-dialog): replace placeholder content with AppearanceSettings component
2025-03-06 23:25:23 +08:00
8f6a4aee20
feat(appearance-settings): add theme selection component
2025-03-06 23:22:40 +08:00
21c88fa8ab
feat(store): change default activeNav value to "Appearance" and add partial persistence
2025-03-06 22:39:53 +08:00
2a42c711bf
refactor(mdx-preview): replace next-themes with useMonacoTheme
2025-03-06 21:29:52 +08:00
af59e0f432
feat(components/ui): add Radio Group component from shadcn/ui
2025-03-06 21:25:18 +08:00
93c6e66d78
feat(components/ui): add Table component from shadcn/ui
2025-03-06 16:41:19 +08:00
214f4fabef
chore(lib): add prisma client initialization
2025-03-06 11:29:10 +08:00
0d29c56750
feat(language-server): add logging for URL creation in connectToLanguageServer
2025-03-05 19:21:55 +08:00
5f79671aa5
refactor(code-editor): dynamically fetch lspConfig from LanguageServerConfig
2025-03-05 13:29:17 +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
2a47b469b0
feat(language-server): add environment variable support for configuration
2025-03-05 08:33:38 +08:00
470fa306c2
feat(editor): add language icon support
2025-03-05 08:32:33 +08:00
ca82b94b0f
refactor: replace old SUPPORTED_LANGUAGES config with new EditorLanguageConfig config
2025-03-05 08:30:58 +08:00
753422ebf4
refactor: remove unused editor and language config files
2025-03-05 08:28:52 +08:00
527c52abbc
feat(editor): refactor code editor with LSP support and state management
2025-03-05 00:33:19 +08:00
0c94bb2fa3
refactor(store): restructure code editor store and update configuration
2025-03-05 00:31:57 +08:00
a920cbc4b8
refactor(utils): rename languageServerConfigs to LanguageServerConfig
2025-03-04 21:28:47 +08:00
398928d933
style(editor): format code style for consistency
2025-03-04 21:27:53 +08:00
d89a45daa8
feat(editor): update loading state with padding and refactor dynamic import
2025-03-04 21:26:51 +08:00
0c1ecbcff2
feat(editor): initialize CoreEditorLsp component
2025-03-04 21:05:23 +08:00
598ca75829
feat(editor): add default editor options configuration
2025-03-04 21:02:16 +08:00
af23dd3289
feat(editor): add language server connection via WebSocket
2025-03-04 20:58:06 +08:00
742a827072
feat(language-server): add configuration for C and C++
2025-03-04 20:53:19 +08:00
1f417fb4e6
feat(shiki): improve Shiki highlighter initialization with dynamic theme and language support
2025-03-04 20:29:21 +08:00
6d9c6701d4
feat(monaco-theme): update Monaco theme configuration with label metadata
2025-03-04 20:29:07 +08:00
ec9f3b2475
feat(editor-language): update language configurations and types for C and C++
2025-03-04 20:28:41 +08:00
d8fa37dd8a
feat(theme): add MonacoTheme enum, configuration and hook
2025-03-04 20:06:33 +08:00
6ebf8fe935
refactor(problem-submission-page): simplify result destructuring and memo dependencies
2025-03-03 18:36:22 +08:00
6cf241b57b
refactor(settings-dialog): update sidebar navigation items and cleanup imports
2025-03-03 15:50:00 +08:00
70d30c6cc6
refactor(settings): integrate Zustand store for navigation state management
2025-03-03 15:39:32 +08:00
30f12d0cd7
feat(store): add Zustand store for setting navigation persistence
2025-03-03 15:38:06 +08:00
4f7f367320
feat(settings-dialog): improve scroll behavior with ScrollArea
2025-03-03 15:24:35 +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
64655d8118
refactor(code-editor-store): rename and add hydration state, update storage handling
2025-03-03 14:18:32 +08:00
8bf109679d
feat(tabs-store): persist only problemTab and workspaceTab in local storage
2025-03-03 14:17:22 +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
466caed5bd
feat(store): add zustand store for tabs state management
2025-03-03 13:55:33 +08:00
dcbfe4c3d7
style(judge): align equal signs and comments for better readability
2025-03-03 12:10:16 +08:00
eab8743095
feat(header): add settings button to header
2025-03-03 11:40:05 +08:00
1d81013122
feat(components): add settings button component with tooltip
2025-03-03 11:39:02 +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
4be37fdf1e
feat(components/ui): add Tooltip component from shadcn/ui
2025-03-03 10:33:43 +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
578e33d4c4
feat(config/judge): update result codes and language configurations
2025-03-03 02:12:23 +08:00
524cce5a73
fix(code-editor): ensure localStorage access is safe in non-browser environments
2025-03-02 14:39:04 +08:00
8be38cee1d
fix(store): ensure localStorage access is safe in non-browser environments
2025-03-02 14:37:44 +08:00
bc5c9cc699
feat(judge): enhance code execution handling with detailed results and error handling
2025-03-02 14:19:29 +08:00
180dc5e310
feat(editor): update result state type to JudgeResult
2025-03-02 13:40:33 +08:00
3d1ab62fe9
feat(judge): update configuration with exit codes and result type
2025-03-02 13:39:31 +08:00
efdf5089fa
feat(judge): add memory usage monitoring and handling
2025-03-02 01:40:25 +08:00
9dede32073
feat(judge): add memory limit configuration to LanguageConfigs
2025-03-02 01:19:16 +08:00
8b744f54f4
feat(judge): add timeout handling to runCode and improve error handling
2025-03-02 00:52:24 +08:00
f4077d2f1d
feat(judge): add timeout configuration to LanguageConfigs
2025-03-02 00:52:12 +08:00
6b7bd2c587
fix(submission): add newline to bash code block
2025-03-02 00:50:17 +08:00
2ebda52857
feat(code-editor): persist editor value in local storage
2025-03-02 00:05:42 +08:00
c52748734f
fix(judge): replace 'let' with 'const' for variables that are never reassigned
2025-03-01 23:22:15 +08:00
4ad9bac50b
refactor(editor): update Monaco editor type imports and state to use editor
from monaco-editor
2025-03-01 23:19:35 +08:00
1893faad00
feat(store): persist language setting in code editor state
2025-03-01 23:14:29 +08:00
10a0c7ab99
feat(playground): add submission page for displaying code execution results
2025-03-01 22:29:14 +08:00
164eb3f0f5
feat(code-runner): implement execution result persistence
2025-03-01 21:23:44 +08:00
f63275334e
feat(store): add result state to code editor store
2025-03-01 21:15:52 +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
04794a34c7
feat(components/run-code): add code execution with loading state
2025-03-01 17:12:32 +08:00
8069df5973
feat(judge): add server-side code execution and judging functionality
2025-03-01 17:10:19 +08:00
6ca75616d0
feat(config): add LanguageConfig interface and LanguageConfigs object
2025-03-01 16:29:26 +08:00
46da804f14
feat(layout): replace Banner component with Header component
2025-02-26 21:54:54 +08:00
89dfc9a1c8
feat(header): add Header component with RunCode integration
2025-02-26 21:54:49 +08:00
a0b1327db7
feat(run-code): add RunCode component for executing code
2025-02-26 21:54:44 +08:00
df197e8631
feat(footer): add padding to footer components for improved aesthetics
2025-02-26 16:01:33 +08:00
800c35cb01
feat(code-editor, mdx-preview): update loading state padding for improved aesthetics
2025-02-26 15:58:40 +08:00
3111d58b3c
feat(language-selector): add loading state with skeleton component for improved user experience
2025-02-26 15:58:32 +08:00
e00741e48c
feat(code-editor): add loading state management to improve editor initialization
2025-02-26 15:57:49 +08:00
0fa89804bc
feat(code-editor): enhance loading state with padding and rounded corners for better aesthetics
2025-02-26 15:16:24 +08:00
e108244121
feat(mdx-preview): enhance loading state with padding and rounded corners for better aesthetics
2025-02-26 15:08:27 +08:00
9184dc6eb2
feat(footer): wrap footer text in a span for improved truncation handling
2025-02-26 14:43:27 +08:00
89ea5b4684
feat(mdx-preview): integrate CodeBlockWithCopy for enhanced code block functionality
2025-02-26 14:32:11 +08:00
ff682d8ca2
feat(mdx): add CodeBlockWithCopy component for enhanced code copying functionality
2025-02-26 14:32:06 +08:00
b39350d5a7
feat(layout): add footer components for ProblemDescription and ProblemSolution layouts
2025-02-26 11:44:54 +08:00
037f8f625d
fix(mdx-preview): comment out unused rehype plugins and adjust ScrollArea max height
2025-02-26 11:34:46 +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
844e9f0cca
fix(mdx-preview): adjust max height calculation for ScrollArea component
2025-02-26 11:05:33 +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
e8778df846
fix(banner): update className to prevent flex item shrinkage in Banner component
2025-02-26 09:42:01 +08:00
e3e79314d9
fix(editor): adjust padding in LanguageSelector component for better alignment
2025-02-26 09:40:51 +08:00
d19c0c9ea1
feat(editor): enhance WebSocket connection management in CodeEditor
2025-02-26 00:41:19 +08:00
e975dde0c2
fix(editor): remove unnecessary whitespace in default editor value
2025-02-26 00:34:39 +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
780908e4d3
feat(component/ui): add Select component from shadcn/ui
2025-02-25 21:33:17 +08:00
a24514dc64
feat(editor): restructure workspace layout and add editor footer component
2025-02-25 21:08:41 +08:00
4975d79d35
refactor(problem/description): improve clarity and formatting of problem description
2025-02-25 19:45:20 +08:00
2e33dea853
feat(mdx-preview): add support for math rendering with KaTeX
2025-02-25 15:09:44 +08:00
32f3ecff0f
feat(playground/problem): add solution tab and update description import
2025-02-25 14:40:06 +08:00
50d1f4cf8e
refactor(editor): update editor configuration paths and values
2025-02-25 14:39:55 +08:00
d51c324ea9
refactor(config): reorganize language configuration and remove deprecated files
2025-02-25 14:39:41 +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
4557cee251
fix(code-editor): simplify onMount callback parameters for clarity
2025-02-24 13:34:56 +08:00
396ab19e2e
fix(code-editor): update parameter name in onMount callback for clarity
2025-02-24 13:32:19 +08:00
8f6490a03d
feat(workspace): add WorkspaceFooter component for playground
2025-02-24 13:24:19 +08:00
c0d0021b6c
feat(code-editor): add editor state handling to CodeEditor component
2025-02-24 13:22:12 +08:00
5cabdda667
feat(store): add editor state to useCodeEditor store
2025-02-24 13:21:45 +08:00
adf59f8132
fix(layout): add padding to ScrollArea in description and workspace layouts
2025-02-24 12:38:54 +08:00
93bcd45c8a
fix(editor): update height classes for code editor and MDX preview components
2025-02-24 12:32:48 +08:00
bfb60aba6c
fix(layout): adjust height and flex properties for improved layout responsiveness
2025-02-24 12:32:03 +08:00
3b89e5de0e
fix(editor): adjust height calculation for code editor and MDX preview components
2025-02-24 11:45:31 +08:00
fa15a6628e
fix(language-server): update configuration to use environment variables for WebSocket settings
2025-02-24 00:22:34 +08:00
b33edb933f
fix(language-server): make language server configuration environment variable driven
2025-02-23 23:31:05 +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
b5fcb39037
fix(option): adjust scrollbar sizes for improved usability
2025-02-23 20:31:11 +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
6f2d853531
feat(code-editor): use default file path for code editor based on language
2025-02-23 16:11:53 +08:00
545f094f49
feat(config): add default file paths for supported languages
2025-02-23 16:11:47 +08:00
4cd56f6fab
refactor(option): Rename code-editor-options.ts to option.ts and add wordWrap option
...
Renamed code-editor-options.ts to option.ts and added the wordWrap: "on" option to enable word wrapping in the code editor.
2025-02-23 15:05:46 +08:00
269f41525b
style(mdx): Add subheading anchor style, underline on hover
...
- Added `subheading-anchor` style to control subheading anchor display.
- Removed default underline and added underline on hover for improved user experience.
2025-02-23 15:02:55 +08:00
f7e94564be
feat(components/mdx-preview): add rehype-slug and rehype-autolink-headings for MDX previews
...
This commit adds `rehype-slug` and `rehype-autolink-headings` to the MDX preview component.
- `rehype-slug` generates unique IDs for headings.
- `rehype-autolink-headings` adds anchor links to headings, improving navigation.
This enhances the usability of MDX previews by enabling users to easily link to specific sections within the content.
2025-02-23 15:02:36 +08:00
ca04733475
feat(code-editor): enable word wrap in editor options
2025-02-23 14:34:14 +08:00
b2b6d1e484
feat(code-editor): Merge editor options and support dynamic font and line height adjustment
...
- In the CodeEditor component, merged the default CODE_EDITOR_OPTIONS with dynamic options returned by useCodeEditorOption to support runtime font size and line height adjustments.
- Additionally, added the useCodeEditorOption hook to useCodeEditor.ts to manage the state of font size and line height.
- This allows users to dynamically adjust the editor's display properties.
2025-02-23 14:23:59 +08:00
5af57fbfcf
refactor(code-editor): improve commented validation logging for better debugging
2025-02-23 13:56:11 +08:00
9e1bca2cce
feat(code-editor): enhance language client integration with dynamic server configuration
2025-02-23 13:55:37 +08:00
62149db922
feat(useCodeEditor): Add languageClient state to support language servers
...
- Introduces MonacoLanguageClient state to facilitate language server integration in the code editor.
2025-02-23 13:54:09 +08:00
0dafb06e86
feat(lsp): add configuration for supported language servers
2025-02-23 13:52:06 +08:00
9aa8b7e211
refactor(code-editor): optimize dynamic imports and code structure
2025-02-22 11:47:00 +08:00
a69f819da4
feat(playground): style resizable handle
2025-02-21 21:34:37 +08:00
2b5b4dee57
fix(banner): wrap link in a paragraph for better semantic structure
2025-02-21 21:20:52 +08:00
326cce7836
feat(playground): restructure app layout and implement playground with resizable panels
2025-02-21 21:06:26 +08:00
a699fc8069
refactor(components): rename problem-description.tsx to mdx-preview.tsx
2025-02-21 21:06:06 +08:00
e74e2e3102
feat(components/ui): add Resizable component from shadcn/ui
2025-02-21 20:02:31 +08:00
8f5be0e437
feat(layout): implement app layout with banner and code editor components
2025-02-21 19:49:56 +08:00
9a04f90538
feat(code-editor): adjust height calculation for code editor component
2025-02-21 19:49:50 +08:00
eacd415667
feat(styles): update code font properties for improved readability
2025-02-21 19:49:32 +08:00
dd979d31b2
feat(code-editor): decrease top padding in code editor options for better layout
2025-02-21 02:09:31 +08:00
e47f68f99e
feat(problem-description): add default problem statement for "Two Sum" challenge
2025-02-21 01:44:44 +08:00
b8100570e3
feat(problem-description): import mdx.css for enhanced styling
2025-02-21 01:39:58 +08:00
0c276eeef9
feat(styles): add mdx.css for improved code styling and line numbering
2025-02-21 01:39:46 +08:00
89512c8e6a
feat(code-editor): increase top padding in code editor options for improved layout
2025-02-21 00:56:41 +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
17894b6e96
feat(mdx): implement MdxPreview component with error handling and loading state
2025-02-21 00:08:21 +08:00
11fa68c4b7
feat(layout): replace ModeToggle with Banner component in RootLayout
2025-02-21 00:07:56 +08:00
62ccb1fbcc
feat(banner): add Banner component for project promotion with GitHub link
2025-02-21 00:07:45 +08:00
8d6e5067dc
feat(config): add site configuration with GitHub repository URL
2025-02-21 00:07:34 +08:00
3f3b153c4b
feat(problem-description): Use compileMDX with remarkGfm for MDX rendering
2025-02-20 18:46:20 +08:00
7db6f4e20e
feat(components): add ProblemDescription component to render markdown
...
- Added ProblemDescription component that uses MDXRemote to render markdown content.
- Includes a Skeleton loader while content is loading and a horizontal scrollbar.
- Wrapped content in a ScrollArea with a max-height limit for better UI experience.
2025-02-20 17:58:49 +08:00
a4a037f5a4
feat(components/ui): add Scroll Area component from shadcn/ui
2025-02-20 15:56:55 +08:00
e29ab229b5
feat(styles): add GitHub markdown CSS and responsive styling for markdown content
2025-02-20 15:50:08 +08:00
162825250b
feat(code-editor): add loading skeleton for dynamic editor component
2025-02-20 15:43:03 +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
d3d27768fb
feat(code-editor): update default value for code editor based on language
2025-02-20 14:14:04 +08:00
5d99032be9
feat(config): add default code snippets for C and C++ languages
2025-02-20 14:13:56 +08:00
6329babfca
feat(code-editor): use Zustand state for dynamic language selection
2025-02-20 14:06:13 +08:00
1bc1b638e2
feat(store): add Zustand store for managing code editor language state
2025-02-20 14:04:36 +08:00
bb81c4f7e1
feat(lsp): add default language configuration
2025-02-20 14:04:02 +08:00
9c78049359
feat(lsp): add supported languages with icons for C and C++
2025-02-20 14:02:42 +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
75f1e656e6
chore(editor): comment out onValidate function in CodeEditor component
2025-02-20 09:17:31 +08:00
07e3707c3f
feat(editor): use predefined options for code editor configuration
2025-02-20 09:11:31 +08:00
01f188ac56
feat(editor): add default configuration for Monaco code editor
2025-02-20 09:11:20 +08:00
9057c5971e
feat(styles): Use Fira Code font for body text
2025-02-20 09:11:02 +08:00
3f2bc8c332
chore: replace hardcoded WebSocket URL with environment variable
...
- Replaced the hardcoded LSP WebSocket URL with a configurable environment variable (NEXT_PUBLIC_LSP_C_URL).
- Default to "ws://localhost:4594/clangd" if the environment variable is not set.
2025-02-20 08:44:11 +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
f0b2428e8b
fix(code-editor): adjust loading skeleton padding for improved layout
2025-02-20 01:05:30 +08:00
63501a3f6c
feat(code-editor): refactor layout structure and improve editor height handling
2025-02-20 00:59:53 +08:00
423951ec58
feat(code-editor): update theme handling and optimize highlighter integration
2025-02-20 00:30:45 +08:00
2f2b172fb8
feat(shiki): add Shiki highlighter initialization for syntax highlighting
2025-02-20 00:30:32 +08:00
fd48fa0fff
feat(code-editor): integrate Shiki highlighter for enhanced syntax highlighting
2025-02-19 23:03:11 +08:00
9c9ed0ddd0
refactor: Move code editor logic to CodeEditor component
2025-02-19 22:46:30 +08:00
c195dffc10
feat(theme): Add ModeToggle component for theme switching
2025-02-19 22:45:30 +08:00
98fc2c75ef
feat(component/ui): add Button and DropdownMenu components from shadcn/ui
2025-02-19 22:41:26 +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
73aae933ee
feat(component/ui): add Toggle component from shadcn/ui
2025-02-19 21:44:24 +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
273c8e6b67
feat(theme): add ThemeProvider component for theme management
2025-02-19 21:20:12 +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
baeafb92dd
feat(components/ui): add Skeleton component from shadcn/ui
2025-02-19 11:12:29 +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