judge4c/messages/en.json

242 lines
6.9 KiB
JSON
Raw Normal View History

{
"AppearanceSettings": {
"title": "Choose a theme",
"items": {
"System": "System",
"Light": "Light",
"Dark": "Dark"
}
},
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
"UserAvatar": {
"Settings": "Settings",
"LogIn": "LogIn",
"LogOut": "LogOut"
},
"Banner": {
"Text": "Star this project if you like it."
},
"BackButton": "Back",
"Bot": {
"title": "Ask Bot",
"description": "Powered by Vercel Ai SDK",
"placeholder": "Bot will automatically get your current code"
},
"BotVisibilityToggle": {
"open": "Open Bot",
"close": "Close Bot"
},
"CredentialsSignInForm": {
"email": "Email",
"password": "Password",
"signIn": "Sign In",
"signingIn": "Signing In...",
"signInSuccess": "Signed In Successfully",
"signInFailed": "Sign In Failed",
"showPassword": "Show password",
"hidePassword": "Hide password"
},
"CredentialsSignUpForm": {
"email": "Email",
"password": "Password",
"signUp": "Sign Up",
"creatingAccount": "Creating Account...",
"signUpSuccess": "Account Created",
"signUpSuccessDescription": "You can now sign in with your credentials",
"signUpFailed": "Registration Failed",
"showPassword": "Show password",
"hidePassword": "Hide password"
},
"DetailsPage": {
"BackButton": "All Submissions",
"Time": "Submitted on",
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
"Input": "Last Executed Input",
"ExpectedOutput": "Expected Output",
"ActualOutput": "Acutal Output",
"Code": "Code"
},
"Difficulty": {
"EASY": "EASY",
"MEDIUM": "MEDIUM",
"HARD": "HARD"
},
"GithubSignInForm": "Continue with GitHub",
"LanguageSettings": {
"en": {
"flag": "🇺🇸",
"name": "English"
},
"zh": {
"flag": "🇨🇳",
"name": "Chinese"
}
},
"PlaygroundHeader": {
"RunCodeButton": {
"TooltipTrigger": {
"loading": "Running...",
"ready": "Run"
},
"TooltipContent": "Run Code"
}
},
"ProblemPage": {
"Description": "Description",
"Solutions": "Solutions",
"Submissions": "Submissions",
"Details": "Details",
"Code": "Code",
"Testcase": "Testcase",
"Bot": "Bot"
},
"ProblemsetPage": {
"Status": "Status",
"Title": "Title",
"Difficulty": "Difficulty"
},
"SettingsDialog": {
"title": "Settings",
"description": "Customize your settings here.",
"breadcrumb": "Settings",
"nav": {
"Appearance": "Appearance",
"Language": "Language",
"CodeEditor": "CodeEditor",
"Advanced": "Advanced"
}
},
"SignInForm": {
"title": "Sign in to your account",
"description": "Enter your email below to sign in to your account",
"or": "Or",
"noAccount": "Don't have an account?",
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
"signUp": "Sign up",
"oauth": "Sign in with {provider}"
},
"signInWithCredentials": {
"userNotFound": "User not found.",
"invalidCredentials": "Invalid credentials.",
"incorrectPassword": "Incorrect password.",
"signInFailedFallback": "Failed to sign in. Please try again."
},
"signUpWithCredentials": {
"userAlreadyExists": "User already exists.",
"registrationFailedFallback": "Registration failed. Please try again."
},
"SignUpForm": {
"title": "Sign up to your account",
"description": "Enter your email below to sign up to your account",
"or": "Or",
"haveAccount": "Already have an account?",
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
"signIn": "Sign in",
"oauth": "Sign in with {provider}"
},
"StatusMessage": {
"PD": "Pending",
"QD": "Queued",
"CP": "Compiling",
"CE": "Compilation Error",
"CS": "Compilation Success",
"RU": "Running",
"TLE": "Time Limit Exceeded",
"MLE": "Memory Limit Exceeded",
"RE": "Runtime Error",
"AC": "Accepted",
"WA": "Wrong Answer",
"SE": "System Error"
},
"SubmissionsTable": {
"Index": "Index",
"Status": "Status",
"Language": "Language",
"Time": "Time",
"Memory": "Memory"
},
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
"Testcase": {
"Table": {
"Case": "Case"
}
},
"WorkspaceEditorHeader": {
"LspStatusButton": {
"TooltipContent": "Language Server"
},
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
"AnalyzeButton": {
"TooltipContent": "Analyze",
"ComplexityAnalysis": "Complexity Analysis",
"TimeComplexity": "Time Complexity:",
"SpaceComplexity": "Space Complexity",
"Error": "Error occurred while analyzing complexity, please try again later.",
"Analyzing": "Analyzing..."
},
"ResetButton": {
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
"TooltipContent": "Reset"
},
"UndoButton": {
"TooltipContent": "Undo"
},
"RedoButton": {
"TooltipContent": "Redo"
},
"FormatButton": {
"TooltipContent": "Format"
},
"CopyButton": {
"TooltipContent": "Copy"
}
},
"WorkspaceEditorFooter": {
"Row": "Row",
"Column": "Column"
},
"HomePage": {
"MainView": {
"title": "Judge4c",
"description": "All in one place to support coding learning and teaching:",
"features": {
"feature1": "Integrated Language Services with Code Completion & Diagnostics",
"feature2": "Multi-language Support + Real-time Execution Feedback for Faster Learning",
"feature3": "World's First Open-Source Next.js + Monaco LSP Implementation"
},
"quickStart": "Quickstart",
"contactUs": "Contact Us"
},
"PrimaryFeatures": {
"title": "Features",
"MobileFriendlyCard": {
"title": "Mobile Friendly",
"description": "Responsive design with TailwindCSS, automatically adapts to different devices (quiz interface adaptation still in development)"
},
"DockerCard": {
"title": "Ready to Use",
"description": "Pre-built Docker images for quick deployment, saving configuration time"
},
"LSPCard": {
"title": "Say Goodbye to Primitive Editors",
"description": "Integrated with real-time detection, code completion, and type hints"
}
},
"FAQs": {
"title": "Frequently Asked Questions",
"description": "Can't find your answer? Contact us!",
"questions": {
"question1": "Which code editor is used?",
"answer1": "Built with Microsoft's Monaco Editor",
"question2": "What programming languages are supported?",
"answer2": "Full support for C/C++ (with LSP integration), syntax highlighting for other languages",
"question3": "How do theme and language settings work?",
"answer3": "Themes auto-switch (system-aware) or can be manually set; language defaults to browser preference with manual override",
"question4": "What styling solutions are used for the editor and docs?",
"answer4": "Editor uses @shikijs/monaco themes, documentation rendered with github-markdown-css"
}
}
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
},
"LoginPromptCard": {
"title": "Join Judge4c to Code!",
"description": "View your Submission records here",
"loginButton": "Log In"
},
"Video": {
"unsupportedBrowser": "Your browser does not support HTML5 video."
}
feat: update main branch (#45) * chore(deps): add pino and pino-pretty packages * feat(log): add pino logging support * chore(tailwind): update config with features path and animate import * chore(deps): add react-icons package * refactor(auth)!: replace credentials with OAuth providers and add logging BREAKING CHANGE: - Removed credentials-based authentication - Added Google OAuth provider - Implemented detailed logging for auth events - Removed custom JWT/session handling - Added sign-in page configuration - Marked as server-only * refactor(auth)!: remove components and rewrite sign-in page * feat(user-avatar): refactor avatar component into user-avatar with improved structure * style(dockview): reduce tabs container height and center align items - Changed --dv-tabs-and-actions-container-height from 44px to 36px - Added align-items: center to .dv-tabs-container - Improved CSS formatting for better readability * refactor(stores): split dockview store into problem-specific store - Remove generic dockview store (`src/stores/dockview.tsx`) - Add problem-specific dockview store (`src/stores/problem-dockview.tsx`) - Remove submission-related state as it's no longer needed * 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 * refactor(problems): migrate description and solution to feature-based structure - Remove old parallel route implementations (@Description and @Solutions) - Add new feature-based components for problem description and solution - Create content and panel components for both features - Implement skeleton loading states - Use cached data fetching - Update MDX rendering and scroll area implementations * chore(problems): move problem-dockview to components directory * 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 * feat(prisma): add server-only caching for problems queries - Add 'server-only' import to enforce server-side usage - Implement cached problem queries with logging: - Add getProblems/getCachedProblems for all problems - Add getProblem/getCachedProblem for single problem by ID - Use React cache and Next.js unstable_cache with tags - Add detailed logging with timing metrics * refactor(mdx-renderer): simplify component implementation - Remove Suspense and Skeleton loading state - Convert to arrow function syntax - Reorganize import statements - Simplify export syntax * 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 * 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 * 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 * refactor(route): rename [id] to [problemId] in problems route * 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 * fix(page): add missing return statement in RootPage component * feat(prisma/schema): add multilingual support for problem descriptions and solutions BREAKING CHANGE: - Removed `description` and `solution` fields from Problem model - Added new models `ProblemDescription` and `ProblemSolution` with language support (EN/ZH) - Updated seed data structure to support multilingual content - Requires database migration and data migration from old structure * chore(prisma/migrations): add migration for multilingual problem support * fix(styles): adjust tabs overflow container height in abyss theme Changed height property from 'unset !important' to '100%' for .dv-tabs-overflow-container and .dv-tabs-overflow-dropdown-default in the abyss-spaced theme to fix layout issues. * 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 * chore(shiki): convert function to arrow function * chore(scripts): remove --turbopack flag from dev script * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(prisma): simplify schema and remove zod-prisma-types - Reorganized Prisma schema structure with simplified models and relations - Removed zod-prisma-types generator as it's no longer needed - Consolidated problem content types into a single ProblemLocalization model - Simplified testcase and template structures - Removed unused prisma types file * refactor(i18n): migrate locale configuration to generated types - Replace hardcoded locale strings with generated Locale enum from client - Update cookie key name to be more specific (LOCALE_COOKIE_NAME -> JUDGE4C_LOCALE_KEY) - Rename defaultLocale to DEFAULT_LOCALE for consistency - Add 'server-only' imports to ensure server-side usage - Simplify locale validation using Object.values(Locale) - Clean up accept-language header parsing logic * refactor(hooks): remove theme config and simplify theme hook - Delete src/config/monaco-theme.ts and src/types/monaco-theme.ts - Simplify useMonacoTheme hook to directly return theme strings - Format use-mobile.ts with consistent semicolons and quotes * 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 * refactor(shiki): migrate to shiki/core with lazy initialization - Replace shiki with shiki/core for better tree-shaking - Change highlighter initialization to explicit theme/lang imports - Export getHighlighter function instead of direct highlighter instance - Add error handling for uninitialized highlighter access * 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 * feat(problems): add localization support for problem descriptions and solutions - Replace cached problem data with direct Prisma queries for localized content - Implement locale-based content selection for both descriptions and solutions - Refactor skeleton loading components structure - Change all exports from named to default exports * refactor(code-toolbar): standardize component exports and simplify reset logic - Changed all toolbar action components from named exports with curly braces to default exports - Simplified ResetButton by moving template logic to useProblemEditorActions hook - Updated useProblemEditorActions to handle template selection internally using store data - Renamed problem-editor-store import to problem-editor for consistency * refactor(prisma): simplify prisma client initialization and remove caching Removed all caching and logging functionality from prisma.ts, keeping only the basic Prisma client initialization logic. This includes: - Removal of getProblems, getCachedProblems, getProblem, getCachedProblem functions - Removal of related logger and cache imports - Simplified the global prisma client instantiation * feat(config): add LANGUAGES constant for language enum values * refactor(problemset): move components to separate files and improve structure - Move ProblemsetHeader component from 'problemset-header' to 'header' - Extract problemset table logic into dedicated ProblemsetTable component - Add Suspense and skeleton loading for better UX - Update layout and page structure * 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 * refactor(problems): update ProblemHeader import path to new location * 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 * feat(store): add problem editor state management - Create problem-editor store with Zustand - Manage editor state including problem, language, value and path - Implement localStorage persistence for editor content - Provide utility functions for language and value retrieval * chore(utils): remove unused utility functions - Remove getPath function (moved to problem-editor store) - Remove getDifficultyColorClass function (unused) - Keep only core cn utility function * feat(code-panel): add code editor panel components - Add CodePanel component as container for editor interface - Add CodeContent component with Prisma data fetching - Include CodeContentSkeleton for loading state - Implement ProblemEditor integration with templates * 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 * feat(problemset): enhance header component with back button and className prop - Replace problem-header.tsx with new header.tsx implementation - Add BackButton functionality to navigate to home page - Make className prop configurable using cn utility - Maintain existing user avatar functionality * refactor(config): migrate editor options to standalone editor config - Rename `editor-language.ts` to `editor.ts` - Update interface from `IEditorConstructionOptions` to `IStandaloneEditorConstructionOptions` - Keep all existing editor options unchanged * refactor(components): simplify BackButton by using TooltipButton * refactor(problems): consolidate judge status toast - Migrate status toast from shared hooks to problems feature - Remove deprecated show-status-toast.tsx and status.ts - Implement self-contained JudgeToast component with built-in status mapping * 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 * refactor(api): extract OpenAI client to shared module * fix(prisma): make TestcaseResult.output field optional * chore(prisma): make TestcaseResult.output nullable in migration * feat: replace dockview with flexlayout-react
2025-06-21 06:09:57 +00:00
}