2026-06-01 09:03:59 +01:00

102 lines
5.6 KiB
Plaintext

@model ChapterDetailViewModel
@{
ViewData["Title"] = Model.Chapter.ChapterTitle;
}
<nav class="breadcrumb-trail" aria-label="Breadcrumb">
<a asp-controller="Projects" asp-action="Index">Projects</a>
<a asp-controller="Projects" asp-action="Details" asp-route-id="@Model.Project.ProjectID">@Model.Project.ProjectName</a>
<a asp-controller="Books" asp-action="Details" asp-route-id="@Model.Book.BookID">@Model.Book.BookTitle</a>
<span>Chapter @Model.Chapter.ChapterNumber</span>
</nav>
<section class="context-header">
<div class="context-title">
<span class="eyebrow">Current chapter</span>
<strong>@Model.Book.BookTitle / Chapter @Model.Chapter.ChapterNumber</strong>
</div>
<nav class="context-nav" aria-label="Chapter navigation">
<a asp-controller="Timeline" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book.BookID">Timeline</a>
<a asp-controller="Analytics" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book.BookID" asp-route-startChapterNumber="@Model.Chapter.ChapterNumber" asp-route-endChapterNumber="@Model.Chapter.ChapterNumber">Story health</a>
<a asp-controller="Warnings" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book.BookID">Warnings</a>
<a asp-controller="Characters" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Characters</a>
<a asp-controller="StoryAssets" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Assets</a>
<a asp-controller="Locations" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Locations</a>
</nav>
</section>
<div class="page-heading">
<div>
<p class="eyebrow">
<a asp-controller="Projects" asp-action="Details" asp-route-id="@Model.Project.ProjectID">@Model.Project.ProjectName</a>
/ <a asp-controller="Books" asp-action="Details" asp-route-id="@Model.Book.BookID">@Model.Book.BookTitle</a>
</p>
<h1>Chapter @Model.Chapter.ChapterNumber: @Model.Chapter.ChapterTitle</h1>
@if (!string.IsNullOrWhiteSpace(Model.Chapter.Summary))
{
<p class="lead-text">@Model.Chapter.Summary</p>
}
</div>
<div class="button-row">
<a class="btn btn-outline-secondary" asp-action="Edit" asp-route-id="@Model.Chapter.ChapterID">Edit chapter</a>
<a class="btn btn-outline-primary" asp-controller="Timeline" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book.BookID">Timeline</a>
<a class="btn btn-primary" asp-controller="Scenes" asp-action="Create" asp-route-chapterId="@Model.Chapter.ChapterID">Add scene</a>
</div>
</div>
<section class="list-section">
<h2>Scenes</h2>
@if (!Model.Scenes.Any())
{
<p class="muted">No scenes yet.</p>
}
else
{
<div class="table-responsive">
<table class="table align-middle">
<thead>
<tr>
<th>Scene</th>
<th>Title</th>
<th>Status</th>
<th>Time</th>
<th>Summary</th>
<th>Order</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var scene in Model.Scenes)
{
<tr>
<td class="narrow">@scene.SceneNumber</td>
<td><a asp-controller="Scenes" asp-action="Edit" asp-route-id="@scene.SceneID">@scene.SceneTitle</a></td>
<td><span class="status-pill">@scene.RevisionStatusName</span></td>
<td>@scene.TimeLabel</td>
<td>@scene.Summary</td>
<td>
<div class="order-buttons">
<form asp-controller="Scenes" asp-action="MoveUp" method="post">
<input type="hidden" name="id" value="@scene.SceneID" />
<input type="hidden" name="chapterId" value="@Model.Chapter.ChapterID" />
<button class="btn btn-outline-secondary btn-sm" type="submit">Up</button>
</form>
<form asp-controller="Scenes" asp-action="MoveDown" method="post">
<input type="hidden" name="id" value="@scene.SceneID" />
<input type="hidden" name="chapterId" value="@Model.Chapter.ChapterID" />
<button class="btn btn-outline-secondary btn-sm" type="submit">Down</button>
</form>
</div>
</td>
<td class="text-end">
<a class="btn btn-outline-secondary btn-sm" asp-controller="Timeline" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book.BookID" asp-route-selectedSceneId="@scene.SceneID">Open in timeline</a>
<a class="btn btn-outline-secondary btn-sm" asp-controller="Scenes" asp-action="Edit" asp-route-id="@scene.SceneID">Edit</a>
</td>
</tr>
}
</tbody>
</table>
</div>
}
</section>