Implemented the Floor Plans visual/UI refinement pass.

This commit is contained in:
Nick Beckley 2026-06-21 19:06:25 +01:00
parent 077714d80e
commit 0ea8b2a57e
3 changed files with 44 additions and 44 deletions

View File

@ -452,50 +452,13 @@
var floorTransitions = transitionsByFloor.GetValueOrDefault(floor.FloorPlanFloorID) ?? [];
<div class="floor-plan-transition-editor @(isActive ? string.Empty : "d-none")" data-transition-editor="@floor.FloorPlanFloorID">
<div class="accordion floor-plan-transition-accordion" id="transition-accordion-@floor.FloorPlanFloorID">
<div class="accordion-item">
<h3 class="accordion-header" id="transition-existing-heading-@floor.FloorPlanFloorID">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#transition-existing-@floor.FloorPlanFloorID" aria-expanded="true" aria-controls="transition-existing-@floor.FloorPlanFloorID">
Existing transitions
</button>
</h3>
<div id="transition-existing-@floor.FloorPlanFloorID" class="accordion-collapse collapse show" aria-labelledby="transition-existing-heading-@floor.FloorPlanFloorID" data-bs-parent="#transition-accordion-@floor.FloorPlanFloorID">
<div class="accordion-body">
@if (!floorTransitions.Any())
{
<p class="muted mb-0">No transitions on this floor yet.</p>
}
else
{
<div class="floor-plan-transition-list">
@foreach (var transition in floorTransitions)
{
<article class="floor-plan-transition-item">
<div>
<strong>@transition.FromLocationName -> @transition.ToLocationName</strong>
<span>@transition.TransitionType</span>
@if (!string.IsNullOrWhiteSpace(transition.DisplayLabel))
{
<span>@transition.DisplayLabel</span>
}
</div>
<div class="button-row">
<button class="btn btn-outline-secondary btn-sm" type="button" data-bs-toggle="modal" data-bs-target="#edit-transition-@transition.FloorPlanTransitionID">Edit</button>
<button class="btn btn-outline-danger btn-sm" type="button" data-bs-toggle="modal" data-bs-target="#delete-transition-@transition.FloorPlanTransitionID">Delete</button>
</div>
</article>
}
</div>
}
</div>
</div>
</div>
<div class="accordion-item">
<h3 class="accordion-header" id="transition-create-heading-@floor.FloorPlanFloorID">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#transition-create-@floor.FloorPlanFloorID" aria-expanded="false" aria-controls="transition-create-@floor.FloorPlanFloorID">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#transition-create-@floor.FloorPlanFloorID" aria-expanded="true" aria-controls="transition-create-@floor.FloorPlanFloorID">
Create transition
</button>
</h3>
<div id="transition-create-@floor.FloorPlanFloorID" class="accordion-collapse collapse" aria-labelledby="transition-create-heading-@floor.FloorPlanFloorID" data-bs-parent="#transition-accordion-@floor.FloorPlanFloorID">
<div id="transition-create-@floor.FloorPlanFloorID" class="accordion-collapse collapse show" aria-labelledby="transition-create-heading-@floor.FloorPlanFloorID" data-bs-parent="#transition-accordion-@floor.FloorPlanFloorID">
<div class="accordion-body">
@if (floorLocationOptions.Count < 2)
{
@ -546,6 +509,43 @@
</div>
</div>
</div>
<div class="accordion-item">
<h3 class="accordion-header" id="transition-existing-heading-@floor.FloorPlanFloorID">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#transition-existing-@floor.FloorPlanFloorID" aria-expanded="false" aria-controls="transition-existing-@floor.FloorPlanFloorID">
Existing transitions
</button>
</h3>
<div id="transition-existing-@floor.FloorPlanFloorID" class="accordion-collapse collapse" aria-labelledby="transition-existing-heading-@floor.FloorPlanFloorID" data-bs-parent="#transition-accordion-@floor.FloorPlanFloorID">
<div class="accordion-body">
@if (!floorTransitions.Any())
{
<p class="muted mb-0">No transitions on this floor yet.</p>
}
else
{
<div class="floor-plan-transition-list">
@foreach (var transition in floorTransitions)
{
<article class="floor-plan-transition-item">
<div>
<strong>@transition.FromLocationName -> @transition.ToLocationName</strong>
<span>@transition.TransitionType</span>
@if (!string.IsNullOrWhiteSpace(transition.DisplayLabel))
{
<span>@transition.DisplayLabel</span>
}
</div>
<div class="button-row">
<button class="btn btn-outline-secondary btn-sm" type="button" data-bs-toggle="modal" data-bs-target="#edit-transition-@transition.FloorPlanTransitionID">Edit</button>
<button class="btn btn-outline-danger btn-sm" type="button" data-bs-toggle="modal" data-bs-target="#delete-transition-@transition.FloorPlanTransitionID">Delete</button>
</div>
</article>
}
</div>
}
</div>
</div>
</div>
</div>
</div>
}

View File

@ -4663,19 +4663,19 @@ body.dragging-location [data-drag-type="location"] {
}
.floor-plan-block.merge-east {
border-right-color: rgba(44, 84, 75, .28);
border-right-color: transparent;
}
.floor-plan-block.merge-west {
border-left-color: rgba(44, 84, 75, .28);
border-left-color: transparent;
}
.floor-plan-block.merge-north {
border-top-color: rgba(44, 84, 75, .28);
border-top-color: transparent;
}
.floor-plan-block.merge-south {
border-bottom-color: rgba(44, 84, 75, .28);
border-bottom-color: transparent;
}
.floor-plan-block.selected.merge-east,

File diff suppressed because one or more lines are too long