//next.js page to show all locatons in the database with a link to the location page import { Availability, UserRole } from "@prisma/client"; import { format } from "date-fns"; import { useRouter } from "next/router"; import { useState } from 'react'; import Layout from "../../../components/layout"; import axiosInstance from '../../../src/axiosSecure'; import axiosServer from '../../../src/axiosServer'; import ProtectedRoute from '../../../components/protectedRoute'; import AvCalendar from '../../../components/calendar/avcalendar'; interface IProps { initialItems: Availability[]; id: string; } // export default function AvPage({} : IProps) { export default function AvPage({ initialItems, id }: IProps) { const router = useRouter(); // items.forEach(item => { // item.publisher = prisma.publisher.findUnique({where: {id: item.publisherId}}); // }); const [items, set] = useState(initialItems); const events = initialItems?.map(item => ({ id: item.id, title: item.name, date: new Date(item.startTime), start: new Date(item.startTime), end: new Date(item.endTime), isActive: item.isActive, publisherId: item.publisher.id, dayOfMonth: item.dayOfMonth, dayOfWeek: item.dayOfWeek, })); const render = () => { console.log("showing " + initialItems?.length + " availabilities"); if (initialItems?.length === 0) return
# | Publisher | Name | Weekday | From | To | |
---|---|---|---|---|---|---|
{item.id} {item.isActive} | {item.publisher.lastName}, {item.publisher.firstName} | {item.name} | {item.dayofweek} | {format(new Date(item.startTime), "HH:mm")} | {format(new Date(item.endTime), "HH:mm")} |