Spaces:
Running
Running
Mobile optimization: single column layout, no WASM iframes on mobile
Browse files
app.js
CHANGED
|
@@ -12,6 +12,7 @@
|
|
| 12 |
let baseUrl = '';
|
| 13 |
let activeCategory = 'all';
|
| 14 |
let activeStage = 'policy';
|
|
|
|
| 15 |
|
| 16 |
// ------------------------------------
|
| 17 |
// DOM refs
|
|
@@ -89,7 +90,7 @@
|
|
| 89 |
? mediaUrl(stageData)
|
| 90 |
: null;
|
| 91 |
const isVideo = mediaSrc && mediaSrc.endsWith('.mp4');
|
| 92 |
-
const useViewer = activeStage === 'policy' && clip.has_onnx;
|
| 93 |
|
| 94 |
const stages = ['capture', 'retarget', 'training', 'policy'];
|
| 95 |
|
|
@@ -164,7 +165,7 @@
|
|
| 164 |
var stageData = clip.stages[stage];
|
| 165 |
if (!stageData) return;
|
| 166 |
|
| 167 |
-
var useViewer = stage === 'policy' && clip.has_onnx;
|
| 168 |
var src = mediaUrl(stageData);
|
| 169 |
var isVideo = src && src.endsWith('.mp4');
|
| 170 |
var existing = card.querySelector('.card-media img, .card-media video, .card-media iframe');
|
|
@@ -219,7 +220,7 @@
|
|
| 219 |
lazyObserver.unobserve(img);
|
| 220 |
}
|
| 221 |
});
|
| 222 |
-
}, { rootMargin: '300px' });
|
| 223 |
}
|
| 224 |
|
| 225 |
var lazies = grid.querySelectorAll('img[data-src], video[data-src], iframe[data-src]');
|
|
@@ -320,7 +321,7 @@
|
|
| 320 |
var data = clip.stages[s];
|
| 321 |
var unavail = !data ? ' unavailable' : '';
|
| 322 |
var label = '<div class="modal-stage-label">' + s.toUpperCase() + '</div>';
|
| 323 |
-
var useViewer = s === 'policy' && clip.has_onnx;
|
| 324 |
|
| 325 |
if (useViewer) {
|
| 326 |
var iframeSrc = 'viewer.html?clip=' + encodeURIComponent(clip.id) +
|
|
|
|
| 12 |
let baseUrl = '';
|
| 13 |
let activeCategory = 'all';
|
| 14 |
let activeStage = 'policy';
|
| 15 |
+
const isMobile = window.matchMedia('(max-width: 480px)').matches;
|
| 16 |
|
| 17 |
// ------------------------------------
|
| 18 |
// DOM refs
|
|
|
|
| 90 |
? mediaUrl(stageData)
|
| 91 |
: null;
|
| 92 |
const isVideo = mediaSrc && mediaSrc.endsWith('.mp4');
|
| 93 |
+
const useViewer = activeStage === 'policy' && clip.has_onnx && !isMobile;
|
| 94 |
|
| 95 |
const stages = ['capture', 'retarget', 'training', 'policy'];
|
| 96 |
|
|
|
|
| 165 |
var stageData = clip.stages[stage];
|
| 166 |
if (!stageData) return;
|
| 167 |
|
| 168 |
+
var useViewer = stage === 'policy' && clip.has_onnx && !isMobile;
|
| 169 |
var src = mediaUrl(stageData);
|
| 170 |
var isVideo = src && src.endsWith('.mp4');
|
| 171 |
var existing = card.querySelector('.card-media img, .card-media video, .card-media iframe');
|
|
|
|
| 220 |
lazyObserver.unobserve(img);
|
| 221 |
}
|
| 222 |
});
|
| 223 |
+
}, { rootMargin: isMobile ? '100px' : '300px' });
|
| 224 |
}
|
| 225 |
|
| 226 |
var lazies = grid.querySelectorAll('img[data-src], video[data-src], iframe[data-src]');
|
|
|
|
| 321 |
var data = clip.stages[s];
|
| 322 |
var unavail = !data ? ' unavailable' : '';
|
| 323 |
var label = '<div class="modal-stage-label">' + s.toUpperCase() + '</div>';
|
| 324 |
+
var useViewer = s === 'policy' && clip.has_onnx && !isMobile;
|
| 325 |
|
| 326 |
if (useViewer) {
|
| 327 |
var iframeSrc = 'viewer.html?clip=' + encodeURIComponent(clip.id) +
|
style.css
CHANGED
|
@@ -963,12 +963,14 @@ footer {
|
|
| 963 |
|
| 964 |
.hero-title { font-size: 2.8rem; }
|
| 965 |
|
| 966 |
-
.grid { grid-template-columns: 1fr
|
|
|
|
|
|
|
| 967 |
|
| 968 |
.card-info { padding: 0.6rem 0.75rem 0.75rem; }
|
| 969 |
-
.card-title { font-size: 0.
|
| 970 |
-
.card-meta { font-size: 0.
|
| 971 |
-
.card-stage-btn { width:
|
| 972 |
|
| 973 |
.pipeline-strip { transform: scale(0.7); }
|
| 974 |
|
|
|
|
| 963 |
|
| 964 |
.hero-title { font-size: 2.8rem; }
|
| 965 |
|
| 966 |
+
.grid { grid-template-columns: 1fr; gap: 0.75rem; }
|
| 967 |
+
|
| 968 |
+
.card-media { aspect-ratio: 4/3; }
|
| 969 |
|
| 970 |
.card-info { padding: 0.6rem 0.75rem 0.75rem; }
|
| 971 |
+
.card-title { font-size: 0.85rem; }
|
| 972 |
+
.card-meta { font-size: 0.65rem; }
|
| 973 |
+
.card-stage-btn { width: 24px; height: 24px; font-size: 0.55rem; }
|
| 974 |
|
| 975 |
.pipeline-strip { transform: scale(0.7); }
|
| 976 |
|