import { useQuery } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; import { Link } from "react-router"; import { fetchRoutes } from "~/api/transit"; import LineIcon from "~/components/LineIcon"; import { usePageTitle } from "~/contexts/PageTitleContext"; import "../tailwind-full.css"; export default function RoutesPage() { const { t } = useTranslation(); usePageTitle(t("navbar.routes", "Rutas")); const { data: routes, isLoading } = useQuery({ queryKey: ["routes"], queryFn: () => fetchRoutes(["santiago", "vitrasa", "coruna", "feve"]), }); const routesByAgency = routes?.reduce( (acc, route) => { const agency = route.agencyName || t("routes.unknown_agency", "Otros"); if (!acc[agency]) acc[agency] = []; acc[agency].push(route); return acc; }, {} as Record ); return (

{t( "routes.description", "A continuación se muestra una lista de las rutas de autobús urbano con sus respectivos trayectos." )}

{isLoading && (
)}
{routesByAgency && Object.entries(routesByAgency).map(([agency, agencyRoutes]) => (

{agency}

{agencyRoutes.map((route) => (

{route.longName}

))}
))}
); }