# ShopProQuote Dashboard Overview Complete map of all pages, tabs, modals, and features. Use this when asked "what's in the dashboard" or "overview of everything" — give a concise structured summary, NOT a code dive. ## Pages | File | Purpose | |------|---------| | `login.html` | Login/signup/auth | | `repair-orders.html` | Main dashboard (1448 lines) — repair orders + quote builder | | `index.html` | Home/overview with tasks, alerts, financial dashboard | | `appointments.html` | Appointments with scan screenshot (OCR + LLM) | | `customers.html` | Customer database lookup | ## repair-orders.html — 3 Main Tabs 1. **Active Orders** — Current RO cards with status, vehicle, services. Shows next appointment at top. 2. **RO History** — Search/filter completed orders (RO#, name, VIN). Status filter dropdown. 3. **Generate Quote** — Quote builder: service search dropdown, selected services list, vehicle/mileage/discount fields, AI Write + Generate Priorities buttons, Save Quote, Print Preview, Saved Quotes card. ### Modals on repair-orders - Add Custom Service (text input for recommendation reason, AI Write button) - Edit RO (status dropdown) - Financial Summary - All Saved Quotes modal (search, sort, delete, load) - Quote Settings (gear icon): 5 sub-tabs — Business Info, Advisor, Financial, Messages, Services - Account Settings / Change Password / Site Settings ## index.html — Home/Overview - Critical Alerts section - Action cards: Repair Orders, Appointments, Financial Dashboard - Tasks modal: Active tasks + Task History, create/edit with recurring options - Financial Dashboard modal (3 tabs): Overview, Analytics, Performance — revenue charts, top services, top customers - Account/Site Settings modals ## appointments.html - Appointment list with customer/vehicle info - Scan Screenshot: Tesseract.js OCR → local LLM via `/llm/v1/chat/completions` → parse to structured JSON → review modal → batch create - Fallback: `parseWithRules()` client-side regex parser if LLM down ## Infrastructure | Component | Role | |-----------|------| | nginx :3447 | Serves site + proxies `/llm/` → llama-server:8081 | | llama-server | Currently Qwen2.5-7B Q2_K via Vulkan (3.2 GB VRAM). Drives AI Write, Generate Priorities, OCR parsing | | PocketBase :8091 | Local DB. Stores services, quotes, repair orders, settings | | Tesseract.js | CDN-loaded client-side OCR. `eng.traineddata` cached in browser | | GPU | GTX 1050 Ti 4GB → RTX 2080 Ti 11GB (on order) |