Enhance school simulation management by introducing a new SchoolWeekDays option, allowing configuration of the number of working days in a week. Update the API to include school week days in responses and enhance documentation to reflect these changes. Revise UI components to support the new management features, ensuring a seamless user experience when hiring and assigning staff. Update localization strings for improved clarity and consistency across the application.
ci / server (push) Failing after 3m37s
ci / client (push) Successful in 13s

This commit is contained in:
Leonid Pershin
2026-08-19 00:47:09 +03:00
parent 94842ab192
commit 2ebc783585
38 changed files with 1837 additions and 208 deletions
+37
View File
@@ -0,0 +1,37 @@
namespace HSchool.Content;
/// <summary>Bells and breaks of one school day. A catalog may have only one concrete frame.</summary>
public sealed class DayFrameDef : Def
{
/// <summary>Local game-clock time of the first lesson, <c>HH:mm</c>.</summary>
public string FirstLesson { get; init; } = "08:30";
public int LessonCount { get; init; }
public int LessonMinutes { get; init; }
public int BreakMinutes { get; init; }
/// <summary>The long break follows this 1-based lesson. Zero means every break is short.</summary>
public int LongBreakAfter { get; init; }
public int LongBreakMinutes { get; init; }
}
public sealed class MonthDay
{
public int Month { get; init; }
public int Day { get; init; }
}
/// <summary>
/// A holiday range in month-day, repeating every academic year. When start is after end
/// (winter), the range wraps across 1 January.
/// </summary>
public sealed class HolidayDef : Def
{
public MonthDay Start { get; init; } = new();
public MonthDay End { get; init; } = new();
}