61 lines
2.9 KiB
Plaintext
61 lines
2.9 KiB
Plaintext
@model CharacterListViewModel
|
|
@{
|
|
ViewData["Title"] = "Characters";
|
|
ViewData["ProjectSection"] = "Characters";
|
|
}
|
|
|
|
<nav class="breadcrumb-trail" aria-label="Breadcrumb">
|
|
<a asp-controller="Projects" asp-action="Index">Projects</a>
|
|
<a asp-controller="Projects" asp-action="Details" asp-route-id="@Model.Project.ProjectID">@Model.Project.ProjectName</a>
|
|
<span>Characters</span>
|
|
</nav>
|
|
|
|
<partial name="_ProjectSectionNav" model="Model.Project" />
|
|
|
|
<div class="page-heading">
|
|
<div>
|
|
<p class="eyebrow">Characters</p>
|
|
<h1>@Model.Project.ProjectName <help-icon key="characters.overview" /></h1>
|
|
</div>
|
|
<div class="button-row">
|
|
<a class="btn btn-primary" asp-action="Create" asp-route-projectId="@Model.Project.ProjectID">Add character</a>
|
|
</div>
|
|
</div>
|
|
|
|
<section class="list-section">
|
|
@if (!Model.Characters.Any())
|
|
{
|
|
<p class="muted">No characters yet.</p>
|
|
}
|
|
else
|
|
{
|
|
<div class="asset-card-grid">
|
|
@foreach (var character in Model.Characters)
|
|
{
|
|
<article class="asset-card character-card" draggable="true" data-drag-type="character" data-drag-id="@character.CharacterID" data-drag-label="@character.CharacterName">
|
|
<div class="visual-card-heading">
|
|
<partial name="_Avatar" model="@(new AvatarViewModel { DisplayName = character.CharacterName, ImagePath = character.AvatarImagePath ?? character.ImagePath, ThumbnailPath = character.AvatarThumbnailPath ?? character.ThumbnailPath })" />
|
|
<div>
|
|
<p class="eyebrow">Character</p>
|
|
<h2><a asp-action="Details" asp-route-id="@character.CharacterID">@character.CharacterName</a></h2>
|
|
<p class="muted">@character.DefaultDescription</p>
|
|
</div>
|
|
</div>
|
|
<div class="asset-card-footer">
|
|
@if (character.AgeAtSeriesStart.HasValue)
|
|
{
|
|
<span class="status-pill">Age @character.AgeAtSeriesStart</span>
|
|
}
|
|
<a class="btn btn-outline-secondary btn-sm ms-auto" asp-action="Edit" asp-route-id="@character.CharacterID">Edit</a>
|
|
<form asp-action="Archive" method="post" class="archive-button-form" data-confirm-message="Archive this character? This will hide it from active lists and timelines, but the data will be kept and can be restored later.">
|
|
<input type="hidden" name="id" value="@character.CharacterID" />
|
|
<input type="hidden" name="projectId" value="@Model.Project.ProjectID" />
|
|
<button class="btn btn-outline-danger btn-sm" type="submit">Archive</button>
|
|
</form>
|
|
</div>
|
|
</article>
|
|
}
|
|
</div>
|
|
}
|
|
</section>
|