Conversation
…ourse page Bring the task-solutions functionality into CourseExperimental instead of sending students to the separate solutions page. - New TaskInlineSolutions component: per selected task it shows the student's solutions as accordions (TaskSolutionComponent), an add/edit-solution form (AddOrEditSolution) and the task questions block (TaskQuestions). Reuses existing components, styled to match the redesign. - CourseExperimental: render the block under the selected task for students; add an "only unsolved" filter for the task list; show the student's score in the task header; accept courseMates and a selectedTaskId deep-link prop. - CourseTaskExperimental: student score in the header, "Условие задачи" heading. - Course: pass courseMates and the ?taskId= param through. Adapted on top of the teammates' redesign; layout details still to be refined. Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
…course page Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
…nline solution submit Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
…a redirect The /task/:taskId route now resolves the task's course and redirects to the course page with that task opened, so existing links (notifications, emails, deadline list, stats table) keep working without a separate page. Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
…solutions load Until the per-task solutions request finishes, the block used to render "you have no solutions yet", which was misleading on a slow backend response. Now it shows the project's standard loading animation instead. Also tidies the comments around getTaskRating and the filter storage key. Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
…urse page Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
Contributor
Author
|
@DedSec256 обновила pr |
MigunovaAnastasia1
force-pushed
the
feature/add-solutions-to-course
branch
2 times, most recently
from
September 10, 2026 21:13
e2e68f9 to
a8dd07b
Compare
DedSec256
reviewed
Sep 10, 2026
Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
- Replaced the outdated task link (/task/:taskId) in notifications with the
current one, /courses/{courseId}/homeworks?taskId={taskId}.
- Added a link to the specific homework in new/updated homework
notifications, so students can jump straight to it instead of just the course.
Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
…ed task model Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
Signed-off-by: Migunova Anastasia <anastasiamigunova76@gmail.com>
DedSec256
reviewed
Sep 11, 2026
DedSec256
reviewed
Sep 11, 2026
Contributor
Author
|
@DedSec256 спасибо за ревью, всё поправила |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Данный PR переносит всю функциональность со страницы "Решения" (на которую ранее можно было перейти по ссылке "Решения" со страницы курса) на страницу курса и убирает отдельную страницу решений.
Интерфейс
Архитектура решения
TaskSolutions— тот же, что применяется наStudentSolutionsPage. Новый компонентCourseTaskSolutions— тонкая обёртка вокруг него: загрузка решений студента,TaskSolutionsи диалогAddOrEditSolution. Ни логика, ни интерфейс не дублируютсяCourseExperimental, на место прежней ссылки-кнопки "Решения"; состояние формы отправки/редактирования решения (addSolutionOpen) поднято вCourseExperimental/task/:taskId(TaskSolutionsPage.tsx)удалена, вместо неё редиректTaskRedirect: поtaskIdопределяется курс и открывается страница курса с уже выбранной задачей (?taskId=). Поэтому все существующие ссылки на старую страницу решений продолжают работатьCourseпересчитывает статистику курса, и балл за задачу в шапке обновляется без перезагрузки страницы