frontend: polish mesh release layout

This commit is contained in:
archipelago 2026-06-11 02:39:24 -04:00
parent 10e4f218a6
commit 760796f650
4 changed files with 33 additions and 2 deletions

1
.gitignore vendored
View File

@ -95,3 +95,4 @@ scripts/resilience/reports/
# Local evidence screenshots; intentional UI screenshots should live under an # Local evidence screenshots; intentional UI screenshots should live under an
# app/docs asset path with a descriptive filename. # app/docs asset path with a descriptive filename.
Screenshot *.png Screenshot *.png
uploads/

View File

@ -85,7 +85,11 @@
<div :key="route.path" class="view-wrapper"> <div :key="route.path" class="view-wrapper">
<div <div
v-if="route.path === '/dashboard/chat' || route.path === '/dashboard/mesh'" v-if="route.path === '/dashboard/chat' || route.path === '/dashboard/mesh'"
:class="['h-full dashboard-scroll-panel mobile-scroll-pad', mobileTabPaddingTop ? 'overflow-y-auto' : '']" :class="[
'h-full dashboard-scroll-panel mobile-scroll-pad',
route.path === '/dashboard/mesh' ? 'mesh-dashboard-panel' : '',
mobileTabPaddingTop ? 'overflow-y-auto' : ''
]"
:style="{ paddingTop: mobileTabPaddingTop ? (mobileTabPaddingTop + 16) + 'px' : undefined }" :style="{ paddingTop: mobileTabPaddingTop ? (mobileTabPaddingTop + 16) + 'px' : undefined }"
class="mobile-safe-top" class="mobile-safe-top"
> >

View File

@ -12,6 +12,18 @@
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
} }
@media (min-width: 921px) {
.mesh-dashboard-panel.mobile-scroll-pad {
padding-bottom: 0;
}
}
@media (min-width: 921px) and (max-width: 1279px) {
.mesh-dashboard-panel {
overflow-y: auto;
}
}
.mesh-header { justify-content: space-between; align-items: center; gap: 16px; flex-shrink: 0; } .mesh-header { justify-content: space-between; align-items: center; gap: 16px; flex-shrink: 0; }
.mesh-header-left { flex: 1; } .mesh-header-left { flex: 1; }
.mesh-title { font-size: 1.5rem; font-weight: 700; color: rgba(255, 255, 255, 0.95); margin: 0; } .mesh-title { font-size: 1.5rem; font-weight: 700; color: rgba(255, 255, 255, 0.95); margin: 0; }
@ -152,6 +164,19 @@
.mesh-mobile-back-btn:hover { color: rgba(255, 255, 255, 0.9); } .mesh-mobile-back-btn:hover { color: rgba(255, 255, 255, 0.9); }
} }
@media (min-width: 921px) and (max-width: 1279px) {
.mesh-view {
padding: 24px;
}
}
@media (max-width: 920px) {
.mesh-view {
padding-left: 0;
padding-right: 0;
}
}
.mesh-session-badge { font-size: 0.75rem; margin-right: 6px; opacity: 0.7; } .mesh-session-badge { font-size: 0.75rem; margin-right: 6px; opacity: 0.7; }
.mesh-session-rotate { background: transparent; border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.7); font-size: 0.75rem; line-height: 1; padding: 2px 6px; margin-right: 8px; border-radius: 10px; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; } .mesh-session-rotate { background: transparent; border: 1px solid rgba(255,255,255,0.15); color: rgba(255,255,255,0.7); font-size: 0.75rem; line-height: 1; padding: 2px 6px; margin-right: 8px; border-radius: 10px; cursor: pointer; transition: background 0.15s ease, color 0.15s ease; }
.mesh-session-rotate:hover:not(:disabled) { background: rgba(251,146,60,0.2); color: #fff; border-color: rgba(251,146,60,0.4); } .mesh-session-rotate:hover:not(:disabled) { background: rgba(251,146,60,0.2); color: #fff; border-color: rgba(251,146,60,0.4); }

View File

@ -165,7 +165,7 @@ if [[ "$DRY_RUN" == "true" ]]; then
rsync -avn --exclude '.git' --exclude 'target' --exclude 'node_modules' \ rsync -avn --exclude '.git' --exclude 'target' --exclude 'node_modules' \
--exclude 'dist' --exclude 'web/dist' --exclude '*.iso' \ --exclude 'dist' --exclude 'web/dist' --exclude '*.iso' \
--exclude 'image-recipe/_archived/build' --exclude 'image-recipe/_archived/results' \ --exclude 'image-recipe/_archived/build' --exclude 'image-recipe/_archived/results' \
--exclude '.codex-target-*' --exclude '.codex-tmp' \ --exclude '.codex-target-*' --exclude '.codex-tmp' --exclude 'uploads' \
"$PROJECT_DIR/" "$TARGET_HOST:$TARGET_DIR/" 2>/dev/null | \ "$PROJECT_DIR/" "$TARGET_HOST:$TARGET_DIR/" 2>/dev/null | \
grep -E '^[<>]|^deleting' | head -50 || echo " (rsync check failed — SSH may be unavailable)" grep -E '^[<>]|^deleting' | head -50 || echo " (rsync check failed — SSH may be unavailable)"
echo "" echo ""
@ -550,6 +550,7 @@ rsync -avz --delete \
--exclude '.git' \ --exclude '.git' \
--exclude '.codex-target-*' \ --exclude '.codex-target-*' \
--exclude '.codex-tmp' \ --exclude '.codex-tmp' \
--exclude 'uploads' \
--exclude 'image-recipe/build' \ --exclude 'image-recipe/build' \
--exclude 'image-recipe/results' \ --exclude 'image-recipe/results' \
--exclude 'image-recipe/_archived/build' \ --exclude 'image-recipe/_archived/build' \