Commit Graph

21 Commits

Author SHA1 Message Date
1a53e50d91 feat: 5-tier pricing UI, market ticker, delivery map, and stats dashboard
Full frontend companion to the API updates:

- Pricing: Oil price admin page now supports 5-tier configuration for
  same-day/prime/emergency fees with collapsible tier sections
- Market Ticker: Add GlobalMarketTicker and OilPriceTicker components
  with real-time commodity + competitor prices in header bar
- Delivery Map: New interactive Leaflet map view for daily deliveries
- Stats: Add PricingHistoryChart component and info pages for market
  trends with daily/weekly/monthly gallon charts and YoY comparisons
- Layout: Refactor header navbar to separate search into navbar-center,
  add oilPrice Pinia store with polling, update sidebar navigation
- Forms: Wire tier selection into delivery create/edit flows, update
  types and services for new pricing and scraper API endpoints

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 17:54:30 -05:00
72d8e35e06 refactor(frontend): migrate Customer domain to centralized API services
- Replaced all direct axios imports with service layer calls across 8 customer files
- Migrated core pages: home.vue, create.vue, edit.vue
- Migrated profile pages: profile.vue (1100+ lines), TankEstimation.vue
- Migrated supporting pages: ServicePlanEdit.vue, tank/edit.vue, list.vue

Services integrated:
- customerService: CRUD, descriptions, tank info, automatic status
- authService: authentication and Authorize.net account management
- paymentService: credit cards, transactions, payment authorization
- deliveryService: delivery records and automatic delivery data
- serviceService: service calls, parts, and service plans
- adminService: statistics, social comments, and reports
- queryService: dropdown data (customer types, states)

Type safety improvements:
- Updated paymentService.ts with accurate AxiosResponse types
- Fixed response unwrapping to match api.ts interceptor behavior
- Resolved all TypeScript errors in customer domain (0 errors)

Benefits:
- Consistent authentication via centralized interceptors
- Standardized error handling across all API calls
- Improved type safety with proper TypeScript interfaces
- Single source of truth for API endpoints
- Better testability through mockable services

Verified with vue-tsc --noEmit - all customer domain files pass type checking
2026-02-01 13:00:21 -05:00
9d86b4a60e Fixed page layout and edit delivery 2025-09-06 09:44:01 -04:00
45b536baca Updated sibar 2025-09-05 11:39:35 -04:00
af9e6882ba Updated form for creating delivery 2025-09-04 15:07:21 -04:00
7f0c439ea3 fixed pobox 2025-05-09 14:53:23 -04:00
4b1aabea9c added auto info to ticket 2025-02-04 18:22:14 -05:00
01c448f368 small fixes 2024-12-23 18:10:29 -05:00
bf49bf5711 updated customer profile. added maps 2024-11-20 18:00:17 -05:00
b62d45da5d Added delivery notes. changed waiting/pending 2024-10-30 17:04:41 -04:00
cae64eec86 Updated forms 2024-10-24 11:50:58 -04:00
c6f806f733 major update 2024-10-17 17:01:42 -04:00
9029993c49 moved print ticket up a bit 2024-10-08 08:25:32 -04:00
e8ffae3b01 added promo. fixed bugs 2024-10-07 17:34:38 -04:00
7832e40bf3 added checks emergency fixed bugs 2024-09-27 14:13:09 -04:00
54fa47268d Added checks and updated ticket 2024-09-26 20:00:44 -04:00
d927f71a55 Updated ticket 2024-09-23 08:02:47 -04:00
94ce4af245 Added description 2024-09-18 12:48:28 -04:00
ec59223755 working print ticket 2024-09-14 17:51:57 -04:00
4def44d82e Ticket good printing 2024-06-25 17:58:18 -04:00
7164e41aa1 Updated looks 2024-04-04 16:38:35 -04:00