diff --git a/src/components/pages/ProvidersStep/ProvidersStep.tsx b/src/components/pages/ProvidersStep/ProvidersStep.tsx index 8c4772c..b7465c8 100644 --- a/src/components/pages/ProvidersStep/ProvidersStep.tsx +++ b/src/components/pages/ProvidersStep/ProvidersStep.tsx @@ -305,23 +305,69 @@ export const ProvidersStep: React.FC = ({ onBack={onBack} sx={sx} secondaryPanel={ - mapPanel || ( - + {/* Floating view toggle */} + val && onViewModeChange?.(val as ListViewMode)} + size="small" + aria-label="View mode" sx={{ - bgcolor: 'var(--fa-color-surface-cool)', - flex: 1, - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - borderLeft: '1px solid', - borderColor: 'divider', + position: 'absolute', + top: 12, + left: 12, + zIndex: 1, + bgcolor: 'background.paper', + boxShadow: 'var(--fa-shadow-md)', + borderRadius: 1, + '& .MuiToggleButton-root': { + px: 1.5, + py: 0.5, + fontSize: '0.75rem', + fontWeight: 500, + gap: 0.5, + border: '1px solid', + borderColor: 'divider', + textTransform: 'none', + '&.Mui-selected': { + bgcolor: 'var(--fa-color-brand-100)', + color: 'primary.main', + borderColor: 'primary.main', + '&:hover': { bgcolor: 'var(--fa-color-brand-200)' }, + }, + }, }} > - - Map coming soon - - - ) + + + List + + + + Map + + + + {/* Map content */} + {mapPanel || ( + + + Map coming soon + + + )} + } > {/* Heading — scrolls with listings */} @@ -371,7 +417,7 @@ export const ProvidersStep: React.FC = ({ sx={{ mb: 1.5 }} /> - {/* Control bar — view toggle, filters, sort on one line */} + {/* Control bar — filters + sort */} = ({ gap: 1, }} > - {/* View toggle */} - val && onViewModeChange?.(val as ListViewMode)} - size="small" - aria-label="View mode" - sx={{ - '& .MuiToggleButton-root': { - px: 1.5, - py: 0.5, - fontSize: '0.75rem', - fontWeight: 500, - gap: 0.5, - border: '1px solid', - borderColor: 'divider', - textTransform: 'none', - '&.Mui-selected': { - bgcolor: 'var(--fa-color-brand-100)', - color: 'primary.main', - borderColor: 'primary.main', - '&:hover': { bgcolor: 'var(--fa-color-brand-200)' }, - }, - }, - }} - > - - - List - - - - Map - - - {/* Filters */} {/* ── Location ── */} @@ -631,7 +641,7 @@ export const ProvidersStep: React.FC = ({ {providers.length} provider{providers.length !== 1 ? 's' : ''} found diff --git a/src/components/pages/VenueStep/VenueStep.tsx b/src/components/pages/VenueStep/VenueStep.tsx index ad41c7e..ecaaf5b 100644 --- a/src/components/pages/VenueStep/VenueStep.tsx +++ b/src/components/pages/VenueStep/VenueStep.tsx @@ -249,23 +249,69 @@ export const VenueStep: React.FC = ({ onBack={onBack} sx={sx} secondaryPanel={ - mapPanel || ( - + {/* Floating view toggle */} + val && onViewModeChange?.(val as ListViewMode)} + size="small" + aria-label="View mode" sx={{ - bgcolor: 'var(--fa-color-surface-cool)', - flex: 1, - display: 'flex', - alignItems: 'center', - justifyContent: 'center', - borderLeft: '1px solid', - borderColor: 'divider', + position: 'absolute', + top: 12, + left: 12, + zIndex: 1, + bgcolor: 'background.paper', + boxShadow: 'var(--fa-shadow-md)', + borderRadius: 1, + '& .MuiToggleButton-root': { + px: 1.5, + py: 0.5, + fontSize: '0.75rem', + fontWeight: 500, + gap: 0.5, + border: '1px solid', + borderColor: 'divider', + textTransform: 'none', + '&.Mui-selected': { + bgcolor: 'var(--fa-color-brand-100)', + color: 'primary.main', + borderColor: 'primary.main', + '&:hover': { bgcolor: 'var(--fa-color-brand-200)' }, + }, + }, }} > - - Map coming soon - - - ) + + + List + + + + Map + + + + {/* Map content */} + {mapPanel || ( + + + Map coming soon + + + )} + } > {/* Heading — scrolls with listings */} @@ -315,7 +361,7 @@ export const VenueStep: React.FC = ({ sx={{ mb: 1.5 }} /> - {/* Control bar — view toggle, filters, sort on one line */} + {/* Control bar — filters + sort */} = ({ gap: 1, }} > - {/* View toggle */} - val && onViewModeChange?.(val as ListViewMode)} - size="small" - aria-label="View mode" - sx={{ - '& .MuiToggleButton-root': { - px: 1.5, - py: 0.5, - fontSize: '0.75rem', - fontWeight: 500, - gap: 0.5, - border: '1px solid', - borderColor: 'divider', - textTransform: 'none', - '&.Mui-selected': { - bgcolor: 'var(--fa-color-brand-100)', - color: 'primary.main', - borderColor: 'primary.main', - '&:hover': { bgcolor: 'var(--fa-color-brand-200)' }, - }, - }, - }} - > - - - List - - - - Map - - - {/* Filters */} {/* ── Location ── */} @@ -514,7 +524,7 @@ export const VenueStep: React.FC = ({ {venues.length} venue{venues.length !== 1 ? 's' : ''}