43 lines
1.6 KiB
Plaintext
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>
|