2d5d075879
1. Created feature-based folder structure - Components now organized by domain feature 2. Moved all components - 20+ files moved to new locations 3. Updated _Imports.razor - Added all new namespace paths for global component access 4. Updated CustomThemes.cs namespace - Changed from WebApp.Components.Layout to WebApp.Components.Shared.Layout 5. Removed old using directives - Cleaned up Login.razor and Routes.razor 6. Removed empty directories - Cleaned up old folder structure
58 lines
2.0 KiB
Plaintext
58 lines
2.0 KiB
Plaintext
@using Core.Calculation
|
|
|
|
@if (UnscheduledStudents.Any())
|
|
{
|
|
<MudText Typo="Typo.body1" HtmlTag="strong">Unscheduled</MudText>
|
|
<MudStack>
|
|
@foreach (var student in UnscheduledStudents)
|
|
{
|
|
var isAbsent = AbsentStudents.Contains(student);
|
|
<MudItem>
|
|
<MudText Typo="Typo.body1" HtmlTag="i">
|
|
@student.FirstName@(isAbsent ? " (absent)" : "")
|
|
</MudText>
|
|
@foreach (var unassignedTeam in UnassignedTeams(student))
|
|
{
|
|
var isPossibleAddition = PossibleAdditions.Contains(unassignedTeam, new TeamIdComparer());
|
|
var isScheduled = ScheduledTeams.Contains(unassignedTeam);
|
|
var color = isPossibleAddition ? Color.Success : Color.Default;
|
|
|
|
if (unassignedTeam != UnassignedTeams(student).First())
|
|
{
|
|
<span>, </span>
|
|
}
|
|
<MudLink Typo="Typo.body2"
|
|
Color="@color"
|
|
OnClick="@(() => OnToggleTeam.InvokeAsync(unassignedTeam))">
|
|
<MudIcon Icon="@Icons.Material.Filled.Check"
|
|
Size="Size.Small"
|
|
Class="@(isScheduled ? "" : "d-none")">
|
|
</MudIcon>
|
|
@unassignedTeam
|
|
</MudLink>
|
|
}
|
|
</MudItem>
|
|
}
|
|
</MudStack>
|
|
}
|
|
|
|
@code {
|
|
[Parameter]
|
|
public IEnumerable<Student> UnscheduledStudents { get; set; } = [];
|
|
|
|
[Parameter]
|
|
public IEnumerable<Student> AbsentStudents { get; set; } = [];
|
|
|
|
[Parameter]
|
|
public IEnumerable<Team> ScheduledTeams { get; set; } = [];
|
|
|
|
[Parameter]
|
|
public IEnumerable<Team> PossibleAdditions { get; set; } = [];
|
|
|
|
[Parameter]
|
|
public Func<Student, IEnumerable<Team>> UnassignedTeams { get; set; } = null!;
|
|
|
|
[Parameter]
|
|
public EventCallback<Team> OnToggleTeam { get; set; }
|
|
}
|