Current Scene
@scene.SceneTitle
@TextOr(scene.Summary, "No scene summary has been written yet.")
@model WritingContextDisplayViewModel @{ var scene = Model.Context!.Scene!; var pov = scene.CharacterOptions.FirstOrDefault(x => x.Value == scene.POVCharacterID?.ToString())?.Text ?? scene.SceneCharacters.FirstOrDefault(x => x.CharacterID == scene.POVCharacterID)?.CharacterName ?? "No POV set"; var primaryLocation = scene.LocationOptions.FirstOrDefault(x => x.Value == scene.PrimaryLocationID?.ToString())?.Text?.Trim() ?? "No primary location"; var purposeLabels = scene.ScenePurposeTypes .Where(x => scene.SelectedPurposeTypeIds.Contains(x.ScenePurposeTypeID)) .OrderBy(x => x.SortOrder) .Select(x => x.PurposeName) .ToList(); static string TextOr(string? value, string fallback) => string.IsNullOrWhiteSpace(value) ? fallback : value.Trim(); }
Current Scene
@TextOr(scene.Summary, "No scene summary has been written yet.")
Where and When
Purpose
@if (purposeLabels.Any()) {No scene purpose selected.
}@TextOr(scene.ScenePurposeNotes, "No purpose notes yet.")
Outcome
@TextOr(scene.SceneOutcomeNotes, "No outcome notes yet.")
Continuity
@if (scene.Warnings.Any() || scene.AgeContinuityWarnings.Any()) {No continuity warnings.
}