← back to Watches
QUICK_START_INTEGRATION.md
297 lines
# Quick Start Integration Guide
## 5-Minute Setup: Luxury UX Enhancement
This guide will help you integrate the luxury UX/UI components into the existing Omega Watch Price History platform in 5 easy steps.
---
## Step 1: Import Design Tokens (2 minutes)
### Update `tailwind.config.js`
```javascript
import { designTokens } from './src/design-system/tokens';
export default {
content: ["./index.html", "./src/**/*.{js,ts,jsx,tsx}"],
darkMode: 'class',
theme: {
extend: {
colors: {
omega: {
red: designTokens.colors.primary.red,
gold: designTokens.colors.metallic.gold,
navy: designTokens.colors.navy.deep,
silver: designTokens.colors.metallic.silver,
}
},
boxShadow: {
redGlow: designTokens.shadows.redGlow,
goldGlow: designTokens.shadows.goldGlow,
premium: designTokens.shadows.premium,
}
},
},
plugins: [],
}
```
---
## Step 2: Add Accessibility Provider (1 minute)
### Update `src/main.jsx`
```jsx
import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
import './index.css';
import { AccessibilityProvider } from './components/AccessibilityEnhancements';
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<AccessibilityProvider>
<App />
</AccessibilityProvider>
</React.StrictMode>
);
```
---
## Step 3: Add Global Accessibility Features (1 minute)
### Update `src/App.jsx` - Add these imports at the top
```jsx
import { SkipToContent, KeyboardShortcuts } from './components/AccessibilityEnhancements';
```
### Add these components right after the opening `<div>` in App component
```jsx
return (
<div className={`min-h-screen ${darkMode ? 'dark' : ''}`}>
{/* Add these two lines */}
<SkipToContent targetId="main-content" />
<KeyboardShortcuts />
<div className="min-h-screen bg-gray-50 dark:bg-gray-900 transition-colors">
{/* Rest of your app */}
</div>
</div>
);
```
### Add id to main content area
```jsx
<main id="main-content" className="container mx-auto px-4 py-6 md:py-8">
{/* Your existing content */}
</main>
```
---
## Step 4: Replace Loading States (1 minute)
### Update loading state in `src/App.jsx`
```jsx
// Replace old loading div with:
import { CinematicPageLoader } from './components/LuxuryLoadingStates';
if (loading) {
return <CinematicPageLoader message="Loading Omega Watch Collection" />;
}
```
---
## Step 5: Add Mobile Bottom Navigation (Optional - 1 minute)
### Update `src/App.jsx` - Add import
```jsx
import { MobileBottomNav } from './components/MobileEnhancements';
```
### Add before closing `</div>` of main app
```jsx
{/* Mobile bottom navigation */}
<MobileBottomNav
activeView={view}
onViewChange={setView}
/>
```
---
## That's It! 🎉
Your app now has:
- ✅ Luxury design system
- ✅ WCAG AAA accessibility
- ✅ Keyboard shortcuts (press `?`)
- ✅ Skip to content links
- ✅ Premium loading animation
- ✅ Mobile bottom navigation
---
## Next Steps (Optional Enhancements)
### Enhance Watch Cards
```jsx
import { LuxuryCard, AnimatedNumber } from './components/LuxuryInteractions';
// Replace your card component:
<LuxuryCard onClick={() => onSelect(watch)}>
<img src={watch.imageUrl} alt={watch.model} />
<h3>{watch.model}</h3>
<div className="price">
<AnimatedNumber value={watch.currentPrice} prefix="$" />
</div>
</LuxuryCard>
```
### Add Premium Buttons
```jsx
import { LuxuryButton } from './components/LuxuryInteractions';
<LuxuryButton
variant="primary"
size="lg"
icon={<FiWatch />}
onClick={handleClick}
>
View Details
</LuxuryButton>
```
### Enhance Charts
```jsx
import { LuxuryChartContainer, PremiumLineChart } from './components/LuxuryDataVisualizations';
<LuxuryChartContainer
title="Price History"
subtitle="Track value appreciation over time"
icon="📈"
>
<PremiumLineChart
data={{ labels: years, values: prices }}
yAxisLabel="Price (USD)"
/>
</LuxuryChartContainer>
```
### Add Mobile Filter Drawer
```jsx
import { MobileFilterDrawer } from './components/MobileEnhancements';
const [filterOpen, setFilterOpen] = useState(false);
<MobileFilterDrawer isOpen={filterOpen} onClose={() => setFilterOpen(false)}>
<AdvancedFilters {...props} />
</MobileFilterDrawer>
```
---
## Testing Your Integration
### 1. Test Keyboard Shortcuts
- Press `?` - Should show keyboard shortcuts modal
- Press `/` - Should focus search
- Press `Esc` - Should close modals
### 2. Test Mobile
- Resize browser to mobile width
- Bottom navigation should appear
- All touch targets should be 48px minimum
### 3. Test Accessibility
- Tab through the page - Focus should be visible
- Use screen reader - All content should be announced
### 4. Test Loading
- Refresh page - Should see cinematic loader
---
## Common Issues & Solutions
### Issue: Tailwind classes not working
**Solution**: Restart Vite dev server
```bash
npm run dev
```
### Issue: Components not found
**Solution**: Check import paths are correct
```jsx
import { Component } from './components/ComponentFile';
```
### Issue: Animations not smooth
**Solution**: Add GPU acceleration class
```jsx
<div className="gpu-accelerated">
{/* Your animated content */}
</div>
```
---
## File Locations Reference
```
/root/Projects/watches/
├── src/
│ ├── design-system/
│ │ └── tokens.js # Import for design tokens
│ ├── components/
│ │ ├── LuxuryInteractions.jsx # Buttons, cards, animations
│ │ ├── AccessibilityEnhancements.jsx # A11y features
│ │ ├── LuxuryLoadingStates.jsx # Loaders & skeletons
│ │ ├── MobileEnhancements.jsx # Mobile components
│ │ └── LuxuryDataVisualizations.jsx # Charts & graphs
│ ├── index.css # Enhanced styles (already updated)
│ ├── App.jsx # Main app (update here)
│ └── main.jsx # Entry point (update here)
├── UX_IMPLEMENTATION_GUIDE.md # Full documentation
├── UX_IMPROVEMENTS_SUMMARY.md # Complete feature list
└── QUICK_START_INTEGRATION.md # This file
```
---
## Support
### Full Documentation
See `/root/Projects/watches/UX_IMPLEMENTATION_GUIDE.md` for complete API documentation and examples.
### Component Examples
Each component file includes JSDoc comments with usage examples.
### Design Tokens
All tokens documented in `/root/Projects/watches/src/design-system/tokens.js`
---
## Keyboard Shortcuts Reference
Once integrated, users can press `?` anytime to see this help:
| Key | Action |
|-----|--------|
| `?` | Show keyboard shortcuts |
| `/` | Focus search |
| `h` | Go to home/dashboard |
| `l` | Go to watch list |
| `c` | Go to compare view |
| `d` | Toggle dark mode |
| `Esc` | Close modals/dialogs |
| `←/→` | Navigate between watches |
| `Enter` | Select/activate item |
| `Tab` | Navigate between elements |
---
**Ready to build a luxury experience! 🎯**