Files
frontend/tailwind.config.js
Edwin Eames d60c816002 feat(CRIT-012): redesign home, state, and county pages for 55+ audience
Complete visual overhaul of the three core public pages, establishing a
consistent design system with reusable CSS classes and theme tokens.

Phase 1 — Home Page:
- Hero section with flame badge, bold headline, bouncing arrow CTA
- SVG map wrapped in warm-glow container with hover indicator
- State navigation cards with per-state colors and hover lift
- Value propositions grid (Compare, Find, Save, Free)
- Subtle dealer login CTA

Phase 2 — State Page:
- Themed breadcrumb with ChevronLeft back-nav
- Per-state accent colors on header
- County map in .map-container with hover indicator
- County navigation card grid with bidirectional map cross-highlighting
- Skeleton loading and DaisyUI error states

Phase 3 — County/Tables Page:
- Price-hero styling makes pricing the dominant visual element
- Sortable desktop table with chevron icons and active column highlight
- Completely redesigned mobile cards: company + price top row, cash
  callout, icon-labeled details grid, tappable phone CTA
- Market prices section with info note
- Relative date formatting (Today, Yesterday, 3 days ago)
- Full skeleton loading states

Design System (shared across all pages):
- 19 reusable CSS classes in app.postcss (.accent-badge, .map-container,
  .price-hero, .listing-card, .county-card, .skeleton-box, etc.)
- oil-orange and oil-blue color scales in Tailwind config
- fade-in-up, fade-in, float animations
- Staggered section reveals with Svelte transitions
- Zero hardcoded colors — all theme tokens and DaisyUI semantics
- Full dark mode support throughout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 14:59:07 -05:00

111 lines
2.4 KiB
JavaScript
Executable File

/** @type {import('tailwindcss').Config}*/
const config = {
content: [
"./src/**/*.{html,js,svelte,ts}",
],
darkMode: 'class',
daisyui: {
themes: [
{
light: {
"primary": "#0256bf",
"secondary": "#36363a",
"accent": "#7F00FF",
"neutral": "#2B2B36",
"base-100": "#ffffff",
"base-200": "#f8f9fa",
"base-300": "#dee2e6",
"base-content": "#000000",
"info": "#74a0d5",
"success": "#33cc33",
"warning": "#97520C",
"error": "#da0e0e",
},
},
{
dark: {
"primary": "#0256bf",
"secondary": "#36363a",
"accent": "#7F00FF",
"neutral": "#2B2B36",
"base-100": "#252531",
"base-200": "#1a1a1f",
"base-300": "#15151a",
"base-content": "#ffffff",
"info": "#74a0d5",
"success": "#33cc33",
"warning": "#97520C",
"error": "#da0e0e",
},
},
],
},
plugins: [
require("daisyui"),
],
theme: {
screens: {
'sm': '640px',
'md': '768px',
'lg': '1024px',
'xl': '1280px',
'2xl': '1536px',
},
extend: {
colors: {
'oil-orange': {
50: '#fff7ed',
100: '#ffedd5',
200: '#fed7aa',
300: '#fdba74',
400: '#fb923c',
500: '#ff6600',
600: '#e55a00',
700: '#c2410c',
800: '#9a3412',
900: '#7c2d12',
},
'oil-blue': {
50: '#eff6ff',
100: '#dbeafe',
200: '#bfdbfe',
300: '#93c5fd',
400: '#60a5fa',
500: '#0256bf',
600: '#0248a3',
700: '#1d4ed8',
800: '#14368f',
900: '#1e3a5f',
},
},
animation: {
'fade-in-up': 'fadeInUp 0.6s ease-out forwards',
'fade-in': 'fadeIn 0.5s ease-out forwards',
'float': 'float 6s ease-in-out infinite',
},
keyframes: {
fadeInUp: {
'0%': { opacity: '0', transform: 'translateY(24px)' },
'100%': { opacity: '1', transform: 'translateY(0)' },
},
fadeIn: {
'0%': { opacity: '0' },
'100%': { opacity: '1' },
},
float: {
'0%, 100%': { transform: 'translateY(0)' },
'50%': { transform: 'translateY(-8px)' },
},
},
},
},
};
module.exports = config;