PlotDirector/PlotLine/Views/Writer/ScheduleSetup.cshtml
2026-06-13 12:43:19 +01:00

121 lines
5.2 KiB
Plaintext

@model WritingScheduleSetupViewModel
@{
ViewData["Title"] = "Schedule Setup";
}
<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>
<input type="hidden" asp-for="SessionLengthMinutes" />
<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 Availability</label>
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>Day</th>
<th>Available</th>
<th>Session Length</th>
</tr>
</thead>
<tbody>
@for (var i = 0; i < Model.WritingDayAvailability.Count; i++)
{
<tr>
<td>
@Model.WritingDayAvailability[i].Day
<input type="hidden" asp-for="WritingDayAvailability[i].Day" />
</td>
<td>
<input asp-for="WritingDayAvailability[i].IsAvailable" />
</td>
<td>
<select asp-for="WritingDayAvailability[i].Minutes" asp-items="Model.SessionLengthOptions" class="form-select"></select>
</td>
</tr>
}
</tbody>
</table>
</div>
<span asp-validation-for="WritingDayAvailability" 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" />