[frontend]: Create BusPopup

This commit is contained in:
2025-03-14 20:46:07 +00:00
parent ae61127e5a
commit 22159f4f88
2 changed files with 53 additions and 24 deletions

View File

@ -0,0 +1,36 @@
import React, { useState } from "react";
import { useMap } from "react-leaflet";
const BusPopup = ({ item, objectTitle, toggleFavourite, favourites }) => {
const [isFavourite, setIsFavourite] = useState(favourites.Bus?.includes(item.busRoute));
const handleToggleFavourite = () => {
toggleFavourite("Bus", item.busRoute);
setIsFavourite((prev) => !prev);
};
const map = useMap(); // Access the Leaflet map instance
return (
<div>
<div style={{ display: "flex", justifyContent: "space-between", alignItems: "center" }}>
<h3>{objectTitle}</h3>
<button
onClick={handleToggleFavourite}
style={{ background: "white", border: "none", fontSize: "20px", cursor: "pointer" }}
>
{isFavourite ? "⭐" : "☆"}
</button>
</div>
<ul>
<li><b>Bus ID:</b> {item.busID}</li>
<li><b>Route:</b> {item.busRoute}</li>
<li><b>Short Name:</b> {item.busRouteShortName}</li>
<li><b>Long Name:</b> {item.busRouteLongName}</li>
<li><b>Agency:</b> {item.busRouteAgencyName}</li>
</ul>
</div>
);
};
export default BusPopup;