diff --git a/src/components/AppLayout/BetaBanner.tsx b/src/components/AppLayout/BetaBanner.tsx index a47775c5b..07c7d3b2e 100644 --- a/src/components/AppLayout/BetaBanner.tsx +++ b/src/components/AppLayout/BetaBanner.tsx @@ -1,8 +1,15 @@ +import { useIntl } from '@/i18n' import { DismissibleBanner } from './DismissibleBanner' -export const BetaBanner = () => ( - - This is a beta version of MapRoulette and is actively being worked on. Some features may be - incomplete or unavailable. - -) +export const BetaBanner = () => { + const { t } = useIntl() + return ( + + {t( + 'appLayout.betaBanner.message', + undefined, + 'This is a beta version of MapRoulette and is actively being worked on. Some features may be incomplete or unavailable.' + )} + + ) +} diff --git a/src/components/AppLayout/DismissibleBanner.test.tsx b/src/components/AppLayout/DismissibleBanner.test.tsx index fdbceed4a..34080ae29 100644 --- a/src/components/AppLayout/DismissibleBanner.test.tsx +++ b/src/components/AppLayout/DismissibleBanner.test.tsx @@ -1,6 +1,6 @@ -import { cleanup, render, screen } from '@testing-library/react' import userEvent from '@testing-library/user-event' import { afterEach, describe, expect, it } from 'vitest' +import { cleanup, render, screen } from '@/test/testUtils' import { DismissibleBanner } from './DismissibleBanner.tsx' afterEach(() => { diff --git a/src/components/AppLayout/DismissibleBanner.tsx b/src/components/AppLayout/DismissibleBanner.tsx index 4f3af960b..c983cb7e2 100644 --- a/src/components/AppLayout/DismissibleBanner.tsx +++ b/src/components/AppLayout/DismissibleBanner.tsx @@ -1,5 +1,6 @@ import { X } from 'lucide-react' import { type ReactNode, useState } from 'react' +import { useIntl } from '@/i18n' interface Props { /** localStorage key used to persist the dismissed state across reloads. */ @@ -8,6 +9,7 @@ interface Props { } export const DismissibleBanner = ({ storageKey, children }: Props) => { + const { t } = useIntl() const [dismissed, setDismissed] = useState(() => localStorage.getItem(storageKey) === 'true') if (dismissed) return null @@ -24,7 +26,7 @@ export const DismissibleBanner = ({ storageKey, children }: Props) => { type="button" onClick={handleDismiss} className="-translate-y-1/2 absolute top-1/2 right-3 rounded p-1 hover:bg-slate-800 dark:hover:bg-slate-200" - aria-label="Dismiss banner" + aria-label={t('appLayout.dismissibleBanner.dismiss', undefined, 'Dismiss banner')} > diff --git a/src/components/AppLayout/Header/DesktopNav.tsx b/src/components/AppLayout/Header/DesktopNav.tsx index 8d0f19810..b2033e6be 100644 --- a/src/components/AppLayout/Header/DesktopNav.tsx +++ b/src/components/AppLayout/Header/DesktopNav.tsx @@ -1,12 +1,17 @@ import { Link } from '@tanstack/react-router' import { ExternalLink } from 'lucide-react' import { useNavigationContext } from '@/contexts/NavigationContext' +import { useIntl } from '@/i18n' export const DesktopNav = () => { const { allNavigationItems } = useNavigationContext() + const { t } = useIntl() return ( -