courses go in their own page

This commit is contained in:
2023-08-31 14:03:46 -06:00
parent 146e3b73e2
commit c936e3828c
4 changed files with 66 additions and 17 deletions

View File

@@ -9,6 +9,7 @@
@using Management.Web.Shared.Module.Assignment @using Management.Web.Shared.Module.Assignment
@using Management.Web.Shared.Components @using Management.Web.Shared.Components
@inject YamlManager yamlManager
@inject CanvasService canvas @inject CanvasService canvas
@inject CoursePlanner planner @inject CoursePlanner planner
@@ -16,6 +17,62 @@
[Parameter] [Parameter]
public string CourseName { get; set; } public string CourseName { get; set; }
private bool loading = true;
protected override async Task OnInitializedAsync()
{
if(planner.LocalCourse == null)
{
var courses = await yamlManager.LoadSavedCourses();
planner.LocalCourse = courses.First(c => c.Name == CourseName);
}
base.OnInitialized();
loading = false;
}
} }
@planner.LocalCourse?.Name @if(loading)
{
<Spinner />
}
@if(planner.LocalCourse != null)
{
<div class="mb-3 d-flex justify-content-between" style="height: 4em;">
<div class="my-auto">
<button
@onclick="planner.Clear"
class="btn btn-primary"
>
Select New Course
</button>
<CourseSettings />
<AssignmentTemplateManagement />
<button
class="btn btn-outline-primary"
@onclick="planner.SyncWithCanvas"
>
Sync With Canvas
</button>
<a
class="btn btn-outline-secondary"
target="_blank"
href="@($"{Environment.GetEnvironmentVariable("CANVAS_URL")}/courses/{planner.LocalCourse.CanvasId}")"
>
View In Canvas
</a>
<div class="my-auto ms-2 d-inline">
@planner.LocalCourse.Name
</div>
</div>
@if(planner.LoadingCanvasData)
{
<Spinner />
}
</div>
<CourseDetails />
}
<br>

View File

@@ -18,6 +18,7 @@
protected override void OnInitialized() protected override void OnInitialized()
{ {
planner.StateHasChanged += reload; planner.StateHasChanged += reload;
planner.LocalCourse = null;
} }
private void reload() private void reload()
@@ -76,7 +77,7 @@
} }
} }
@if(planner.LocalCourse != null) @* @if(planner.LocalCourse != null)
{ {
<div class="mb-3 d-flex justify-content-between" style="height: 4em;"> <div class="mb-3 d-flex justify-content-between" style="height: 4em;">
<div class="my-auto"> <div class="my-auto">
@@ -113,7 +114,7 @@
} }
</div> </div>
<CourseDetails /> <CourseDetails />
} } *@
<br> <br>

View File

@@ -39,7 +39,8 @@
{ {
var newQuestion = new LocalQuizQuestion var newQuestion = new LocalQuizQuestion
{ {
Id = Guid.NewGuid().ToString() Id = Guid.NewGuid().ToString(),
Points = 1,
}; };
var newQuiz = quizContext.Quiz with var newQuiz = quizContext.Quiz with
{ {

View File

@@ -19,7 +19,7 @@
{ {
logger.LogInformation("here"); logger.LogInformation("here");
planner.LocalCourse = course; planner.LocalCourse = course;
Navigation.NavigateTo("/course/" + course.Name); Navigation.NavigateTo("/course/" + course.Name);
} }
} }
@@ -27,24 +27,14 @@
<div class="text-center"> <div class="text-center">
@if (localCourses != null) @if (localCourses != null)
{ {
<h3 >Stored Courses</h3> <h3>Stored Courses</h3>
@foreach (var course in localCourses) @foreach (var course in localCourses)
{ {
var location = "/course/" + course.Name; var location = "/course/" + course.Name;
<div> <div>
<h4 <h4 class="m-3 hover-underline-animation" @onclick="(e) => handleClick(e, course)" role='button'>
class="m-3 hover-underline-animation"
@onclick="(e) => handleClick(e, course)"
role='button'
>
@course.Name @course.Name
</h4> </h4>
@* <h4
@onclick="(e) => handleClick(e, course)"
role='button'
>
@course.Name
</h4> *@
</div> </div>
} }