feat(app): base-aware routing, embedded flag, panel slide animation

- Use import.meta.env.BASE_URL for router history (Archy /aiui/ deployments)
- Capture embedded flag from URL params before router init
- Add panelSlideIn animation with prefers-reduced-motion support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-04 12:41:26 +00:00
co-authored by Claude Opus 4.6
parent 21b43214ac
commit bda670d8d9
4 changed files with 86 additions and 1 deletions
+6 -1
View File
@@ -5,8 +5,13 @@ import App from './App.vue'
import './styles/main.css'
import { initializePlugins } from './plugins'
// Capture embedded flag before router init (survives SPA navigation)
// Only embedded when explicitly requested via ?embedded param
const _embeddedFlag = new URLSearchParams(window.location.search).has('embedded')
;(window as unknown as Record<string, unknown>).__AIUI_EMBEDDED__ = _embeddedFlag
const router = createRouter({
history: createWebHistory(),
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/',
+21
View File
@@ -605,6 +605,27 @@ input:focus-visible {
50% { opacity: 1; }
}
@keyframes panelSlideIn {
0% {
opacity: 0;
transform: translateX(-40px) scale(0.97);
}
100% {
opacity: 1;
transform: translateX(0) scale(1);
}
}
.panel-slide-in {
animation: panelSlideIn 0.6s cubic-bezier(0.22, 1, 0.36, 1) both;
}
@media (prefers-reduced-motion: reduce) {
.panel-slide-in {
animation: none;
}
}
/* ===== POSTER CARD — path-glass border ===== */
.poster-card {