Files
chapter-organizer/WebApp/Components/Pages/EventDefinitionPages/Events.razor
T

88 lines
2.9 KiB
Plaintext

@using Core.Entities
@using Data
@using Microsoft.EntityFrameworkCore
@page "/events/descriptions"
@inject IConfiguration Configuration
@inject AppDbContext Context
@rendermode InteractiveServer
<PageTitle>TSA Events @Configuration["ChapterSettings:CompetitionYear"]</PageTitle>
<h1>TSA Events @Configuration["ChapterSettings:CompetitionYear"]</h1>
@if (_events == null)
{
<p><em>Loading...</em></p>
}
else
{
<div>
@foreach (var evt in _events)
{
<div class="container nobrk">
@if (evt.RegionalEvent)
{
<div class="row">
<div class="col">
<i>Regional Event</i>
</div>
</div>
}
<div div class="row">
<div class="col-4">
<h5>@evt.Name</h5>
</div>
<div class="col-2">
@if (evt.EventFormat is EventFormat.Team)
{
<html><strong>@evt.EventFormat</strong><br/>Size: <strong>@evt.TeamSize</strong></html>
}
else
{
<html>
<strong>@evt.EventFormat</strong>
</html>
}
</div>
<div class="col">
Eligibility: @evt.Eligibility
</div>
<div class="col-1">
<strong> Effort</strong>: @evt.LevelOfEffort
</div>
<div class="col-2">
<strong>Activity</strong>: @evt.SemifinalistActivity
</div>
</div>
<div div class="row mt-3">
<div class="col">@evt.Description</div></div>
@if (!string.IsNullOrEmpty(evt.Theme))
{
<div div class="row mt-2">
<div class="col-3 text-center"><i>Theme for 2025-26:</i></div>
<div class="col" style="white-space:pre-wrap;">@evt.Theme</div>
</div>
}
@if (!string.IsNullOrEmpty(evt.Documentation))
{
<div div class="row mt-2">
<div class="col-3 text-center"><i>Materials:</i></div>
<div class="col">@evt.Documentation</div>
</div>
}
<hr/>
</div>
}
</div>
}
@code {
private EventDefinition[]? _events = null;
protected override async Task OnInitializedAsync()
{
_events = await Context.Events.OrderBy(e => e.Name).Where(e => e.Name != "Chapter Team").ToArrayAsync();
}
}