Feature: Mark guests as invited #60
@ -1,23 +1,31 @@
|
|||||||
import { Guest } from '@/app/lib/definitions';
|
'use client';
|
||||||
|
|
||||||
import clsx from 'clsx';
|
import clsx from 'clsx';
|
||||||
|
import React, { useState, useEffect } from 'react';
|
||||||
|
import { Guest } from '@/app/lib/definitions';
|
||||||
|
|
||||||
export default async function guestsTable() {
|
export default function guestsTable() {
|
||||||
|
function loadGuests() {
|
||||||
let guests: Guest[] = await fetch("http://localhost:3001/guests.json")
|
fetch("http://localhost:3001/guests.json")
|
||||||
.then((response) => response.json())
|
.then((response) => response.json())
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
return data.data.map((record: any) => {
|
setGuests(data.data.map((record: any) => {
|
||||||
return ({
|
return ({
|
||||||
id: record.id,
|
id: record.id,
|
||||||
name: record.attributes.name,
|
name: record.attributes.name,
|
||||||
email: record.attributes.email,
|
email: record.attributes.email,
|
||||||
group_name: record.attributes.group_name,
|
group_name: record.attributes.group_name,
|
||||||
status: record.attributes.status
|
status: record.attributes.status
|
||||||
});
|
});
|
||||||
|
}));
|
||||||
|
}, (error) => {
|
||||||
|
return [];
|
||||||
});
|
});
|
||||||
}, (error) => {
|
}
|
||||||
return [];
|
|
||||||
});
|
const [guests, setGuests] = useState<Array<Guest>>([]);
|
||||||
|
|
||||||
|
guests.length === 0 && loadGuests();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="w-full relative overflow-x-auto shadow-md sm:rounded-lg">
|
<div className="w-full relative overflow-x-auto shadow-md sm:rounded-lg">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user