Keep Web5 card actions at the bottom when neighbours grow
This commit is contained in:
@@ -205,3 +205,32 @@ Yaya-only catalog is prepared with one Sovereign Music banner and a 90-day
|
||||
expiry. No catalog has been signed or installed, and the original Portainer
|
||||
stack/data remain unchanged. Signature, managed installation, data migration,
|
||||
wrong-node rejection and physical companion acceptance remain open.
|
||||
|
||||
|
||||
### Web5 footer alignment and continued qualification
|
||||
|
||||
The operator added bottom-aligned Monitoring/card actions to the backlog.
|
||||
Monitoring, Federation and Identities now use growing card columns with footer
|
||||
space above the actions. No fixed card height or absolute-positioned button is
|
||||
introduced. Connected Nodes, Node Visibility and Nostr Relays already use growing
|
||||
content or automatic footer margins.
|
||||
|
||||
A headless browser with the source candidate and authenticated local backend
|
||||
passed all six card/viewport cases (three cards at 390px and 1440px), measuring
|
||||
bottom padding while adjacent content expands and shrinks. Seven relevant
|
||||
component tests pass. Evidence: `/tmp/archy-card-footer-browser.log` and
|
||||
`/tmp/archy-card-footer-unit.log`. These are candidate checks; node deployment
|
||||
and operator acceptance remain pending.
|
||||
|
||||
The integrated dashboard suite before this footer-only change passed 1,262 tests
|
||||
in 158 files, and its production build passed. The isolated backend suite is
|
||||
still compiling. A candidate-production V4V browser run passed mobile hidden
|
||||
playback, bottom-bar pause/resume, reopen of the same frame and stop. Desktop
|
||||
currently times out clicking Close and remains under investigation.
|
||||
|
||||
The alternate-port preview correctly failed V4V's dashboard-origin restriction.
|
||||
Candidate HTML substituted at the normal origin also needed Chromium's explicit
|
||||
local-network permission because synthetic responses lack normal address-space
|
||||
metadata. That permission is confined to the isolated loopback test context;
|
||||
no app origin policy or live browser settings were weakened. These fixture
|
||||
results cannot replace final deployed-node/companion acceptance.
|
||||
|
||||
@@ -360,3 +360,15 @@ with standard MeshCore clients on the selected UK RF plan. Two Archipelago radio
|
||||
agreeing with each other on a private/custom channel is not acceptance. Custom
|
||||
channel creation/configuration is deferred to later work and must not be added
|
||||
as a substitute for repairing the standard public-channel experience.
|
||||
|
||||
|
||||
## 16. Web5 card footer alignment
|
||||
|
||||
- Keep Monitoring buttons anchored to the bottom of their card when adjacent
|
||||
cards grow, including search/loading/results changes. Apply the same footer
|
||||
behaviour to matching cards without changing the design system or adding
|
||||
unnecessary minimum height.
|
||||
- Preserve normal document flow and space between content and actions; avoid
|
||||
absolute positioning that overlaps content. Verify tall neighbours, shrinking
|
||||
results, long labels, keyboard access and mobile/desktop layouts.
|
||||
- Record actual browser geometry checks and deployment acceptance separately.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<!-- Federation Summary -->
|
||||
<div class="glass-card p-6">
|
||||
<div class="glass-card p-6 flex flex-col">
|
||||
<div class="flex items-center justify-between mb-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="flex-shrink-0 w-10 h-10 rounded-lg bg-white/10 flex items-center justify-center">
|
||||
@@ -72,7 +72,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="web5-card-actions-bottom-grid mt-6 grid-cols-2 gap-3">
|
||||
<div class="web5-card-actions-bottom-grid mt-auto pt-6 grid-cols-2 gap-3">
|
||||
<RouterLink to="/dashboard/server/federation" class="mobile-card-action glass-button rounded-lg text-sm font-medium text-white/90 hover:text-white transition-colors no-underline">
|
||||
Connect with Nodes
|
||||
</RouterLink>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<!-- Identity Management -->
|
||||
<div class="glass-card p-6 identities-card">
|
||||
<div class="glass-card p-6 identities-card flex flex-col">
|
||||
<!-- Desktop: side-by-side -->
|
||||
<div class="hidden md:flex items-center justify-between mb-4">
|
||||
<div class="flex items-center gap-3">
|
||||
@@ -220,9 +220,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<button @click="showCreateIdentityModal = true" class="web5-card-actions-bottom mt-4 mobile-card-action glass-button rounded-lg text-sm font-medium">
|
||||
Create
|
||||
</button>
|
||||
<div class="mt-auto pt-4">
|
||||
<button @click="showCreateIdentityModal = true" class="web5-card-actions-bottom mobile-card-action glass-button rounded-lg text-sm font-medium">
|
||||
Create
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Create Identity Modal -->
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<!-- System Monitoring Summary -->
|
||||
<div class="glass-card p-6">
|
||||
<div class="glass-card p-6 flex flex-col">
|
||||
<div class="flex items-center justify-between mb-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="flex-shrink-0 w-10 h-10 rounded-lg bg-white/10 flex items-center justify-center">
|
||||
@@ -65,9 +65,11 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<RouterLink to="/dashboard/monitoring" class="web5-card-actions-bottom mt-6 mobile-card-action glass-button rounded-lg text-sm font-medium text-white/90 hover:text-white transition-colors shrink-0 no-underline">
|
||||
Details
|
||||
</RouterLink>
|
||||
<div class="mt-auto pt-6">
|
||||
<RouterLink to="/dashboard/monitoring" class="web5-card-actions-bottom mobile-card-action glass-button rounded-lg text-sm font-medium text-white/90 hover:text-white transition-colors shrink-0 no-underline">
|
||||
Details
|
||||
</RouterLink>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user