@model RelationshipEvolutionViewModel @{ ViewData["Title"] = "Relationship Evolution"; var maxIndex = Math.Max(Model.Events.Any() ? Model.Events.Max(x => x.GlobalSceneIndex) : 1, 1); }

Relationship Evolution

@Model.Relationship.CharacterAName -> @Model.Relationship.CharacterBName

@Model.Relationship.RelationshipTypeName

Show on timeline
@foreach (var item in Model.Events) { var left = (item.GlobalSceneIndex - 1) * 100m / maxIndex; }

Relationship History

@foreach (var item in Model.Events) {

@item.BookDisplayTitle / Ch @item.ChapterNumber / Scene @item.SceneNumber: @item.SceneTitle

@item.RelationshipStateName
Intensity @DisplayValue(item.Intensity) @(item.IsKnownToOtherCharacter ? "Known to other character" : "Private/uncertain")

@item.Description

}
@functions { private static string DisplayValue(int? value) => value?.ToString() ?? "-"; }