Commit Graph

251 Commits

Author SHA1 Message Date
Dioxide
845a26239a The window is basically complete, but there are some issues need to fix.
1. The window won't scroll when complete.
2. The AI needs the context to generate new inputs, I don't know
how to write.
2025-06-18 21:14:50 +08:00
3ac6337f96
Merge pull request #27 from massbug/refactor/problem_creater
Refactor/problem creater
2025-06-18 02:14:38 +08:00
73f96d9c84 feat(creater): add feature to display multi-language description and solution in problem-creater
- 在编辑题目描述和解析面板中添加语言切换功能
- 实现获取题目支持的语言列表和对应语言的题目数据
- 增加添加新语言的功能(仅前端)
-优化题目描述和解析的编辑、预览和对比功能
- 在预览中添加 Accordion 和 VideoEmbed 组件支持
2025-06-17 16:18:59 +08:00
2899629848 feat(problem-editor): add feature to preload problem information if there already has had data in database
- 添加了数据预加载功能,通过 getProblemData API 获取题目信息
- 优化了各个编辑面板的实现,提高了代码复用性和可维护性- 新增了测试用例编辑功能,支持多输入参数的管理
- 改进了题解编辑面板,增加了预览和对比功能
- 统一了表单元素的样式和交互方式,提升了用户体验
2025-06-17 15:24:43 +08:00
207c0502f7 feat(problem-editor): realize backend for save problem edit
- 在编辑面板组件中添加 onUpdate属性,用于处理数据更新
- 新增 updateProblem 函数,实现问题数据的更新逻辑
- 在问题编辑页面中集成更新功能,实现即时保存
2025-06-17 01:35:04 +08:00
1d7a44dcd5 refactor(creater): optimize problem-creater
-为 edit-description-panel 和 edit-solution-panel 组件添加 Card 组件包装,提升视觉效果
- 用 CoreEditor 组件替换原有的 Textarea,增强编辑功能
- 优化组件结构,提高可维护性和可扩展性
2025-06-16 22:41:48 +08:00
69d377403a feat(问题编辑): add problem-editor page
- 添加了编辑问题描述、解决方案、详细信息、代码模板和测试用例的组件
- 实现了问题编辑页面的基本布局和功能
- 增加了富文本预览和对比功能
- 支持多种编程语言的代码编辑- 提供了测试用例的添加和删除功能
2025-06-16 18:37:25 +08:00
57f52b67fa refactor(components): 重构 AI优化编辑器
- 将 AIProblemEditor 组件改为 AIEditorWrapper 组件
- 移除与语言服务器相关的逻辑和状态管理- 简化了代码结构,提高了组件的可复用性和可维护性
- 优化了 AI 代码优化功能,增加了应用优化结果的按钮
-调整了样式,使界面更加直观
2025-06-14 13:33:26 +08:00
2cbc13e441 feat: migrate prototype of ai-optimized-editor feature 2025-06-14 11:33:17 +08:00
941f1a74fa feat: replace dockview with flexlayout-react 2025-06-13 14:03:17 +08:00
1c031ce24e refactor(judge-button): migrate run code button to standalone component
- Replace RunCodeButton with new JudgeButton component
- Use problem-specific stores instead of playground stores
- Implement new judge toast notification system
- Simplify authentication check logic
- Utilize new TooltipButton component
2025-05-14 17:04:03 +08:00
9003e4b5a4 refactor(components): simplify BackButton by using TooltipButton 2025-05-13 17:38:26 +08:00
9766dea138 refactor(back-button): relocate and rename back button component
- Move from features/problems/components to shared components directory
- Rename NavigateBackButton to simpler BackButton
- Update component interface naming to BackButtonProps
- Keep all existing functionality intact
2025-05-13 16:43:01 +08:00
5aec2ec323 refactor(mdx-render): simplify theme configuration and change export style
- Remove custom Monaco theme imports
- Use github default themes for rehypePrettyCode
- Change component export from default to named export
2025-05-13 16:27:46 +08:00
aec8393d2d feat(dockview): export Dockview component and create ProblemDockview wrapper
- Export Dockview component from src/components/dockview.tsx to make it reusable
- Create new ProblemDockview component in src/features/problems/components/dockview.tsx that:
  - Integrates with next-intl for locale handling
  - Connects to problem-dockview store
  - Wraps Dockview with problem-specific configuration
  - Adds locale-based key for proper re-rendering
- Maintain existing Dockview functionality including:
  - Layout persistence
  - Panel management
  - API handling
