PlotDirector/PlotLine/Views/Writer/ScheduleSetup.cshtml
2026-06-12 21:41:05 +01:00

107 lines
4.6 KiB
Plaintext

@model WritingScheduleSetupViewModel
@{
ViewData["Title"] = "Schedule Setup";
var selectedDays = Model.SelectedWritingDays.ToHashSet(StringComparer.OrdinalIgnoreCase);
}
<nav class="breadcrumb-trail" aria-label="Breadcrumb">
<a asp-controller="Writer" asp-action="Index">Writer Workspace</a>
<span>Schedule Setup</span>
</nav>
<div class="page-heading compact">
<div>
<p class="eyebrow">Writing schedule</p>
<h1>Schedule Setup</h1>
<p class="lead-text">Create a writing plan and generate its first schedule.</p>
</div>
</div>
<section class="story-bible-section">
<form asp-action="ScheduleSetup" method="post" class="story-bible-card chapter-goal-form">
<div asp-validation-summary="ModelOnly" class="alert alert-warning"></div>
<div class="row g-3">
<div class="col-md-6">
<label asp-for="PlanName" class="form-label">Plan Name</label>
<input asp-for="PlanName" class="form-control" />
<span asp-validation-for="PlanName" class="text-danger"></span>
</div>
<div class="col-md-6">
<label asp-for="GoalType" class="form-label">Goal Type</label>
<select asp-for="GoalType" asp-items="Model.GoalTypeOptions" class="form-select"></select>
<span asp-validation-for="GoalType" class="text-danger"></span>
</div>
<div class="col-md-6">
<label asp-for="ProjectID" class="form-label">Project</label>
<select asp-for="ProjectID" asp-items="Model.ProjectOptions" class="form-select">
<option value="">Select project</option>
</select>
<span asp-validation-for="ProjectID" class="text-danger"></span>
</div>
<div class="col-md-6">
<label asp-for="BookID" class="form-label">Book</label>
<select asp-for="BookID" asp-items="Model.BookOptions" class="form-select">
<option value="">All Books</option>
</select>
<span asp-validation-for="BookID" class="text-danger"></span>
</div>
<div class="col-md-6">
<label asp-for="StartDate" class="form-label">Start Date</label>
<input asp-for="StartDate" class="form-control" type="date" />
<span asp-validation-for="StartDate" class="text-danger"></span>
</div>
<div class="col-md-6">
<label asp-for="DeadlineDate" class="form-label">Deadline Date</label>
<input asp-for="DeadlineDate" class="form-control" type="date" />
<span asp-validation-for="DeadlineDate" class="text-danger"></span>
</div>
<div class="col-md-6">
<label asp-for="SessionLengthMinutes" class="form-label">Session Length Minutes</label>
<input asp-for="SessionLengthMinutes" class="form-control" type="number" min="1" />
<span asp-validation-for="SessionLengthMinutes" class="text-danger"></span>
</div>
<div class="col-md-6">
<label asp-for="RebalanceMode" class="form-label">Rebalance Mode</label>
<select asp-for="RebalanceMode" asp-items="Model.RebalanceModeOptions" class="form-select"></select>
<span asp-validation-for="RebalanceMode" class="text-danger"></span>
</div>
<div class="col-12">
<label class="form-label">Writing Days</label>
<div class="writer-checkbox-grid">
@foreach (var day in Model.WritingDayOptions)
{
<label>
<input type="checkbox" name="SelectedWritingDays" value="@day" checked="@selectedDays.Contains(day)" />
@day
</label>
}
</div>
<span asp-validation-for="SelectedWritingDays" class="text-danger"></span>
</div>
<div class="col-12 writer-checkbox-grid">
<label>
<input asp-for="IncludeBlockedScenes" />
Include Blocked Scenes
</label>
</div>
</div>
<div class="button-row mt-3">
<button class="btn btn-primary" type="submit">Create Plan and Generate Schedule</button>
<a class="btn btn-outline-secondary" asp-action="SchedulePreview">Schedule Preview</a>
</div>
</form>
</section>
<partial name="_ValidationScriptsPartial" />