180 lines
6.6 KiB
Plaintext
180 lines
6.6 KiB
Plaintext
@using Microsoft.EntityFrameworkCore
|
|
@using WebApp.Components.Shared.Components
|
|
@attribute [Authorize]
|
|
@page "/events/printout"
|
|
@inject IConfiguration Configuration
|
|
@inject AppDbContext Context
|
|
|
|
<PageHeader
|
|
Title="@($"TSA Events {Configuration["ChapterSettings:CompetitionYear"]}")"
|
|
Description="Yearly theme: Unity Through Community" />
|
|
|
|
@if (_events == null)
|
|
{
|
|
<p><em>Loading...</em></p>
|
|
}
|
|
else
|
|
{
|
|
<MudContainer>
|
|
@foreach (var evt in _events)
|
|
{
|
|
<MudContainer Class="mt-3 mb-1 nobrk">
|
|
<MudGrid>
|
|
<MudItem xs="4">
|
|
<MudStack>
|
|
<MudItem>
|
|
<MudText Class="d-flex py-1" Typo="Typo.h5">@evt.Name</MudText>
|
|
</MudItem>
|
|
@if (evt.RegionalEvent)
|
|
{
|
|
<MudItem>
|
|
<MudText Class="d-flex" Typo="Typo.caption"><i>Regional Event</i></MudText>
|
|
</MudItem>
|
|
}
|
|
</MudStack>
|
|
</MudItem>
|
|
<MudItem xs="2">
|
|
|
|
<MudText>
|
|
@if (evt.EventFormat is EventFormat.Team)
|
|
{
|
|
<strong>@evt.EventFormat</strong>
|
|
<br/>
|
|
<p>Size: <strong>@evt.TeamSize</strong></p>
|
|
}
|
|
else
|
|
{
|
|
<strong>@evt.EventFormat</strong>
|
|
}
|
|
</MudText>
|
|
|
|
</MudItem>
|
|
<MudItem xs="3">
|
|
Eligibility: @evt.Eligibility
|
|
</MudItem>
|
|
<MudItem xs="1">
|
|
<strong> Effort</strong>: @evt.LevelOfEffort
|
|
</MudItem>
|
|
<MudItem xs="2">
|
|
<strong>Activity</strong>: @evt.SemifinalistActivity
|
|
</MudItem>
|
|
|
|
<MudItem xs="12">
|
|
<MudText Class="d-flex py-1 pre-wrap-text">@evt.Description</MudText>
|
|
</MudItem>
|
|
@if (!string.IsNullOrEmpty(evt.Theme))
|
|
{
|
|
<MudItem xs="3">
|
|
<MudText Class="d-flex py-1">
|
|
<i>Theme for 2025-26:</i>
|
|
</MudText>
|
|
</MudItem>
|
|
<MudItem xs="8">
|
|
<MudText Class="d-flex py-1 pre-wrap-text">@evt.Theme</MudText>
|
|
</MudItem>
|
|
}
|
|
|
|
@if (!string.IsNullOrEmpty(evt.Documentation))
|
|
{
|
|
<MudItem xs="3">
|
|
<MudText Class="d-flex py-1">
|
|
<i>Materials:</i>
|
|
</MudText>
|
|
</MudItem>
|
|
<MudItem xs="8">
|
|
<MudText Class="d-flex py-1 pre-wrap-text">@evt.Documentation</MudText>
|
|
</MudItem>
|
|
}
|
|
|
|
</MudGrid>
|
|
</MudContainer>
|
|
<MudDivider />
|
|
}
|
|
</MudContainer>
|
|
|
|
<MudContainer>
|
|
@foreach (var evt in _events)
|
|
{
|
|
<MudContainer Class="mt-3 mb-1 nobrk">
|
|
<MudGrid>
|
|
<MudItem xs="4">
|
|
<MudStack>
|
|
<MudItem>
|
|
<MudText Class="d-flex py-1" Typo="Typo.h5">@evt.Name</MudText>
|
|
</MudItem>
|
|
@if (evt.RegionalEvent)
|
|
{
|
|
<MudItem>
|
|
<MudText Class="d-flex" Typo="Typo.caption"><i>Regional Event</i></MudText>
|
|
</MudItem>
|
|
}
|
|
</MudStack>
|
|
</MudItem>
|
|
<MudItem xs="2">
|
|
|
|
<MudText>
|
|
@if (evt.EventFormat is EventFormat.Team)
|
|
{
|
|
<strong>@evt.EventFormat</strong>
|
|
<br />
|
|
<p>Size: <strong>@evt.TeamSize</strong></p>
|
|
}
|
|
else
|
|
{
|
|
<strong>@evt.EventFormat</strong>
|
|
}
|
|
</MudText>
|
|
|
|
</MudItem>
|
|
<MudItem xs="3">
|
|
Eligibility: @evt.Eligibility
|
|
</MudItem>
|
|
<MudItem xs="1">
|
|
<strong> Effort</strong>: @evt.LevelOfEffort
|
|
</MudItem>
|
|
<MudItem xs="2">
|
|
<strong>Activity</strong>: @evt.SemifinalistActivity
|
|
</MudItem>
|
|
|
|
<MudItem xs="12">
|
|
<MudText Class="d-flex py-1 pre-wrap-text">@evt.Description</MudText>
|
|
</MudItem>
|
|
@if (!string.IsNullOrEmpty(evt.Theme))
|
|
{
|
|
<MudItem xs="3">
|
|
<MudText Class="d-flex py-1">
|
|
<i>Theme for 2025-26:</i>
|
|
</MudText>
|
|
</MudItem>
|
|
<MudItem xs="8">
|
|
<MudText Class="d-flex py-1 pre-wrap-text">@evt.Theme</MudText>
|
|
</MudItem>
|
|
}
|
|
|
|
@if (!string.IsNullOrEmpty(evt.Documentation))
|
|
{
|
|
<MudItem xs="3">
|
|
<MudText Class="d-flex py-1">
|
|
<i>Materials:</i>
|
|
</MudText>
|
|
</MudItem>
|
|
<MudItem xs="8">
|
|
<MudText Class="d-flex py-1 pre-wrap-text">@evt.Documentation</MudText>
|
|
</MudItem>
|
|
}
|
|
|
|
</MudGrid>
|
|
</MudContainer>
|
|
<MudDivider />
|
|
}
|
|
</MudContainer>
|
|
}
|
|
@code {
|
|
private EventDefinition[]? _events;
|
|
|
|
protected override async Task OnInitializedAsync()
|
|
{
|
|
_events = await Context.Events.OrderBy(e => e.Name).ToArrayAsync();
|
|
}
|
|
}
|