import type { Meta, StoryObj } from '@storybook/react';
import { Navigation } from './Navigation';
import Box from '@mui/material/Box';
import Typography from '@mui/material/Typography';
// Real FA logo — full wordmark for desktop, short icon for mobile
const FALogo = () => (
{/* Full logo for desktop */}
{/* Short icon for mobile */}
);
const defaultItems = [
{ label: 'Provider Portal', href: '/provider-portal' },
{ label: 'FAQ', href: '/faq' },
{ label: 'Contact Us', href: '/contact' },
{ label: 'Log in', href: '/login' },
];
const meta: Meta = {
title: 'Organisms/Navigation',
component: Navigation,
tags: ['autodocs'],
parameters: {
layout: 'fullscreen',
design: {
type: 'figma',
url: 'https://www.figma.com/design/XUDUrw4yMkEexBCCYHXUvT/Parsons?node-id=14-108',
},
},
argTypes: {
ctaLabel: { control: 'text' },
},
};
export default meta;
type Story = StoryObj;
// --- Default -----------------------------------------------------------------
/** Desktop — logo left, navigation links right */
export const Default: Story = {
args: {
logo: ,
items: defaultItems,
},
};
// --- With CTA ----------------------------------------------------------------
/** Desktop with a primary call-to-action button */
export const WithCTA: Story = {
args: {
logo: ,
items: defaultItems,
ctaLabel: 'Start planning',
onCtaClick: () => alert('Navigate to arrangement flow'),
},
};
// --- With Page Content -------------------------------------------------------
/** Full page layout — sticky header with scrollable content */
export const WithPageContent: Story = {
render: () => (
} items={defaultItems} ctaLabel="Start planning" />
Find a funeral director
Compare trusted funeral directors in your area. View services, pricing, and reviews to
find the right support for your family.
{Array.from({ length: 8 }).map((_, i) => (
Provider {i + 1}
Placeholder content to demonstrate scroll behaviour with sticky header.
))}
),
};
// --- Minimal -----------------------------------------------------------------
/** Minimal — logo only, no navigation items */
export const Minimal: Story = {
args: {
logo: ,
},
};
// --- Extended Navigation -----------------------------------------------------
/** More nav items for arrangements flow context */
export const ExtendedNavigation: Story = {
args: {
logo: ,
items: [
{ label: 'Directors', href: '/directors' },
{ label: 'Venues', href: '/venues' },
{ label: 'Pricing', href: '/pricing' },
{ label: 'Provider Portal', href: '/provider-portal' },
{ label: 'FAQ', href: '/faq' },
{ label: 'Contact Us', href: '/contact' },
{ label: 'Log in', href: '/login' },
],
ctaLabel: 'Start planning',
},
};
// --- With Dropdown -----------------------------------------------------------
/** Items with `children` render as a dropdown on desktop and a collapsible
* section in the mobile drawer */
export const WithDropdown: Story = {
args: {
logo: ,
items: [
{
label: 'Locations',
children: [
{ label: 'Melbourne', href: '/locations/melbourne' },
{ label: 'Brisbane', href: '/locations/brisbane' },
{ label: 'Sydney', href: '/locations/sydney' },
{ label: 'South Coast NSW', href: '/locations/south-coast-nsw' },
{ label: 'Central Coast NSW', href: '/locations/central-coast-nsw' },
],
},
{ label: 'FAQ', href: '/faq' },
{ label: 'Contact Us', href: '/contact' },
{ label: 'Log in', href: '/login' },
],
},
};