UI Improvements
This commit is contained in:
parent
2530e729ce
commit
d26b3319b9
2 changed files with 40 additions and 25 deletions
|
|
@ -230,11 +230,11 @@ namespace ShiftScheduler.Client.Pages
|
|||
|
||||
var morningTransport = shiftWithTransport.GetMorningTransportSummary();
|
||||
if (!string.IsNullOrEmpty(morningTransport))
|
||||
summaries.Add($"🌅 {morningTransport}");
|
||||
summaries.Add($"🚂 {morningTransport}");
|
||||
|
||||
var afternoonTransport = shiftWithTransport.GetAfternoonTransportSummary();
|
||||
if (!string.IsNullOrEmpty(afternoonTransport))
|
||||
summaries.Add($"🌆 {afternoonTransport}");
|
||||
summaries.Add($"🚂 {afternoonTransport}");
|
||||
|
||||
return string.Join(" | ", summaries);
|
||||
}
|
||||
|
|
@ -250,10 +250,12 @@ namespace ShiftScheduler.Client.Pages
|
|||
return string.Empty;
|
||||
|
||||
var times = new List<string>();
|
||||
|
||||
if (!string.IsNullOrEmpty(shift.MorningTime))
|
||||
times.Add(shift.MorningTime);
|
||||
times.Add($"🌅 {shift.MorningTime}");
|
||||
|
||||
if (!string.IsNullOrEmpty(shift.AfternoonTime))
|
||||
times.Add(shift.AfternoonTime);
|
||||
times.Add($"🌆 {shift.AfternoonTime}");
|
||||
|
||||
return string.Join(" | ", times);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,6 +72,7 @@ namespace ShiftScheduler.Services
|
|||
foreach (var week in weeks)
|
||||
{
|
||||
RenderShiftForWeek(table, week, scheduleDictionary);
|
||||
RenderEmptyRow(table);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -81,6 +82,8 @@ namespace ShiftScheduler.Services
|
|||
{
|
||||
var weekDates = week.ToList();
|
||||
var dayInWeek = weekDates.Count;
|
||||
|
||||
// Date
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var dddd = weekDates.ElementAtOrDefault(day).ToString("dd.MM.yyyy (ddd)");
|
||||
|
|
@ -91,39 +94,7 @@ namespace ShiftScheduler.Services
|
|||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
var shiftName = shiftWithTransport?.Shift.Name ?? "";
|
||||
table.Cell().Element(CellStyleMiddle).Text(shiftName);
|
||||
}
|
||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||
{
|
||||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
var morningTime = shiftWithTransport?.Shift.MorningTime ?? "";
|
||||
table.Cell().Element(CellStyleMiddle).Text(morningTime);
|
||||
}
|
||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||
{
|
||||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
var afternoonTime = shiftWithTransport?.Shift.AfternoonTime ?? "";
|
||||
table.Cell().Element(CellStyleMiddle).Text(afternoonTime);
|
||||
}
|
||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||
{
|
||||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
// Icon
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
|
|
@ -135,6 +106,43 @@ namespace ShiftScheduler.Services
|
|||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
// Shifname
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
var shiftName = shiftWithTransport?.Shift.Name ?? "";
|
||||
table.Cell().Element(CellStyleMiddle).Text(shiftName);
|
||||
}
|
||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||
{
|
||||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
// Morning times
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
var morningTime = $"🌅 {shiftWithTransport?.Shift.MorningTime}";
|
||||
table.Cell().Element(CellStyleMiddle).Text(morningTime);
|
||||
}
|
||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||
{
|
||||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
// Afternoon times
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
var afternoonTime = $"🌆 {shiftWithTransport?.Shift.AfternoonTime}";
|
||||
table.Cell().Element(CellStyleMiddle).Text(afternoonTime);
|
||||
}
|
||||
foreach (var day in Enumerable.Range(dayInWeek, 7 - dayInWeek))
|
||||
{
|
||||
RenderEmptyCell(table);
|
||||
}
|
||||
|
||||
// Transport
|
||||
foreach (var day in Enumerable.Range(0, dayInWeek))
|
||||
{
|
||||
var shiftWithTransport = shiftsWithTransport.GetValueOrDefault(weekDates.ElementAtOrDefault(day));
|
||||
|
|
@ -147,6 +155,14 @@ namespace ShiftScheduler.Services
|
|||
}
|
||||
}
|
||||
|
||||
private static void RenderEmptyRow(TableDescriptor table)
|
||||
{
|
||||
foreach (var day in Enumerable.Range(0, 7))
|
||||
{
|
||||
RenderEmptyCell(table);
|
||||
}
|
||||
}
|
||||
|
||||
private static string GetTransportSummary(ShiftWithTransport? shiftWithTransport)
|
||||
{
|
||||
if (shiftWithTransport == null) return "-";
|
||||
|
|
@ -155,28 +171,25 @@ namespace ShiftScheduler.Services
|
|||
|
||||
if (shiftWithTransport.MorningTransport != null && !string.IsNullOrEmpty(shiftWithTransport.MorningTransport.DepartureTime))
|
||||
{
|
||||
var morningInfo = FormatTransportConnection(shiftWithTransport.MorningTransport, "Morning");
|
||||
var morningInfo = FormatTransportConnection(shiftWithTransport.MorningTransport);
|
||||
transportLines.Add(morningInfo);
|
||||
}
|
||||
|
||||
if (shiftWithTransport.AfternoonTransport != null && !string.IsNullOrEmpty(shiftWithTransport.AfternoonTransport.DepartureTime))
|
||||
{
|
||||
var afternoonInfo = FormatTransportConnection(shiftWithTransport.AfternoonTransport, "Afternoon");
|
||||
var afternoonInfo = FormatTransportConnection(shiftWithTransport.AfternoonTransport);
|
||||
transportLines.Add(afternoonInfo);
|
||||
}
|
||||
|
||||
return transportLines.Count > 0 ? string.Join("\n", transportLines) : "-";
|
||||
}
|
||||
|
||||
private static string FormatTransportConnection(TransportConnection transport, string timeOfDay)
|
||||
private static string FormatTransportConnection(TransportConnection transport)
|
||||
{
|
||||
var departure = DateTime.TryParse(transport.DepartureTime, out var dep) ? dep.ToString("HH:mm") : transport.DepartureTime;
|
||||
var arrival = DateTime.TryParse(transport.ArrivalTime, out var arr) ? arr.ToString("HH:mm") : transport.ArrivalTime;
|
||||
|
||||
var mainJourney = transport.Sections?.FirstOrDefault()?.Journey;
|
||||
var trainInfo = mainJourney != null ? $"{mainJourney.Category} {mainJourney.Number}" : "Train";
|
||||
|
||||
return $"{timeOfDay}: {trainInfo} {departure}→{arrival}";
|
||||
return $"🚂 {departure}→{arrival}";
|
||||
}
|
||||
|
||||
private static void RenderEmptyCell(TableDescriptor table)
|
||||
|
|
|
|||
Loading…
Reference in a new issue