Skip to content

Commit 784bba4

Browse files
committed
Make popup title clickable for notes dialogue
1 parent 782f1f5 commit 784bba4

File tree

5 files changed

+65
-6
lines changed

5 files changed

+65
-6
lines changed

src/App.tsx

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { TagOption } from "./components/right-sidebar/tag";
66
import LeftSidebar from "./components/leftSidebar";
77
import RightSidebar from "./components/rightSidebar";
88
import rawEvents from "../events.json";
9+
import NotesDialog from "./components/right-sidebar/noteDialogue";
910

1011
function App() {
1112
const [events, setEvents] = useState<Event[]>([]);
@@ -24,6 +25,8 @@ function App() {
2425
const [selectedRegionTags, setSelectedRegionTags] = useState<TagOption[]>([]);
2526
const [selectedTypeTags, setSelectedTypeTags] = useState<TagOption[]>([]);
2627
const map = useRef<L.Map | null>(null);
28+
const [notes, setNotes] = useState<Event | null>(null);
29+
const [openNotes, setOpenNotes] = useState(false);
2730

2831
useEffect(() => {
2932
const data = rawEvents.map((event) => ({
@@ -62,6 +65,8 @@ function App() {
6265
selectedTile={selectedTile}
6366
map={map}
6467
filteredEvents={filteredEvents}
68+
setNotes={setNotes}
69+
setOpenNotes={setOpenNotes}
6570
/>
6671

6772
<RightSidebar
@@ -72,7 +77,19 @@ function App() {
7277
onDateChange={setSelectedDateTags}
7378
onRegionChange={setSelectedRegionTags}
7479
onTypeChange={setSelectedTypeTags}
80+
notes={notes}
81+
setNotes={setNotes}
82+
openNotes={openNotes}
83+
setOpenNotes={setOpenNotes}
7584
/>
85+
86+
{notes && (
87+
<NotesDialog
88+
open={openNotes}
89+
event={notes}
90+
onClose={() => setOpenNotes(false)}
91+
/>
92+
)}
7693
</div>
7794
);
7895
}

src/components/map.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ interface EventMapProps {
1515
selectedTile: TileLayerOption;
1616
map: RefObject<L.Map | null>;
1717
filteredEvents: Event[];
18+
setNotes: (event: Event | null) => void;
19+
setOpenNotes: (open: boolean) => void;
1820
}
1921

2022
const EventMap = ({
@@ -23,6 +25,8 @@ const EventMap = ({
2325
selectedTile,
2426
map,
2527
filteredEvents,
28+
setNotes,
29+
setOpenNotes,
2630
}: EventMapProps) => {
2731
const markers = useRef<Map<number, L.Marker | null>>(new Map());
2832
const [showRoute, setShowRoute] = useState(false);
@@ -115,6 +119,8 @@ const EventMap = ({
115119
event={event}
116120
filteredEvents={filteredEvents}
117121
onSelectEvent={onSelectEvent}
122+
setNotes={setNotes}
123+
setOpenNotes={setOpenNotes}
118124
/>
119125
</Popup>
120126
</Marker>

src/components/map/popup.tsx

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,17 @@ interface PopupProps {
55
event: Event;
66
filteredEvents: Event[];
77
onSelectEvent: (event: Event) => void;
8+
setNotes: (event: Event | null) => void;
9+
setOpenNotes: (open: boolean) => void;
810
}
911

10-
const PopupContent = ({ event, filteredEvents, onSelectEvent }: PopupProps) => {
12+
const PopupContent = ({
13+
event,
14+
filteredEvents,
15+
onSelectEvent,
16+
setNotes,
17+
setOpenNotes,
18+
}: PopupProps) => {
1119
const currentIndex = filteredEvents.findIndex((r) => r.id === event.id);
1220

1321
const handlePrev = () => {
@@ -22,11 +30,22 @@ const PopupContent = ({ event, filteredEvents, onSelectEvent }: PopupProps) => {
2230
}
2331
};
2432

33+
const handleTitleClick = () => {
34+
setNotes(event);
35+
setOpenNotes(true);
36+
};
37+
2538
return (
2639
<Box sx={{ "& p": { mb: 0.2, mt: 0 } }}>
2740
<Typography
2841
variant="h6"
29-
sx={{ fontWeight: "bold", fontSize: "1.3rem", mb: 1 }}
42+
onClick={handleTitleClick}
43+
sx={{
44+
fontWeight: "bold",
45+
fontSize: "1.3rem",
46+
mb: 1,
47+
cursor: "pointer",
48+
}}
3049
>
3150
{event.name}
3251
</Typography>

src/components/right-sidebar/cardDrawer.tsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { useEffect, useState } from "react";
1+
import { useEffect } from "react";
22
import { Drawer, Box, IconButton, Typography } from "@mui/material";
33
import CloseIcon from "@mui/icons-material/Close";
44
import EventCard from "../right-sidebar/eventCard";
@@ -11,6 +11,10 @@ interface CardsDrawerProps {
1111
filteredEvents: Event[];
1212
selectedEvent: Event | null;
1313
onSelectEvent: (event: Event) => void;
14+
notes: Event | null;
15+
setNotes: (event: Event | null) => void;
16+
openNotes: boolean;
17+
setOpenNotes: (open: boolean) => void;
1418
}
1519

1620
const CardsDrawer = ({
@@ -19,10 +23,11 @@ const CardsDrawer = ({
1923
filteredEvents,
2024
selectedEvent,
2125
onSelectEvent,
26+
notes,
27+
setNotes,
28+
openNotes,
29+
setOpenNotes,
2230
}: CardsDrawerProps) => {
23-
const [openNotes, setOpenNotes] = useState(false);
24-
const [notes, setNotes] = useState<Event | null>(null);
25-
2631
useEffect(() => {
2732
if (openNotes && selectedEvent) {
2833
setNotes(selectedEvent);

src/components/rightSidebar.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@ interface Props {
1515
onDateChange: (tags: TagOption[]) => void;
1616
onRegionChange: (tags: TagOption[]) => void;
1717
onTypeChange: (tags: TagOption[]) => void;
18+
notes: Event | null;
19+
setNotes: (event: Event | null) => void;
20+
openNotes: boolean;
21+
setOpenNotes: (open: boolean) => void;
1822
}
1923

2024
const RightSidebar = ({
@@ -25,6 +29,10 @@ const RightSidebar = ({
2529
onDateChange,
2630
onRegionChange,
2731
onTypeChange,
32+
notes,
33+
setNotes,
34+
openNotes,
35+
setOpenNotes,
2836
}: Props) => {
2937
const [openFilterDrawer, setOpenFilterDrawer] = useState(false);
3038
const [openCardsDrawer, setOpenCardsDrawer] = useState(false);
@@ -77,6 +85,10 @@ const RightSidebar = ({
7785
filteredEvents={filteredEvents}
7886
selectedEvent={selectedEvent}
7987
onSelectEvent={onSelectEvent}
88+
notes={notes}
89+
setNotes={setNotes}
90+
openNotes={openNotes}
91+
setOpenNotes={setOpenNotes}
8092
/>
8193
</>
8294
);

0 commit comments

Comments
 (0)