- PromptEditor with Prism.js syntax highlighting
- Slash commands (/run, /status, /images, /list, /help) in chat input
- Stop button to cancel ongoing generation
- Quote/reply and regenerate/continue actions in chat
- MiddlePanel with conversation timestamps and preview
- Pipeline progress in chat view
- Fix all remaining dark theme classes
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Replace Zustand activeView with React Router (NavLink + Routes)
- White/light modern theme with indigo accents
- Sidebar with Chinese labels under icons
- ConfigForm with individual form fields (no JSON textareas)
- Account switching with context injection into chat
- Fix duplicate conversation creation with useRef guard
- Asset gallery: smaller 6-column grid with date labels
- All components updated to light color scheme
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- client/ now has its own package.json (independent Vite project)
- Tailwind + PostCSS config inlined into vite.config.ts
- dev:client uses `cd client && npm run dev` (CWD = Vite root)
- Root package.json only has server deps
- Fix tsconfig deprecation (remove baseUrl)
- Add `npm run setup` for one-command install
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>