fix: mobile onboarding viewport + filebrowser demo fixes

Onboarding:
- Fixed viewport to use dvh units with position:fixed container
- All views use scrollable glass containers that fit within viewport
- Responsive typography and spacing (mobile-first breakpoints)
- Tighter padding/margins on small screens
- RootRedirect checks localStorage first for instant redirect
- Spinner only appears after 500ms delay to avoid flash

Filebrowser:
- Fix CloudFolder null initialPath crash (watch both useNativeUI + section)
- Remove unused `host` computed (was causing TS error)
- Add mock GET /app/filebrowser/ landing page
- Increase express.json limit to 50mb

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-09 19:32:28 +00:00
co-authored by Claude Opus 4.6
parent 4bc0c4b483
commit a6c1820a83
13 changed files with 153 additions and 83 deletions
+3 -4
View File
@@ -217,7 +217,6 @@ interface ContentSection {
initialPath: string
}
const host = computed(() => window.location.hostname)
const origin = computed(() => window.location.origin)
const sections: Record<string, () => ContentSection> = {
@@ -285,12 +284,12 @@ const useNativeUI = computed(() => section.value?.nativeUI === true && appRunnin
const iframeUrl = computed(() => section.value?.iframeUrl || '')
// Initialize native file browser when entering a native-UI section
watch(useNativeUI, async (native) => {
if (native && section.value) {
watch([useNativeUI, section], async ([native, sec]) => {
if (native && sec) {
cloudStore.reset()
const ok = await cloudStore.init()
if (ok) {
await cloudStore.navigate(section.value.initialPath)
await cloudStore.navigate(sec.initialPath)
}
}
}, { immediate: true })