2025-05-13 16:08:33 +08:00
ad2aca2f67 refactor(language-selector): migrate to new location and implementation
- Remove old language selector from `src/components/features/playground/workspace/editor/components`
- Add new implementation in `src/features/problems/code/components/toolbar/controls`
- Update toolbar exports to include the new selector
2025-05-13 15:18:59 +08:00
2efdc21419 refactor(i18n): replace language-settings with locale-switcher
- Replace react-world-flags with next/image for better optimization
- Simplify locale handling logic and remove unused getUserLocale
- Rename component to be more descriptive (language-settings -> locale-switcher)
- Update all references to use the new component
- Add proper SVG flag assets for supported locales
- Remove react-world-flags dependency from package.json
2025-05-13 00:19:01 +08:00
baf377b722 refactor(loading): change to named export and arrow function
- Switch from default export to named export
- Convert component to arrow function
- Remove unused props parameter
2025-05-09 09:40:25 +08:00
f93224f56e chore(components): remove unused problem-related components
- Delete footer.tsx from problem/description
- Delete solution.tsx from problem/description
- Delete header.tsx from problem/workspace/editor/components
2025-05-07 14:59:17 +08:00
1db666a2ab refactor(structure): reorganize page and component exports
- Move root page from /(app) to / directory
- Convert default exports to named exports in components
- Rename MainView component to HeroSection for better semantics
2025-05-07 14:06:31 +08:00
3417d2ee49 refactor(editor): consolidate editor toolbar actions into unified structure
- Moved all editor action buttons (copy, format, undo, redo, reset) from `src/components/features/playground/workspace/editor/components/` to new location `src/features/problems/code/components/toolbar/actions/`
- Introduced shared `TooltipButton` component to reduce duplication
- Created centralized `useProblemEditorActions` hook for common editor operations
- Updated imports and exports through new index file
- Maintained all existing functionality while improving code organization
2025-05-07 13:42:08 +08:00
6c9351ccd2 feat(components): add TooltipButton component
- A reusable button with tooltip functionality
- Supports customizable delay, tooltip content, and className
- Uses shadcn/ui Tooltip and Button components
2025-05-07 13:32:26 +08:00
2e19c08e8b refactor(mdx-renderer): simplify component implementation
- Remove Suspense and Skeleton loading state
- Convert to arrow function syntax
- Reorganize import statements
- Simplify export syntax
2025-05-07 13:31:02 +08:00
aed942e7e2 refactor(layouts): overhaul problem and problemset page structures
- Simplify ProblemLayout to use children prop and remove ProblemStoreProvider
- Replace PlaygroundHeader with dedicated ProblemHeader component
- Streamline ProblemsetLayout with new ProblemsetHeader
- Remove deprecated BackButton in favor of NavigateBackButton
- Delete unused ProblemStoreProvider and related dependencies
2025-05-06 21:22:13 +08:00
f464fb7636 feat(dockview): refactor dockview component and add problem-specific implementation
- Refactor Dockview component into more modular structure:
  - Extract layout persistence logic to custom hook
  - Extract component conversion logic to custom hook
  - Make storageKey optional
  - Improve type safety with PanelParams interface
  - Add better error handling and duplicate panel detection
- Add new ProblemDockview wrapper component:
  - Integrates with problem-dockview store
  - Adds locale awareness
  - Provides standardized storage key
- Update related type definitions and imports
2025-05-06 18:45:08 +08:00
500113fe8f feat(user-avatar): refactor avatar component into user-avatar with improved structure 2025-05-05 18:39:47 +08:00
a3ef5d88e6 refactor(auth)!: remove components and rewrite sign-in page 2025-05-05 18:21:08 +08:00
443adf055b feat(editor): configure Monaco workers using URL imports for better bundling
Some checks failed
Build & Push Judge4c Docker Image / build-and-push-judge4c-docker-image (., Dockerfile, judge4c) (push) Failing after 0s
2025-04-20 01:11:38 +08:00
64182bccc6 fix(dockview): move panel titles from options to params to prevent i18n title persistence in layout 2025-04-19 12:53:39 +08:00
f40a8d3821 perf(language-settings): make locale change handling async with await 2025-04-19 10:53:34 +08:00
f2d14d07b2 feat(home): Add PrimaryFeatures component
Some checks failed
Build & Push Judge4c Docker Image / build-and-push-judge4c-docker-image (., Dockerfile, judge4c) (push) Failing after 1s
- Add PrimaryFeatures component with MobileFriendlyCard, DockerCard, and LSPCard.
- Update HomePage to include PrimaryFeatures component between MainView and FAQs.
2025-04-17 21:42:58 +08:00
fcb75269eb feat(components/ui): add Card component from shadcn/ui 2025-04-17 16:49:35 +08:00
5e7ef4a99d feat(home): replace homepage redirect with actual content 2025-04-17 16:45:49 +08:00
f39bbf76e7 feat(submissions): add login requirement for submissions page
Some checks failed
Build & Push Judge4c Docker Image / build-and-push-judge4c-docker-image (., Dockerfile, judge4c) (push) Failing after 0s
- 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
58222795fe chore(avatar): update default image to use local shadcn.jpg 2025-04-16 15:48:06 +08:00
1d0b74136f refactor(i18n): replace hardcoded texts with i18n message keys for auth 2025-04-16 00:40:36 +08:00
4428a29306 refactor(i18n): replace hardcoded texts with i18n message keys
Some checks failed
Build & Push Judge4c Docker Image / build-and-push-judge4c-docker-image (., Dockerfile, judge4c) (push) Failing after 1s
2025-04-15 18:22:21 +08:00
5465450143 feat(auth): update sign-in and sign-up flow with redirect support
Some checks failed
Build & Push Judge4c Docker Image / build-and-push-judge4c-docker-image (., Dockerfile, judge4c) (push) Failing after 0s
2025-04-14 21:27:06 +08:00
799ab3ccd1 refactor(avatar-button): remove unnecessary account and notification items from dropdown menu 2025-04-14 17:59:52 +08:00
59e133f29c feat(submissions-table): update table to display detailed status message 2025-04-14 16:53:58 +08:00
f53807338a refactor(submission-table): switch to SubmissionWithTestcaseResult to support testcase results 2025-04-14 14:15:16 +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
b35ef0208a feat(submissions-table): add click handler to open details panel 2025-04-13 22:43:01 +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
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