mirror of
https://github.com/myfatemi04/wheelshare-frontend.git
synced 2025-04-21 11:20:17 -04:00
your signup doesn't get cleared anymore!!
This commit is contained in:
parent
cd94a05dcc
commit
f199498b81
|
@ -48,7 +48,7 @@ export default function Event({ event }: { event: IEvent }) {
|
||||||
const [placeId, setPlaceId] = useState<string | null>(null);
|
const [placeId, setPlaceId] = useState<string | null>(null);
|
||||||
const [interested, setInterested] = useState(false);
|
const [interested, setInterested] = useState(false);
|
||||||
const [updating, setUpdating] = useState(false);
|
const [updating, setUpdating] = useState(false);
|
||||||
const [signups, setSignups] = useState<IEventSignup[]>([]);
|
const [signups, setSignups] = useState<IEventSignup[] | null>(null);
|
||||||
const toggleInterested = useCallback(() => setInterested((i) => !i), []);
|
const toggleInterested = useCallback(() => setInterested((i) => !i), []);
|
||||||
const toggleInterestedThrottled = useThrottle(toggleInterested, 500);
|
const toggleInterestedThrottled = useThrottle(toggleInterested, 500);
|
||||||
const existingSignup = useRef({
|
const existingSignup = useRef({
|
||||||
|
@ -59,6 +59,10 @@ export default function Event({ event }: { event: IEvent }) {
|
||||||
const me = useMe();
|
const me = useMe();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if (signups === null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const removeSignup = () => {
|
const removeSignup = () => {
|
||||||
if (prev.interested) {
|
if (prev.interested) {
|
||||||
removeEventSignup(event.id)
|
removeEventSignup(event.id)
|
||||||
|
@ -71,6 +75,12 @@ export default function Event({ event }: { event: IEvent }) {
|
||||||
|
|
||||||
const addOrUpdateSignup = () => {
|
const addOrUpdateSignup = () => {
|
||||||
if (!prev.interested || prev.placeId !== placeId) {
|
if (!prev.interested || prev.placeId !== placeId) {
|
||||||
|
console.log('Adding or updating signup.', prev, {
|
||||||
|
interested,
|
||||||
|
placeId,
|
||||||
|
eventId: event.id,
|
||||||
|
signups,
|
||||||
|
});
|
||||||
addOrUpdateEventSignup(event.id, placeId)
|
addOrUpdateEventSignup(event.id, placeId)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
prev.placeId = placeId;
|
prev.placeId = placeId;
|
||||||
|
@ -88,12 +98,11 @@ export default function Event({ event }: { event: IEvent }) {
|
||||||
} else {
|
} else {
|
||||||
addOrUpdateSignup();
|
addOrUpdateSignup();
|
||||||
}
|
}
|
||||||
}, [event.id, interested, placeId, updating]);
|
}, [event.id, interested, placeId, signups, updating]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getEventSignups(event.id)
|
getEventSignups(event.id)
|
||||||
.then((signups) => {
|
.then((signups) => {
|
||||||
setSignups(signups);
|
|
||||||
for (let signup of signups) {
|
for (let signup of signups) {
|
||||||
if (signup.user.id === me?.id) {
|
if (signup.user.id === me?.id) {
|
||||||
setInterested(true);
|
setInterested(true);
|
||||||
|
@ -103,6 +112,7 @@ export default function Event({ event }: { event: IEvent }) {
|
||||||
existingSignup.current.interested = true;
|
existingSignup.current.interested = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
setSignups(signups);
|
||||||
})
|
})
|
||||||
.catch(console.error);
|
.catch(console.error);
|
||||||
}, [event.id, me?.id]);
|
}, [event.id, me?.id]);
|
||||||
|
@ -157,7 +167,9 @@ export default function Event({ event }: { event: IEvent }) {
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
<EventCarpools event={event} />
|
<EventCarpools event={event} />
|
||||||
<EventSignups event={event} myPlaceId={placeId} signups={signups} />
|
{signups !== null && (
|
||||||
|
<EventSignups event={event} myPlaceId={placeId} signups={signups} />
|
||||||
|
)}
|
||||||
</>
|
</>
|
||||||
)}
|
)}
|
||||||
</UISecondaryBox>
|
</UISecondaryBox>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user