Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions public/locales/en/programmingLanguage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"select": {
"choose": "Select a language from the list",
"empty": "There are no options",
"selected": "Selected programming language"
}
}
85 changes: 75 additions & 10 deletions public/locales/en/task.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,84 @@
"title": {
"short": "Coding tasks"
},
"name": {
"title": "Name",
"subtitle": "Add a task name"
},
"memory.limit": {
"title": "Memory",
"subtitle": "Add task memory limit",
"value": "{{count}}Kb"
},
"time.limit": {
"title": "Execution time",
"subtitle": "Add a task execution time limit",
"value": "{{count}}s"
},
"constraints": {
"title": "Constraints",
"subtitle": "Add task organization",
"add.button": "Add"
},
"test.cases": {
"title": "Test cases",
"subtitle": "Add test cases of the task",
"input": "Input data",
"expected.output": "Expected output",
"hidden": "Active",
"add.button": "Add"
},
"task.structures": {
"title": "Code templates",
"subtitle": "Add a task name",
"language": "Programming language",
"solution.stub": "Solution code template",
"text.fixture": "Solution code testing template",
"active": "Active",
"add.button": "Add"
},
"edit.page.title": "Editing task",
"create.page.title": "Creating task",
"description": {
"title": "Description",
"subtitle": "Add task description",
"tab.title": "Description",
"constraints": {
"title": "Constraints"
}
},
"select": {
"choose": "Select a task category from the list",
"empty": "There are no options",
"selected": "Selected task category"
},
"search": {
"placeholder": "Enter a task..."
},
"difficulty": {
"title": "Question difficulty",
"subtitle": "Select a task difficulty",
"title.short": "Difficulty"
},
"languages": {
"title": "Programming languages"
},
"status": {
"solved": "Solved",
"attempted": "Attempted",
"not.started": "Not started"
},
"category": {
"title": "Task category",
"label": "Add a task category",
"placeholder": "Add a category",
"data.structures": "Data structures",
"algorithms": "algorithmics",
"arrays": "Arrays",
"databases": "Databases",
"strings": "Strings",
"dynamic.programming": "Dynamic programming"
},
"stub": {
"empty.tasks": {
"public": {
Expand All @@ -34,22 +96,25 @@
}
},
"empty.task": {
"public": {
"title": "Failed to load task data",
"subtitle": "Try again or refresh the page",
"buttonText": "Try again"
},
"admin": {}
"title": "Failed to load task data",
"subtitle": "Try again or refresh the page",
"buttonText": "Try again"
}
},
"table": {
"task.title": "Title",
"difficulty.title": "Difficulty",
"status.title": "Status"
"task": "Title",
"difficulty": "Difficulty",
"status": "Status",
"status.solved": "Solved",
"status.not.solved": "Not solved",
"memory": "Memory",
"time": "Time",
"language": "Language"
},
"solutions": {
"tab.title": "My solutions",
"tab.subtitle": "Here will be your solutions to the task"
"tab.subtitle": "Here will be your solutions to the task",
"back.button": "Solutions list"
},
"editor": {
"actions": {
Expand Down
16 changes: 16 additions & 0 deletions public/locales/en/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,22 @@
}
}
},
"tasks": {
"create": {
"success": "Task created successfully",
"failed": "Task could not be created"
},
"edit": {
"success": "Task successfully changed",
"failed": "Task could not be changed"
},
"delete": {
"single": {
"success": "Task successfully deleted",
"failed": "Task could not be deleted"
}
}
},
"questions": {
"learned": {
"success": "The question has been fully studied",
Expand Down
7 changes: 7 additions & 0 deletions public/locales/ru/programmingLanguage.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"select": {
"choose": "Выберите язык из списка",
"empty": "Нет вариантов",
"selected": "Выбранный язык программирования"
}
}
89 changes: 77 additions & 12 deletions public/locales/ru/task.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,84 @@
"title": {
"short": "Задачи на код"
},
"name": {
"title": "Название",
"subtitle": "Добавьте название задачи"
},
"memory.limit": {
"title": "Память",
"subtitle": "Добавьте ограничение по памяти задачи в Кб",
"value": "{{count}}Кб"
},
"time.limit": {
"title": "Время выполнения",
"subtitle": "Добавьте ограничение по времени выполнения задачи в секундах",
"value": "{{count}}с"
},
"constraints": {
"title": "Ограничения",
"subtitle": "Добавьте органичения задачи",
"add.button": "Добавить"
},
"test.cases": {
"title": "Тест-кейсы",
"subtitle": "Добавьте тест-кейсы задачи",
"input": "Входные данные",
"expected.output": "Ожидаемый вывод",
"hidden": "Активный",
"add.button": "Добавить"
},
"task.structures": {
"title": "Шаблоны кода",
"subtitle": "Добавьте шаблоны кода задачи",
"language": "Язык программирования",
"solution.stub": "Шаблон кода решения",
"text.fixture": "Шаблон тестирования кода решения",
"active": "Активный",
"add.button": "Добавить"
},
"edit.page.title": "Редактирование задачи",
"create.page.title": "Создание задачи",
"description": {
"title": "Описание",
"subtitle": "Добавьте описание задачи",
"tab.title": "Описание",
"constraints": {
"title": "Ограничения"
}
},
"select": {
"choose": "Выберите категорию задачи из списка",
"empty": "Нет вариантов",
"selected": "Выбранная категория задачи"
},
"search": {
"placeholder": "Введите задачу..."
},
"difficulty": {
"title": "Сложность вопросов",
"title": "Сложность задачи",
"subtitle": "Укажите сложность задачи",
"title.short": "Сложность"
},
"languages": {
"title": "Языки программирования"
},
"status": {
"solved": "Решена",
"attempted": "В процессе",
"not.started": "Не начата"
},
"category": {
"title": "Категория",
"subtitle": "Добавьте категорию задачи",
"placeholder": "Добавьте категорию",
"data.structures": "Структуры данных",
"algorithms": "Алгоритмы",
"arrays": "Массивы",
"databases": "Базы данных",
"strings": "Строки",
"dynamic.programming": "Динамическое программирование"
},
"stub": {
"empty.tasks": {
"public": {
Expand All @@ -34,26 +96,29 @@
}
},
"empty.task": {
"public": {
"title": "Не удалось загрузить данные задачи",
"subtitle": "Попробуйте обновить страницу или повторить попытку",
"submit": "Повторить попытку"
},
"admin": {}
"title": "Не удалось загрузить данные задачи",
"subtitle": "Попробуйте обновить страницу или повторить попытку",
"submit": "Повторить попытку"
}
},
"table": {
"task.title": "Название задачи",
"difficulty.title": "Сложность",
"status.title": "Статус"
"task": "Название задачи",
"difficulty": "Сложность",
"status": "Статус",
"status.solved": "Решено верно",
"status.not.solved": "Решено не верно",
"memory": "Память",
"time": "Время",
"language": "Язык"
},
"solutions": {
"tab.title": "Мои решения",
"tab.subtitle": "Здесь будут ваши решения задачи"
"tab.subtitle": "Здесь будут ваши решения задачи",
"back.button": "Список решений"
},
"editor": {
"actions": {
"run": "Выполнить",
"run": "Проверить",
"submit": "Отправить"
}
},
Expand Down
16 changes: 16 additions & 0 deletions public/locales/ru/translation.json
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,22 @@
}
}
},
"tasks": {
"create": {
"success": "Задача успешно создана",
"failed": "Не удалось создать задачу"
},
"edit": {
"success": "Задача успешно изменена",
"failed": "Не удалось изменить задачу"
},
"delete": {
"single": {
"success": "Задача успешно удалена",
"failed": "Не удалось удалить задачу"
}
}
},
"questions": {
"learned": {
"success": "Вопрос полностью изучен",
Expand Down
15 changes: 15 additions & 0 deletions src/app/providers/router/routeConfig.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ import { SpecializationCreatePage } from '@/pages/admin/specialization/specializ
import { SpecializationDetailPage } from '@/pages/admin/specialization/specializationDetail';
import { SpecializationEditPage } from '@/pages/admin/specialization/specializationEdit';
import { SpecializationsPage } from '@/pages/admin/specialization/specializations';
import { TaskCreatePage } from '@/pages/admin/task/taskCreate';
import { TaskPage as AdminTaskPage } from '@/pages/admin/task/taskDetail';
import { TaskEditPage } from '@/pages/admin/task/taskEdit';
import { TasksTablePage } from '@/pages/admin/task/tasks';
import { TopicCreatePage } from '@/pages/admin/topic/topicCreate';
import { TopicDetailPage } from '@/pages/admin/topic/topicDetail';
Expand Down Expand Up @@ -566,6 +569,18 @@ export const router = createBrowserRouter([
index: true,
element: <TasksTablePage />,
},
{
path: ROUTES.admin.tasks.create.route,
element: <TaskCreatePage />,
},
{
path: ROUTES.admin.tasks.edit.route,
element: <TaskEditPage />,
},
{
path: ROUTES.admin.tasks.details.route,
element: <AdminTaskPage />,
},
],
},
{
Expand Down
1 change: 1 addition & 0 deletions src/entities/profile/@x/task.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { getProfileId } from '../model/selectors/profileSelectors';
7 changes: 7 additions & 0 deletions src/entities/programmingLanguage/@x/task.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export type {
ProgrammingLanguage,
ProgrammingLanguageCode,
} from '../model/types/programmingLanguage';
export { ProgrammingLanguageList } from '../ui/ProgrammingLanguageList/ProgrammingLanguageList';
export { ProgrammingLanguageSelect } from '../ui/ProgrammingLanguageSelect/ProgrammingLanguageSelect';
export { useGetLanguagesQuery } from '../api/programmingLanguageApi';
3 changes: 3 additions & 0 deletions src/entities/programmingLanguage/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
export { useGetLanguagesQuery } from './api/programmingLanguageApi';
export type { ProgrammingLanguage, GetLanguagesResponse } from './model/types/programmingLanguage';
export { ProgrammingLanguageList } from './ui/ProgrammingLanguageList/ProgrammingLanguageList';
export { ProgrammingLanguageSelect } from './ui/ProgrammingLanguageSelect/ProgrammingLanguageSelect';
export { ProgrammingLanguageChipList } from './ui/ProgrammingLanguageChipList/ProgrammingLanguageChipList';
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
type ProgrammingLanguageCode = 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby';
export type ProgrammingLanguageCode = 'cpp' | 'go' | 'java' | 'javascript' | 'python' | 'ruby';

export interface ProgrammingLanguage {
id: number;
Expand All @@ -7,6 +7,7 @@ export interface ProgrammingLanguage {
monacoLangId: ProgrammingLanguageCode;
fileExtension: string;
isActive: boolean;
imageSrc: string;
}

export type GetLanguagesResponse = ProgrammingLanguage[];
Loading