Упражнения не найдены. Измените запрос.
+ } + else + { +Двойной клик или Enter — добавить
+ } +Выбрано: @SelectedExercise.Name
+ } +КАРТОЧКА КЛИЕНТА
+Создайте первую программу, а в следующем месяце используйте её как основу.
+Создана @plan.CreatedAtUtc.ToLocalTime().ToString("dd.MM.yyyy")
+Попробуйте обновить страницу. Если ошибка повторяется, вернитесь к списку клиентов.
+К клиентам diff --git a/src/TrainingPlanner.Web/Components/Pages/Exercises.razor b/src/TrainingPlanner.Web/Components/Pages/Exercises.razor new file mode 100644 index 0000000..751eecf --- /dev/null +++ b/src/TrainingPlanner.Web/Components/Pages/Exercises.razor @@ -0,0 +1,81 @@ +@page "/exercises" +@attribute [Authorize] +@rendermode InteractiveServer +@inherits UiPageBase +БИБЛИОТЕКА
+Название и ссылка на видео — для быстрого добавления в программу.
+@importMessage
} +@if (!string.IsNullOrEmpty(Error)) {Перетащите упражнение на название группы или на «Без группы», чтобы перенести его.
+@(exercise.Group?.Name ?? "Без группы")
В этом списке пока нет упражнений, подходящих под запрос.
+} diff --git a/src/TrainingPlanner.Web/Components/Pages/Exercises.razor.cs b/src/TrainingPlanner.Web/Components/Pages/Exercises.razor.cs new file mode 100644 index 0000000..a235f9c --- /dev/null +++ b/src/TrainingPlanner.Web/Components/Pages/Exercises.razor.cs @@ -0,0 +1,103 @@ +using Microsoft.AspNetCore.Components; +using Microsoft.JSInterop; +using TrainingPlanner.Application; +using TrainingPlanner.Domain; + +namespace TrainingPlanner.Web.Components.Pages; + +public partial class Exercises +{ + [Inject] public IExerciseRepository ExerciseLibrary { get; set; } = null!; + [Inject] public IExerciseGroupRepository GroupRepository { get; set; } = null!; + [Inject] public IJSRuntime JavaScript { get; set; } = null!; + private ListРАБОЧЕЕ ПРОСТРАНСТВО
+Персональные программы и история тренировок.
+После добавления клиента можно создать его программу на месяц.
+Открыть программы
+ПРОГРАММА НА МЕСЯЦ
+