@model ChapterDetailViewModel @{ ViewData["Title"] = Model.Chapter.ChapterTitle; ViewData["ProjectSection"] = "Overview"; } @if (TempData["ArchiveMessage"] is string archiveMessage) {
@archiveMessage
}

@Model.Project.ProjectName / @Model.Book.BookTitle

Chapter @Model.Chapter.ChapterNumber: @Model.Chapter.ChapterTitle

@(Model.Chapter.IsLinkedToManuscript ? "🔗 Linked" : "📝 Planned") @if (!string.IsNullOrWhiteSpace(Model.Chapter.Summary)) {

@Model.Chapter.Summary

}
@if (Model.PendingCharacterSuggestionCount > 0 || Model.PendingAssetSuggestionCount > 0) {

Word Companion Suggestions

@if (Model.PendingCharacterSuggestionCount > 0) {

@Model.PendingCharacterSuggestionCount character suggestion@(Model.PendingCharacterSuggestionCount == 1 ? "" : "s") awaiting review in this chapter.

} @if (Model.PendingAssetSuggestionCount > 0) {

@Model.PendingAssetSuggestionCount asset suggestion@(Model.PendingAssetSuggestionCount == 1 ? "" : "s") awaiting review in this chapter.

}
}

Scenes

@if (!Model.Scenes.Any()) {

No scenes yet.

} else {
@foreach (var scene in Model.Scenes) { }
Scene Title Status Manuscript Time Summary Order
@scene.SceneNumber @scene.SceneTitle @if (scene.PendingCharacterSuggestionCount > 0 || scene.PendingAssetSuggestionCount > 0) { var suggestionParts = new List(); if (scene.PendingCharacterSuggestionCount > 0) { suggestionParts.Add($"{scene.PendingCharacterSuggestionCount} Character{(scene.PendingCharacterSuggestionCount == 1 ? "" : "s")}"); } if (scene.PendingAssetSuggestionCount > 0) { suggestionParts.Add($"{scene.PendingAssetSuggestionCount} Asset{(scene.PendingAssetSuggestionCount == 1 ? "" : "s")}"); } @string.Join(" • ", suggestionParts) } @scene.RevisionStatusName @(scene.IsLinkedToManuscript ? "🔗 Linked" : "📝 Planned") @scene.TimeLabel @scene.Summary
Open in timeline Edit
}