import { useState } from "react"; import { useTranslation } from "react-i18next"; import { useNavigate } from "react-router"; import { usePageTitle } from "~/contexts/PageTitleContext"; import { type Theme, useApp } from "../AppContext"; import { getAvailableRegions } from "../config/RegionConfig"; import "./settings.css"; export default function Settings() { const { t, i18n } = useTranslation(); usePageTitle(t("navbar.settings", "Ajustes")); const navigate = useNavigate(); const { theme, setTheme, tableStyle, setTableStyle, mapPositionMode, setMapPositionMode, region, setRegion, } = useApp(); const regions = getAvailableRegions(); const [showModal, setShowModal] = useState(false); const [pendingRegion, setPendingRegion] = useState(null); const handleRegionChange = (newRegion: string) => { if (newRegion !== region) { setPendingRegion(newRegion); setShowModal(true); } }; const confirmRegionChange = () => { if (pendingRegion) { setRegion(pendingRegion as any); setShowModal(false); setPendingRegion(null); navigate("/"); } }; const cancelRegionChange = () => { setShowModal(false); setPendingRegion(null); }; return (

{t("about.settings")}

{t("about.details_summary")}

{t("about.details_table")}

{t("about.table_style_regular")}
{t("about.details_regular")}
{t("about.table_style_grouped")}
{t("about.details_grouped")}
{t("about.table_style_experimental_consolidated")}
{t("about.details_experimental_consolidated")}
{showModal && (
e.stopPropagation()}>

{t("about.region_change_title", "Cambiar región")}

{t( "about.region_change_message", "¿Estás seguro de que quieres cambiar la región? Serás redirigido a la lista de paradas." )}

)}
); }