Nick Beckley 04a41e81b0 Phase 1T
2026-06-01 15:42:44 +01:00

67 lines
3.4 KiB
Plaintext

@model SceneEditViewModel
@{
ViewData["Title"] = Model.SceneID == 0 ? "New Scene" : "Edit Scene";
}
<nav class="breadcrumb-trail" aria-label="Breadcrumb">
<a asp-controller="Projects" asp-action="Index">Projects</a>
@if (Model.Project is not null)
{
<a asp-controller="Projects" asp-action="Details" asp-route-id="@Model.Project.ProjectID">@Model.Project.ProjectName</a>
}
@if (Model.Book is not null)
{
<a asp-controller="Books" asp-action="Details" asp-route-id="@Model.Book.BookID">@Model.Book.BookTitle</a>
}
@if (Model.Chapter is not null)
{
<a asp-controller="Chapters" asp-action="Details" asp-route-id="@Model.ChapterID">Chapter @Model.Chapter.ChapterNumber</a>
}
<span>@(Model.SceneID == 0 ? "New scene" : $"Scene {Model.SceneNumber}")</span>
</nav>
@if (Model.Project is not null)
{
<section class="context-header">
<div class="context-title">
<span class="eyebrow">Working context</span>
<strong>@Model.Project.ProjectName@if (Model.Book is not null) { <span> / @Model.Book.BookTitle</span> }</strong>
</div>
<nav class="context-nav" aria-label="Scene navigation">
<a asp-controller="Timeline" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book?.BookID" asp-route-selectedSceneId="@Model.SceneID">Open scene in timeline</a>
<a asp-controller="Chapters" asp-action="Details" asp-route-id="@Model.ChapterID">Back to chapter</a>
<a asp-controller="Analytics" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book?.BookID">Story health</a>
<a asp-controller="Warnings" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID" asp-route-bookId="@Model.Book?.BookID" asp-route-sceneId="@Model.SceneID">Warnings</a>
</nav>
</section>
}
<div class="page-heading compact">
<div>
<p class="eyebrow">@Model.Book?.BookTitle / Chapter @Model.Chapter?.ChapterNumber</p>
<h1>@ViewData["Title"]</h1>
</div>
<div class="button-row">
@if (Model.SceneID > 0)
{
<a class="btn btn-outline-primary" asp-controller="Exports" asp-action="SceneBrief" asp-route-id="@Model.SceneID">Scene brief</a>
<a class="btn btn-outline-secondary" asp-controller="Exports" asp-action="SceneBrief" asp-route-id="@Model.SceneID" asp-route-format="markdown">Markdown</a>
<a class="btn btn-outline-primary" asp-controller="Exports" asp-action="WritingSession" asp-route-sceneId="@Model.SceneID">Prepare Writing Session</a>
<form asp-action="Archive" method="post" class="archive-button-form" data-confirm-message="Archive this scene?&#10;&#10;This will hide it from active lists and timelines, but the data will be kept and can be restored later.">
<input type="hidden" name="id" value="@Model.SceneID" />
<input type="hidden" name="chapterId" value="@Model.ChapterID" />
<button class="btn btn-outline-danger" type="submit">Archive Scene</button>
</form>
}
<a class="btn btn-outline-secondary" asp-controller="Chapters" asp-action="Details" asp-route-id="@Model.ChapterID">Back to chapter</a>
</div>
</div>
<section class="edit-panel scene-editor">
<partial name="_SceneInspector" model="Model" />
</section>
@section Scripts {
<partial name="_ValidationScriptsPartial" />
}