diff --git a/web/frontend/app/features/catalog/components/FeatureNotAvailable.tsx b/web/frontend/app/features/catalog/components/FeatureNotAvailable.tsx index 3c089285..bbbef670 100644 --- a/web/frontend/app/features/catalog/components/FeatureNotAvailable.tsx +++ b/web/frontend/app/features/catalog/components/FeatureNotAvailable.tsx @@ -4,14 +4,18 @@ import { Link } from 'react-router'; type Reason = 'soon' | 'maintenance' | 'auth'; -type Action = { to: string; label: string; className: string }; +interface Action { + to: string; + label: string; + className: string; +} -type Content = { +interface Content { Icon: ComponentType<{ className?: string }>; title: string; description: string; actions: Action[]; -}; +} const CONTENT: Record = { soon: { @@ -32,7 +36,8 @@ const CONTENT: Record = { auth: { Icon: Lock, title: 'Sign in to use this feature', - description: 'This feature requires a valid session. Log in or create an account to continue.', + description: + 'This feature requires a valid session. Log in or create an account to continue.', actions: [ { to: '/login', label: 'Login', className: 'btn-primary' }, { to: '/register', label: 'Register', className: 'btn-outline' }, @@ -40,9 +45,9 @@ const CONTENT: Record = { }, }; -type FeatureNotAvailableProps = { +interface FeatureNotAvailableProps { reason?: Reason; -}; +} const FeatureNotAvailable = ({ reason = 'soon' }: FeatureNotAvailableProps) => { const { Icon, title, description, actions } = CONTENT[reason]; diff --git a/web/frontend/app/features/home/routes/home.tsx b/web/frontend/app/features/home/routes/home.tsx index acf266a7..fb112452 100644 --- a/web/frontend/app/features/home/routes/home.tsx +++ b/web/frontend/app/features/home/routes/home.tsx @@ -21,9 +21,10 @@ export const meta = ({}: Route.MetaArgs) => [ export const loader = async ({ request }: Route.LoaderArgs) => { const auth = await getOptionalAuth(request); - let recentBreweries: Brewery[] = []; - const randomOffset = Math.random() * 1.0 + // The rest of the landing page stands on its own, so a brewery service + // outage degrades to the empty state instead of an error page. + let recentBreweries: Brewery[] = []; try { recentBreweries = await getBreweries(PARTNER_BREWERY_COUNT, 0); } catch {