Skip to content

Commit

Permalink
Merge pull request #1125 from hackclub/malted/fixstasrntoirsntoeisr
Browse files Browse the repository at this point in the history
Optgroup tavern locations
  • Loading branch information
malted authored Jan 22, 2025
2 parents 737faa0 + 72805b1 commit 7b811c7
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 12 deletions.
6 changes: 3 additions & 3 deletions src/app/harbor/tavern/map.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,7 @@ function MapUpdater({
}
} else if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition((loc) => {
if (map !== null) {
map.setView([loc.coords.latitude, loc.coords.longitude], 11)
}
map.setView([loc.coords.latitude, loc.coords.longitude], 11)
})
}
}, [selectedTavern, map])
Expand All @@ -116,6 +114,8 @@ function TavernMarkers(props: MapProps) {

if (!map) return null

console.log(props)

const peopleMarkers = props.people.map((t) => {
let iconClass = `rounded-full border-2 border-white w-full h-full `

Expand Down
42 changes: 33 additions & 9 deletions src/app/harbor/tavern/tavern.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,15 @@ const RsvpStatusSwitcher = ({ tavernEvents, onTavernSelect }) => {
}
}

const eventsByCountry = tavernEvents.reduce((acc, event) => {
const country = event.locality.split(', ').at(-1)
if (!acc[country]) {
acc[country] = []
}
acc[country].push(event)
return acc
}, {})

return (
<>
<Modal
Expand Down Expand Up @@ -112,15 +121,30 @@ const RsvpStatusSwitcher = ({ tavernEvents, onTavernSelect }) => {
value={whichTavern}
className="ml-2 text-gray-600 rounded-sm"
>
<option value="" disabled>
Select
</option>
{tavernEvents.map((te, idx) => (
<option key={idx} value={te.id}>
{te.locality}
{te.organizers.length === 0 ? ' (no organizers yet!)' : ''}
</option>
))}
<option value="">Select</option>
{Object.keys(eventsByCountry)
.sort()
.map((country) => (
<optgroup key={country} label={country}>
{eventsByCountry[country].map((te) => (
<option key={te.id} value={te.id}>
{te.locality}
{te.organizers.length === 0
? ' (no organizers yet!)'
: ''}
</option>
))}
</optgroup>
))}
{/* {tavernEvents.map((te, idx) => {
console.log(te)
return (
<option key={idx} value={te.id}>
{te.locality}
{te.organizers.length === 0 ? ' (no organizers yet!)' : ''}
</option>
)
})} */}
</select>

<label>What is your shirt size?</label>
Expand Down

0 comments on commit 7b811c7

Please sign in to comment.