Skip to content

Commit

Permalink
ruff
Browse files Browse the repository at this point in the history
  • Loading branch information
jjstnlee committed Nov 25, 2024
2 parents 9f83c71 + ac8b0e3 commit 6c9e074
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 10 deletions.
6 changes: 5 additions & 1 deletion api/maps/AddMarkers.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,17 @@ import { MarkerInfoWindow } from './MarkerInfoWindow';
export default function AddMarker({
projects,
selectedProjectId,
map,
setSelectedProjectId,
setMap,
}: {
projects: Project[] | null;
selectedProjectId: number | null;
map: google.maps.Map | null;
setSelectedProjectId: React.Dispatch<React.SetStateAction<number | null>>;
setMap: React.Dispatch<React.SetStateAction<google.maps.Map | null>>;
}) {
const map = useMap();
setMap(useMap());

const handleMarkerClick = (
projectId: number,
Expand Down
11 changes: 5 additions & 6 deletions api/maps/MarkerInfoWindow.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ export const MarkerInfoWindow = ({
}) => {
const [markerRef, marker] = useAdvancedMarkerRef();
const [infoWindowShown, setInfoWindowShown] = useState(false);
const [modalOpen, setModalOpen] = useState(false);

// open infowindow when marker is hovered and not already open
const handleMarkerEnter = useCallback(() => {
Expand All @@ -59,17 +58,16 @@ export const MarkerInfoWindow = ({

// close infowindow when modal is closed
const handleClose = useCallback(() => {
if (!modalOpen) {
if (selectedProjectId !== projectId) {
setInfoWindowShown(false);
}
}, [modalOpen]);
}, [projectId, selectedProjectId]);

const handleMarkerClick = () => {
onMarkerClick(projectId, position);
setModalOpen(!modalOpen);

// toggle infowindow when marker is clicked
if (!modalOpen) {
if (selectedProjectId === null) {
setInfoWindowShown(true);
} else {
setInfoWindowShown(false);
Expand All @@ -80,7 +78,8 @@ export const MarkerInfoWindow = ({
// close infowindow and modal if new marker is clicked
if (selectedProjectId !== projectId) {
setInfoWindowShown(false);
setModalOpen(false);
} else {
setInfoWindowShown(true);
}
}, [selectedProjectId, projectId]);

Expand Down
6 changes: 6 additions & 0 deletions components/Map/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,14 @@ const mapId = '54eb1c7baba5a715'; // needed for AdvancedMarker
export default function Map({
projects,
selectedProjectId,
map,
setMap,
setSelectedProjectId,
}: {
projects: Project[] | null;
selectedProjectId: number | null;
map: google.maps.Map | null;
setMap: React.Dispatch<React.SetStateAction<google.maps.Map | null>>;
setSelectedProjectId: React.Dispatch<React.SetStateAction<number | null>>;
}) {
return (
Expand All @@ -44,6 +48,8 @@ export default function Map({
>
<AddMarkers
projects={projects}
map={map}
setMap={setMap}
selectedProjectId={selectedProjectId}
setSelectedProjectId={setSelectedProjectId}
/>
Expand Down
6 changes: 5 additions & 1 deletion components/MapViewScreen/index.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { useEffect, useState } from 'react';
import { useMap } from '@vis.gl/react-google-maps';
import {
LocationIcon,
ProjectSizeIcon,
Expand Down Expand Up @@ -44,7 +45,7 @@ export default function MapViewScreen({
icon: <LocationIcon />,
},
];

const [map, setMap] = useState<google.maps.Map | null>(useMap());
const [selectedProjectId, setSelectedProjectId] = useState<number | null>(
null,
);
Expand Down Expand Up @@ -81,11 +82,14 @@ export default function MapViewScreen({
/>
<Map
projects={projects}
map={map}
setMap={setMap}
selectedProjectId={selectedProjectId}
setSelectedProjectId={setSelectedProjectId}
/>
<ProjectsListingModal
projects={filteredProjects}
map={map}
setSelectedProjectId={setSelectedProjectId}
/>
{selectedProjectId && (
Expand Down
8 changes: 6 additions & 2 deletions components/ProjectItem/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,11 @@ import {

export default function ProjectItem({
project_id,
map,
setSelectedProjectId,
}: {
project_id: number;
map: google.maps.Map | null;
setSelectedProjectId: React.Dispatch<React.SetStateAction<number | null>>;
}) {
const [project, setProject] = useState<Project | null>(null);
Expand Down Expand Up @@ -73,8 +75,8 @@ export default function ProjectItem({
renewable_energy_technology,
size,
// developer,
// longitude,
// latitude,
longitude,
latitude,
project_status,
// county,
// town,
Expand Down Expand Up @@ -145,6 +147,8 @@ export default function ProjectItem({
};

const handleProjectClick = () => {
const position = new google.maps.LatLng(latitude ?? 0, longitude ?? 0);
map?.panTo(position);
setSelectedProjectId(project_id);
};

Expand Down
3 changes: 3 additions & 0 deletions components/ProjectsListingModal/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,11 @@ import {

export default function ProjectsListingModal({
projects,
map,
setSelectedProjectId,
}: {
projects: Project[] | null;
map: google.maps.Map | null;
setSelectedProjectId: React.Dispatch<React.SetStateAction<number | null>>;
}) {
const projectItems = projects?.map((project: Project) => {
Expand All @@ -24,6 +26,7 @@ export default function ProjectsListingModal({
key={project.id}
project_id={project.id}
setSelectedProjectId={setSelectedProjectId}
map={map}
/>
);
});
Expand Down

0 comments on commit 6c9e074

Please # to comment.