60 lines
2.8 KiB
Plaintext
60 lines
2.8 KiB
Plaintext
@model LocationListViewModel
|
|
@{
|
|
ViewData["Title"] = "Locations";
|
|
}
|
|
|
|
<section class="context-header">
|
|
<div class="context-title"><span class="eyebrow">Project context</span><strong>@Model.Project.ProjectName</strong></div>
|
|
<nav class="context-nav" aria-label="Project navigation">
|
|
<a asp-controller="Projects" asp-action="Details" asp-route-id="@Model.Project.ProjectID">Project</a>
|
|
<a asp-controller="Timeline" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Timeline</a>
|
|
<a asp-controller="Analytics" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Story health</a>
|
|
<a asp-controller="Warnings" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Warnings</a>
|
|
<a asp-controller="Characters" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Characters</a>
|
|
<a asp-controller="StoryAssets" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Assets</a>
|
|
<a asp-controller="PlotThreads" asp-action="Index" asp-route-projectId="@Model.Project.ProjectID">Threads</a>
|
|
</nav>
|
|
</section>
|
|
|
|
<div class="page-heading compact">
|
|
<div>
|
|
<p class="eyebrow">Locations</p>
|
|
<h1>@Model.Project.ProjectName</h1>
|
|
</div>
|
|
<a class="btn btn-primary" asp-action="Create" asp-route-projectId="@Model.Project.ProjectID">New location</a>
|
|
</div>
|
|
|
|
@if (!Model.Locations.Any())
|
|
{
|
|
<section class="empty-panel">
|
|
<h2>No locations yet</h2>
|
|
<p>Add buildings, floors, rooms, streets, and other places that matter to the story.</p>
|
|
</section>
|
|
}
|
|
else
|
|
{
|
|
<section class="edit-panel location-tree">
|
|
@foreach (var location in Model.Locations)
|
|
{
|
|
<div class="location-tree-row" style="--location-depth:@location.Depth">
|
|
<div>
|
|
<a asp-action="Details" asp-route-id="@location.LocationID"><strong>@location.LocationName</strong></a>
|
|
@if (!string.IsNullOrWhiteSpace(location.LocationTypeName))
|
|
{
|
|
<span class="location-badge">@location.LocationTypeName</span>
|
|
}
|
|
<span class="muted">@location.LocationPath</span>
|
|
</div>
|
|
<div class="button-row compact-buttons">
|
|
<a class="btn btn-outline-secondary btn-sm" asp-action="Edit" asp-route-id="@location.LocationID">Edit</a>
|
|
<form asp-action="Archive" method="post">
|
|
<input type="hidden" name="id" value="@location.LocationID" />
|
|
<input type="hidden" name="projectId" value="@Model.Project.ProjectID" />
|
|
<button class="btn btn-outline-danger btn-sm" type="submit">Archive</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
}
|
|
</section>
|
|
}
|