Upgrade to React 19, MUI v7, Storybook 9
- React 18 → 19, MUI v5 → v7, Storybook 8 → 9 - Fix Grid v2 API in Footer (remove item prop, use size prop) - Inline provider fixtures (was importing from excluded demo dir) - Remove consolidated SB addons (essentials, storysource, blocks) - Update addon-designs to SB9-compatible version - Add autodocs via tags in preview config - Add Tailwind v3, PostCSS, autoprefixer dev deps (config next) - Zero TypeScript errors, Storybook starts clean Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -99,7 +99,7 @@ export const Footer = React.forwardRef<HTMLDivElement, FooterProps>(
|
||||
{/* Main footer content */}
|
||||
<Grid container spacing={{ xs: 4, md: 6 }}>
|
||||
{/* Logo + tagline column */}
|
||||
<Grid item xs={12} md={4}>
|
||||
<Grid size={{ xs: 12, md: 4 }}>
|
||||
<Box sx={{ mb: 2 }}>{logo}</Box>
|
||||
{tagline && (
|
||||
<Typography
|
||||
@@ -157,10 +157,7 @@ export const Footer = React.forwardRef<HTMLDivElement, FooterProps>(
|
||||
{/* Link group columns */}
|
||||
{linkGroups.map((group) => (
|
||||
<Grid
|
||||
item
|
||||
xs={6}
|
||||
sm={4}
|
||||
md
|
||||
size={{ xs: 6, sm: 4, md: 'grow' }}
|
||||
key={group.heading}
|
||||
component="nav"
|
||||
aria-label={group.heading}
|
||||
|
||||
@@ -2,8 +2,7 @@ import { useState } from 'react';
|
||||
import type { Meta, StoryObj } from '@storybook/react';
|
||||
import Box from '@mui/material/Box';
|
||||
import { ProviderMap } from './ProviderMap';
|
||||
import { providers as demoProviders } from '../../../demo/shared/fixtures/providers';
|
||||
import type { ProviderData } from '../../pages/ProvidersStep';
|
||||
import { providers } from '../../../fixtures/providers';
|
||||
|
||||
const meta: Meta<typeof ProviderMap> = {
|
||||
title: 'Organisms/ProviderMap',
|
||||
@@ -29,9 +28,6 @@ const meta: Meta<typeof ProviderMap> = {
|
||||
export default meta;
|
||||
type Story = StoryObj<typeof ProviderMap>;
|
||||
|
||||
// Cast: DemoProvider adds `tier` over ProviderData, structural subset for the map
|
||||
const providers = demoProviders as ProviderData[];
|
||||
|
||||
// ────────────────────────────────────────────────────────────────────────────
|
||||
|
||||
/** All 7 demo providers with real NSW/QLD coordinates. Map fits bounds across them. */
|
||||
|
||||
94
src/fixtures/providers.ts
Normal file
94
src/fixtures/providers.ts
Normal file
@@ -0,0 +1,94 @@
|
||||
import type { ProviderData } from '../components/pages/ProvidersStep';
|
||||
import { assetUrl } from '../utils/assetUrl';
|
||||
|
||||
export const providers: ProviderData[] = [
|
||||
{
|
||||
id: 'parsons',
|
||||
name: 'H.Parsons Funeral Directors',
|
||||
location: 'Wentworth, NSW',
|
||||
verified: true,
|
||||
imageUrl: assetUrl('/images/venues/hparsons-funeral-home-wollongong/01.jpg'),
|
||||
logoUrl: assetUrl('/images/providers/hparsons-funeral-directors/logo.png'),
|
||||
rating: 4.6,
|
||||
reviewCount: 7,
|
||||
startingPrice: 1800,
|
||||
distanceKm: 2.3,
|
||||
coords: { lat: -34.1074, lng: 141.9166 },
|
||||
description:
|
||||
'H.Parsons delivers premium funeral services with exceptional care and support, guiding families through every step with empathy and expertise.',
|
||||
},
|
||||
{
|
||||
id: 'rankins',
|
||||
name: 'Rankins Funeral Services',
|
||||
location: 'Wollongong, NSW',
|
||||
verified: true,
|
||||
imageUrl: assetUrl('/images/venues/rankins-funeral-home-warrawong/01.jpg'),
|
||||
logoUrl: assetUrl('/images/providers/rankins-funerals/logo.png'),
|
||||
rating: 4.8,
|
||||
reviewCount: 23,
|
||||
startingPrice: 2450,
|
||||
distanceKm: 5.1,
|
||||
coords: { lat: -34.487, lng: 150.897 },
|
||||
},
|
||||
{
|
||||
id: 'wollongong-city',
|
||||
name: 'Wollongong City Funerals',
|
||||
location: 'Wollongong, NSW',
|
||||
verified: false,
|
||||
rating: 4.2,
|
||||
reviewCount: 15,
|
||||
startingPrice: 3400,
|
||||
distanceKm: 6.8,
|
||||
coords: { lat: -34.4278, lng: 150.8931 },
|
||||
},
|
||||
{
|
||||
id: 'killick',
|
||||
name: 'Killick Family Funerals',
|
||||
location: 'Kingaroy, QLD',
|
||||
verified: true,
|
||||
imageUrl: assetUrl('/images/venues/killick-family-funerals-chapel-kingaroy/01.jpg'),
|
||||
logoUrl: assetUrl('/images/providers/killick-family-funerals/logo.png'),
|
||||
rating: 4.9,
|
||||
reviewCount: 15,
|
||||
startingPrice: 3100,
|
||||
distanceKm: 8.4,
|
||||
coords: { lat: -26.5408, lng: 151.8388 },
|
||||
},
|
||||
{
|
||||
id: 'mackay',
|
||||
name: 'Mackay Family Funeral Directors',
|
||||
location: 'Ourimbah, NSW',
|
||||
verified: true,
|
||||
imageUrl: assetUrl('/images/venues/mackay-family-garden-estate/01.jpg'),
|
||||
logoUrl: assetUrl('/images/providers/mackay-family-funerals/logo.webp'),
|
||||
rating: 4.6,
|
||||
reviewCount: 87,
|
||||
startingPrice: 2800,
|
||||
distanceKm: 18.2,
|
||||
coords: { lat: -33.3644, lng: 151.3728 },
|
||||
},
|
||||
{
|
||||
id: 'mannings',
|
||||
name: 'Mannings Funerals',
|
||||
location: 'Bega, NSW',
|
||||
verified: true,
|
||||
imageUrl: assetUrl('/images/venues/mannings-chapel/01.jpg'),
|
||||
logoUrl: assetUrl('/images/providers/mannings-funerals/logo.png'),
|
||||
rating: 4.7,
|
||||
reviewCount: 31,
|
||||
startingPrice: 2600,
|
||||
distanceKm: 22.0,
|
||||
coords: { lat: -36.6742, lng: 149.8417 },
|
||||
},
|
||||
{
|
||||
id: 'botanical',
|
||||
name: 'Botanical Funerals',
|
||||
location: 'Newtown, NSW',
|
||||
verified: false,
|
||||
rating: 4.9,
|
||||
reviewCount: 8,
|
||||
startingPrice: 5200,
|
||||
distanceKm: 15.0,
|
||||
coords: { lat: -33.8988, lng: 151.1794 },
|
||||
},
|
||||
];
|
||||
Reference in New Issue
Block a user