"use client"; import clsx from "clsx"; import dynamic from "next/dynamic"; import Link from "next/link"; import { useEffect, useMemo, useRef, useState } from "react"; import styles from "./Dashboard.module.css"; import detailChromeStyles from "./DetailPanelChrome.module.css"; import modalChromeStyles from "./ModalChrome.module.css"; import { DashboardStoreProvider, useDashboardStore, } from "@/hooks/useDashboardStore"; import { I18nProvider, useI18n } from "@/hooks/useI18n"; import { CitySidebar } from "@/components/dashboard/CitySidebar"; import { HeaderBar } from "@/components/dashboard/HeaderBar"; import type { CityDetail, CityListItem, CitySummary, RiskLevel, } from "@/lib/dashboard-types"; import { getLocalizedAirportDisplay, getLocalizedCityDisplay, } from "@/lib/dashboard-home-copy"; import { getTemperatureChartData, getWeatherSummary, } from "@/lib/dashboard-utils"; const loadHistoryModal = () => import("@/components/dashboard/HistoryModal").then( (module) => module.HistoryModal, ); const loadFutureForecastModal = () => import("@/components/dashboard/FutureForecastModal").then( (module) => module.FutureForecastModal, ); const MapCanvas = dynamic( () => import("@/components/dashboard/MapCanvas").then( (module) => module.MapCanvas, ), { ssr: false, loading: () =>