PlotDirector/PlotLine/Views/Writing/_WritingIntentPlan.cshtml

54 lines
2.1 KiB
Plaintext

@model WritingIntentDisplayViewModel
@{
var scene = Model.Context?.Scene;
var workflow = Model.ChapterWorkflow;
var chapter = workflow?.Chapter ?? Model.Context?.Chapter;
var goal = workflow?.Goal;
static string TextOr(string? value, string fallback) => string.IsNullOrWhiteSpace(value) ? fallback : value.Trim();
}
<div class="writing-context-grid writing-context-grid--overview">
<article class="writing-context-card writing-context-card--hero">
<p class="eyebrow">Chapter Plan</p>
<h3>Chapter @chapter?.ChapterNumber:g: @chapter?.ChapterTitle</h3>
<p>@TextOr(chapter?.Summary, "No chapter summary has been written yet.")</p>
<dl class="writing-context-facts">
<dt>Purpose</dt><dd>@TextOr(chapter?.ChapterPurposeName, "No chapter purpose selected.")</dd>
<dt>Goal</dt><dd>@TextOr(goal?.GoalSummary, "No chapter goal summary yet.")</dd>
</dl>
</article>
<article class="writing-context-card">
<p class="eyebrow">Current Scene</p>
@if (scene is null)
{
<p>No current scene. Chapter intent is shown until Word reports a scene.</p>
}
else
{
<h3>Scene @scene.SceneNumber:g: @scene.SceneTitle</h3>
<p>@TextOr(scene.Summary, "No scene summary has been written yet.")</p>
}
</article>
<article class="writing-context-card">
<p class="eyebrow">Scene Purpose</p>
<p>@TextOr(scene?.ScenePurposeNotes, "No scene-specific purpose notes yet.")</p>
</article>
<article class="writing-context-card">
<p class="eyebrow">Expected Outcome</p>
<p>@TextOr(scene?.SceneOutcomeNotes, "No expected outcome has been captured for this scene.")</p>
</article>
<article class="writing-context-card">
<p class="eyebrow">Emotional Goal</p>
<p>@TextOr(goal?.EmotionalGoal, "No emotional goal recorded for this chapter.")</p>
</article>
<article class="writing-context-card">
<p class="eyebrow">Reader Takeaway</p>
<p>@TextOr(goal?.ReaderTakeaway, "No reader takeaway recorded for this chapter.")</p>
</article>
</div>