PlotDirector/PlotLine/Views/Writing/_WritingIntentMustInclude.cshtml

43 lines
1.6 KiB
Plaintext

@model WritingIntentDisplayViewModel
@{
var scene = Model.Context?.Scene;
var goal = Model.ChapterWorkflow?.Goal;
var plannedItems = scene?.ChecklistItems.OrderBy(x => x.IsCompleted).ThenBy(x => x.SortOrder).ThenBy(x => x.ItemText).ToList() ?? [];
static string TextOr(string? value, string fallback) => string.IsNullOrWhiteSpace(value) ? fallback : value.Trim();
}
<div class="writing-context-grid">
<article class="writing-context-card writing-context-card--wide">
<p class="eyebrow">Chapter Must Include</p>
<p>@TextOr(goal?.MustInclude, "No chapter-level must-include notes yet.")</p>
</article>
<article class="writing-context-card">
<p class="eyebrow">Scene Checklist</p>
@if (!plannedItems.Any())
{
<p>No scene checklist items.</p>
}
else
{
<ul class="writing-context-list writing-intent-checklist">
@foreach (var item in plannedItems)
{
<li class="@(item.IsCompleted ? "is-complete" : "")">
<span>@(item.IsCompleted ? "Done" : "Planned")</span>
<span>@item.ItemText</span>
</li>
}
</ul>
}
</article>
<article class="writing-context-card">
<p class="eyebrow">Relevant Goals</p>
<ul class="writing-context-list">
<li><strong>Goal</strong> @TextOr(goal?.GoalSummary, "No chapter goal summary yet.")</li>
<li><strong>Reader</strong> @TextOr(goal?.ReaderTakeaway, "No reader takeaway yet.")</li>
</ul>
</article>
</div>