feat(frontend): Vue 3 workspace UI with light/dark mode
- Vue 3 + Vite + Pinia + Vue Router, Axios client with JWT interceptor - Auth views (login/register), dashboard with workspace switcher and search - Nested PageTree sidebar, TipTap rich-text editor with debounced save - Live collaboration via Socket.IO (remote updates, presence avatars, typing) - Comments thread per page, invite-members card, member list - Theme store (light/dark/system) persisted, CSS variables, ThemeToggle - Multi-stage Dockerfile (build + nginx) for hosting
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
<script setup>
|
||||
import { onMounted } from 'vue';
|
||||
import { useThemeStore } from './stores/theme';
|
||||
import ThemeToggle from './components/ThemeToggle.vue';
|
||||
|
||||
const theme = useThemeStore();
|
||||
onMounted(() => theme.apply());
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div style="position: fixed; top: 12px; right: 12px; z-index: 50">
|
||||
<ThemeToggle />
|
||||
</div>
|
||||
<router-view />
|
||||
</div>
|
||||
</template>
|
||||
Reference in New Issue
Block a user