Refactor: ES module architecture, tauri-plugin-store, unified design

Major changes:
- ES module system: main.js as central hub, shared modules
- tauri-plugin-store for persistent storage (dialog, fs plugins added)
- tauri-plugin-dialog for folder selection
- tauri-plugin-fs for real file system scanning
- Removed MOCK_FILES/FILE_TREE - real file scanner implemented
- All pages use unified page-header + page-content layout
- Custom titlebar with window controls
- Onboarding: 4-step flow with folder selection (Downloads default)
- CSS: unified design system, .hidden utility class added
- SVG icons throughout (no emoji)

Note: onboarding.js downloadDir() has runtime issue - needs fix
This commit is contained in:
2026-06-01 04:41:19 +09:00
parent 1ef6cb1379
commit 13328e6a8b
45 changed files with 2137 additions and 7430 deletions

View File

@@ -8,18 +8,18 @@ export default defineConfig({
emptyOutDir: true,
rollupOptions: {
input: {
onboarding: resolve(__dirname, 'src/pages/scene_onboarding.html'),
dashboard: resolve(__dirname, 'src/pages/scene_dashboard.html'),
swipe: resolve(__dirname, 'src/pages/scene_swipe.html'),
settings: resolve(__dirname, 'src/pages/scene_settings.html'),
index: resolve(__dirname, 'src/index.html'),
onboarding: resolve(__dirname, 'src/pages/scene_onboarding.html'),
dashboard: resolve(__dirname, 'src/pages/scene_dashboard.html'),
swipe: resolve(__dirname, 'src/pages/scene_swipe.html'),
gamification: resolve(__dirname, 'src/pages/scene_gamification.html'),
'ai-classification': resolve(__dirname, 'src/pages/scene_ai_classification.html'),
gamification: resolve(__dirname, 'src/pages/scene_gamification.html'),
visualization: resolve(__dirname, 'src/pages/scene_visualization.html'),
visualization: resolve(__dirname, 'src/pages/scene_visualization.html'),
settings: resolve(__dirname, 'src/pages/scene_settings.html'),
},
output: {
assetFileNames: (assetInfo) => {
if (assetInfo.name === 'logo.svg') return 'assets/[name][extname]';
return 'assets/[name]-[hash][extname]';
return assetInfo.name === 'logo.svg' ? 'assets/[name][extname]' : 'assets/[name]-[hash][extname]'
}
}
}