aboutsummaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/Estimates.tsx12
-rw-r--r--src/pages/Map.tsx16
-rw-r--r--src/pages/StopList.tsx8
3 files changed, 19 insertions, 17 deletions
diff --git a/src/pages/Estimates.tsx b/src/pages/Estimates.tsx
index 900ffc5..90745da 100644
--- a/src/pages/Estimates.tsx
+++ b/src/pages/Estimates.tsx
@@ -1,6 +1,6 @@
import { JSX, useEffect, useState } from "react";
import { useParams } from "react-router";
-import { StopDataProvider } from "../data/StopDataProvider";
+import StopDataProvider from "../data/StopDataProvider";
import { Star } from 'lucide-react';
import "../styles/Estimates.css";
import { RegularTable } from "../components/RegularTable";
@@ -22,8 +22,6 @@ export interface StopDetails {
}[]
}
-const sdp = new StopDataProvider();
-
const loadData = async (stopId: string) => {
const resp = await fetch(`/api/GetStopEstimates?id=${stopId}`);
return await resp.json();
@@ -44,20 +42,20 @@ export function Estimates(): JSX.Element {
})
- sdp.pushRecent(parseInt(params.stopId ?? ""));
+ StopDataProvider.pushRecent(parseInt(params.stopId ?? ""));
setFavourited(
- sdp.isFavourite(parseInt(params.stopId ?? ""))
+ StopDataProvider.isFavourite(parseInt(params.stopId ?? ""))
);
}, [params.stopId]);
const toggleFavourite = () => {
if (favourited) {
- sdp.removeFavourite(parseInt(params.stopId ?? ""));
+ StopDataProvider.removeFavourite(parseInt(params.stopId ?? ""));
setFavourited(false);
} else {
- sdp.addFavourite(parseInt(params.stopId ?? ""));
+ StopDataProvider.addFavourite(parseInt(params.stopId ?? ""));
setFavourited(true);
}
}
diff --git a/src/pages/Map.tsx b/src/pages/Map.tsx
index 9abb7a3..af95bf9 100644
--- a/src/pages/Map.tsx
+++ b/src/pages/Map.tsx
@@ -1,4 +1,4 @@
-import { StopDataProvider, Stop } from "../data/StopDataProvider";
+import StopDataProvider, { Stop } from "../data/StopDataProvider";
import 'leaflet/dist/leaflet.css'
import 'react-leaflet-markercluster/styles'
@@ -20,8 +20,6 @@ const icon = new Icon({
shadowSize: [41, 41]
});
-const sdp = new StopDataProvider();
-
// Componente auxiliar para detectar cambios en el mapa
const MapEventHandler = () => {
const { updateMapState } = useApp();
@@ -43,9 +41,17 @@ export function StopMap() {
const { mapState } = useApp();
useEffect(() => {
- sdp.getStops().then((stops) => { setStops(stops); });
+ StopDataProvider.getStops().then((stops) => { setStops(stops); });
}, []);
+ const getDisplayName = (stop: Stop): string => {
+ if (typeof stop.name === 'string') {
+ return stop.name;
+ }
+
+ return stop.name.intersect || stop.name.original;
+ }
+
return (
<MapContainer
center={mapState.center}
@@ -63,7 +69,7 @@ export function StopMap() {
{stops.map((stop) => (
<Marker key={stop.stopId} position={[stop.latitude, stop.longitude] as LatLngTuple} icon={icon}>
<Popup>
- <Link to={`/estimates/${stop.stopId}`}>{stop.name}</Link>
+ <Link to={`/estimates/${stop.stopId}`}>{getDisplayName(stop)}</Link>
<br />
{stop.lines.map((line) => (
<LineIcon key={line} line={line} />
diff --git a/src/pages/StopList.tsx b/src/pages/StopList.tsx
index 72cccda..449ae84 100644
--- a/src/pages/StopList.tsx
+++ b/src/pages/StopList.tsx
@@ -1,10 +1,8 @@
import { useEffect, useMemo, useState } from "react";
-import { Stop, StopDataProvider } from "../data/StopDataProvider";
+import StopDataProvider, { Stop } from "../data/StopDataProvider";
import StopItem from "../components/StopItem";
import Fuse from "fuse.js";
-const sdp = new StopDataProvider();
-
const placeholders = [
"Urzaiz",
"Gran Vía",
@@ -22,7 +20,7 @@ export function StopList() {
const [searchResults, setSearchResults] = useState<Stop[] | null>(null);
useEffect(() => {
- sdp.getStops().then((stops: Stop[]) => setData(stops))
+ StopDataProvider.getStops().then((stops: Stop[]) => setData(stops))
}, []);
const handleStopSearch = (event: React.ChangeEvent<HTMLInputElement>) => {
@@ -39,7 +37,7 @@ export function StopList() {
}, [data])
const recentStops = useMemo(() => {
- const recent = sdp.getRecent();
+ const recent = StopDataProvider.getRecent();
if (recent.length === 0) return null;