How jevgenijvoronov/syntx-ai-chat works
HI dev is a responsive Vue chat app for conversations with famous-person personas. Users select or create a chat, send messages, and receive Gemini-generated replies (with a documented local-mock mode); chats and correspondence persist locally. The graph follows routing and message dispatch through the sampled components and state/service code. New-chat modal internals and desktop layout wiring are not sampled, so their downstream behavior is left unspecified.
Main entry points: ChatSidebar.vue Chat sidebar · ChatWindow.vue Chat window · App.vue Root app · useMessages.ts Message workflow
Components 19
Application shell
- App bootstrap
src/main.ts - Root app
src/App.vue - Chat router
src/router/index.ts - Desktop layout
src/layouts/DesktopLayout.vue - Mobile layout
src/layouts/MobileLayout.vue - Chat view
src/views/ChatView.vue
Chat interface
- Chat sidebar
src/components/ChatSidebar.vue - New chat modal
src/components/NewChatModal.vue - Chat window
src/components/ChatWindow.vue - Message input
src/components/MessageInput.vue - Message item
src/components/MessageItem.vue - Theme controls
src/components/ThemeToggle.vue
Conversation flow
- Message workflow
src/composables/useMessages.ts
State and integrations
- Chat state
src/stores/chat.ts - Persona reply service
src/services/gemini.ts - Theme state
src/composables/useTheme.ts
Other components
- User
- Google Gemini
- Browser local storage
Connections 24
- User → Chat sidebar: selects or creates chat
- User → Message input: enters message
- App bootstrap → Root app: mounts
- Root app → Desktop layout: renders
- Root app → Mobile layout: renders
- Root app → Theme state: provides theme
- Chat router → Chat view: routes to
- Mobile layout → Chat sidebar: renders
- Mobile layout → Chat router: hosts routed view
- Desktop layout → Chat sidebar: renders
- Desktop layout → Chat router: hosts routed view
- Chat sidebar → Chat router: navigates chats
- Chat sidebar → Chat state: reads chats
- Chat sidebar → New chat modal: opens modal
- Chat window → Message workflow: uses workflow
- Chat window → Chat state: reads chat name
- Chat window → Message item: renders messages
- Chat window → Message input: renders input
- Message input → Message workflow: submits text
- Message workflow → Chat state: reads and saves messages
- Message workflow → Persona reply service: requests reply
- Persona reply service → Google Gemini: sends prompt and history
- Chat state → Browser local storage: persists state
- Theme controls → Theme state: toggles theme