diff --git a/.gitignore b/.gitignore index 31b925bd..53492bb0 100644 --- a/.gitignore +++ b/.gitignore @@ -95,3 +95,4 @@ scripts/resilience/reports/ # Local evidence screenshots; intentional UI screenshots should live under an # app/docs asset path with a descriptive filename. Screenshot *.png +uploads/ diff --git a/neode-ui/src/views/Dashboard.vue b/neode-ui/src/views/Dashboard.vue index a0ec5888..d28f4e42 100644 --- a/neode-ui/src/views/Dashboard.vue +++ b/neode-ui/src/views/Dashboard.vue @@ -85,7 +85,11 @@
diff --git a/neode-ui/src/views/mesh/mesh-styles.css b/neode-ui/src/views/mesh/mesh-styles.css index 7282127d..50e8ec90 100644 --- a/neode-ui/src/views/mesh/mesh-styles.css +++ b/neode-ui/src/views/mesh/mesh-styles.css @@ -12,6 +12,18 @@ height: 100%; 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-left { flex: 1; } .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); } } +@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-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); } diff --git a/scripts/deploy-to-target.sh b/scripts/deploy-to-target.sh index 5770bc7a..112c1cf3 100755 --- a/scripts/deploy-to-target.sh +++ b/scripts/deploy-to-target.sh @@ -165,7 +165,7 @@ if [[ "$DRY_RUN" == "true" ]]; then rsync -avn --exclude '.git' --exclude 'target' --exclude 'node_modules' \ --exclude 'dist' --exclude 'web/dist' --exclude '*.iso' \ --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 | \ grep -E '^[<>]|^deleting' | head -50 || echo " (rsync check failed — SSH may be unavailable)" echo "" @@ -550,6 +550,7 @@ rsync -avz --delete \ --exclude '.git' \ --exclude '.codex-target-*' \ --exclude '.codex-tmp' \ + --exclude 'uploads' \ --exclude 'image-recipe/build' \ --exclude 'image-recipe/results' \ --exclude 'image-recipe/_archived/build' \