@page "/" @using CanvasModel.EnrollmentTerms @using Management.Web.Shared.Course @using Management.Web.Shared.Module.Assignment.Templates @using Management.Web.Shared.Semester @using CanvasModel.Courses @using Microsoft.AspNetCore.Components.Server.ProtectedBrowserStorage @using LocalModels @using Management.Web.Shared.Module.Assignment @using Management.Web.Shared.Components @inject CanvasService canvas @inject CoursePlanner planner @inject ICanvasTokenManagement tokenManagement @code { private bool showNewFile { get; set; } = false; private bool hasCanvasToken { get; set; } = false; protected override void OnInitialized() { planner.StateHasChanged += reload; } private void reload() { this.InvokeAsync(this.StateHasChanged); } public void Dispose() { planner.StateHasChanged -= reload; } protected override async Task OnAfterRenderAsync(bool firstRender) { if(firstRender) { hasCanvasToken = await tokenManagement.GetCanvasToken() != null; StateHasChanged(); } } private async Task SetToken(string newToken) { await tokenManagement.SaveCanvasToken(newToken); hasCanvasToken = true; StateHasChanged(); } } Index @if(!hasCanvasToken) { } @if(planner.LocalCourse == null) { @if(!showNewFile) {
} @if(showNewFile) {
} } @if(planner.LocalCourse != null) {
}