ShiftScheduler/Client/Pages/Index.razor
copilot-swe-agent[bot] 246e90d493 Implement new approach: real-time transport data per shift selection with ShiftWithTransport view model
Co-authored-by: clayschaad <11883505+clayschaad@users.noreply.github.com>
2025-08-19 18:43:41 +00:00

49 lines
1.8 KiB
Text

@page "/"
<h3>Shift Scheduler</h3>
<div class="calendar-grid">
@foreach (var day in DaysInMonth)
{
<div class="day-cell">
<div class="day-header">
@day.ToString("dd.MM.yyyy") (@day.ToString("dddd"))
</div>
<div class="shifts">
@foreach (var shift in Shifts)
{
<div class="tooltip-wrapper">
<button class="shift-button @(SelectedSchedule.ContainsKey(day) && SelectedSchedule[day] == shift.Name ? "selected" : "")"
@onclick="() => SelectShift(day, shift.Name)"
disabled="@_isLoadingTransport">
@if (_isLoadingTransport && SelectedSchedule.ContainsKey(day) && SelectedSchedule[day] == shift.Name)
{
<span class="loading-spinner">⏳</span>
}
else
{
@shift.Icon
}
</button>
<span class="tooltip">@shift.Name</span>
</div>
}
</div>
@if (SelectedSchedule.ContainsKey(day))
{
<div class="transport-info">
<small>@GetTransportSummary(day)</small>
</div>
}
</div>
}
</div>
<div class="reset-section">
<button class="reset-btn" @onclick="ResetSchedule">Reset Schedule</button>
</div>
<div class="export-buttons">
<button class="btn export-btn" @onclick="ExportToIcs">Export to ICS</button>
<button class="btn export-btn" @onclick="ExportToPdf">Export to PDF</button>
</div>