Fix: Add TypeScript type annotations to handleRemoveItem function
This commit is contained in:
@@ -320,7 +320,7 @@ const EventAdmin: React.FC = () => {
|
|||||||
|
|
||||||
// Update RSVPs to remove the item from any that had claimed it
|
// Update RSVPs to remove the item from any that had claimed it
|
||||||
const updatedRsvps = rsvps.map(rsvp => {
|
const updatedRsvps = rsvps.map(rsvp => {
|
||||||
let currentItems = Array.isArray(rsvp.items_bringing)
|
let currentItems: string[] = Array.isArray(rsvp.items_bringing)
|
||||||
? rsvp.items_bringing
|
? rsvp.items_bringing
|
||||||
: typeof rsvp.items_bringing === 'string'
|
: typeof rsvp.items_bringing === 'string'
|
||||||
? JSON.parse(rsvp.items_bringing)
|
? JSON.parse(rsvp.items_bringing)
|
||||||
@@ -328,7 +328,7 @@ const EventAdmin: React.FC = () => {
|
|||||||
|
|
||||||
// Remove the item if it exists in this RSVP
|
// Remove the item if it exists in this RSVP
|
||||||
if (currentItems.includes(itemToRemove)) {
|
if (currentItems.includes(itemToRemove)) {
|
||||||
const updatedRsvpItems = currentItems.filter(item => item !== itemToRemove);
|
const updatedRsvpItems = currentItems.filter((item: string) => item !== itemToRemove);
|
||||||
// Update the RSVP in the database
|
// Update the RSVP in the database
|
||||||
axios.put(`/api/events/${slug}/rsvps/${rsvp.id}`, {
|
axios.put(`/api/events/${slug}/rsvps/${rsvp.id}`, {
|
||||||
...rsvp,
|
...rsvp,
|
||||||
@@ -345,17 +345,17 @@ const EventAdmin: React.FC = () => {
|
|||||||
// Recalculate claimed items
|
// Recalculate claimed items
|
||||||
const claimed = new Set<string>();
|
const claimed = new Set<string>();
|
||||||
updatedRsvps.forEach(rsvp => {
|
updatedRsvps.forEach(rsvp => {
|
||||||
let rsvpItems = Array.isArray(rsvp.items_bringing)
|
let rsvpItems: string[] = Array.isArray(rsvp.items_bringing)
|
||||||
? rsvp.items_bringing
|
? rsvp.items_bringing
|
||||||
: typeof rsvp.items_bringing === 'string'
|
: typeof rsvp.items_bringing === 'string'
|
||||||
? JSON.parse(rsvp.items_bringing)
|
? JSON.parse(rsvp.items_bringing)
|
||||||
: [];
|
: [];
|
||||||
rsvpItems.forEach(item => claimed.add(item));
|
rsvpItems.forEach((item: string) => claimed.add(item));
|
||||||
});
|
});
|
||||||
|
|
||||||
// Update all state
|
// Update all state
|
||||||
setEvent(prev => prev ? { ...prev, needed_items: updatedItems } : null);
|
setEvent(prev => prev ? { ...prev, needed_items: updatedItems } : null);
|
||||||
setNeededItems(prev => prev.filter(item => item !== itemToRemove));
|
setNeededItems(prev => prev.filter((item: string) => item !== itemToRemove));
|
||||||
setRsvps(updatedRsvps);
|
setRsvps(updatedRsvps);
|
||||||
setClaimedItems(Array.from(claimed));
|
setClaimedItems(Array.from(claimed));
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user