import { Center, Box, Stack, Text, useComputedColorScheme } from '@mantine/core'; import { useTranslation } from 'react-i18next'; import { MaritimeLoader } from '../components/MaritimeLoader'; interface PageLoaderProps { /** Visible + accessible label. Defaults to the shared i18n "loading" string. */ label?: string; /** Subtitle or secondary detail string. */ subtitle?: string; /** Container height. Defaults to a full-page fill. */ height?: number | string; /** Show framed executive card backdrop (default: true). */ framed?: boolean; } /** The full-page/section loading state every screen should use. */ export function PageLoader({ label, subtitle, height = '60vh', framed = true, }: PageLoaderProps) { const { t } = useTranslation(); const computedColorScheme = useComputedColorScheme('light', { getInitialValueInEffect: true }); const isDark = computedColorScheme === 'dark'; const resolvedLabel = label ?? t('loading', 'Loading Maritime Services…'); return (
{/* Main Maritime Animated Loader */} {/* Ethiopian Maritime Authority Branding Header */} ETHIOPIAN MARITIME AUTHORITY የኢትዮጵያ ማሪታይም ባለስልጣን {resolvedLabel} {subtitle && ( {subtitle} )} {/* Animated Gold Shimmer Bar */}
); }