import { useUserContext } from "@/states/Context"; import { Container, Stack, Heading, Text, Badge, Flex, Button, Input, Spinner, VStack, Table, } from "@chakra-ui/react"; import { triggerLogoutAtom, setIsLoggedInAtom } from "@/states/Atoms"; import { useAtom } from "jotai"; import Cookies from "js-cookie"; import { getBorrowableItems } from "@/utils/Fetcher"; import { useState } from "react"; import MyAlert from "@/components/myChakra/MyAlert"; import { borrowAbleItemsAtom } from "@/states/Atoms"; import { createLoan } from "@/utils/Fetcher"; export interface User { username: string; role: number; } export const HomePage = () => { const userData = useUserContext(); const [, setTriggerLogout] = useAtom(triggerLogoutAtom); const [, setIsLoggedIn] = useAtom(setIsLoggedInAtom); const [borrowableItems, setBorrowableItems] = useAtom(borrowAbleItemsAtom); const [startDate, setStartDate] = useState(""); const [endDate, setEndDate] = useState(""); const [isLoadingA, setIsLoadingA] = useState(false); const [selectedItems, setSelectedItems] = useState([]); // Error handling states const [isMsg, setIsMsg] = useState(false); const [msgStatus, setMsgStatus] = useState<"error" | "success">("error"); const [msgTitle, setMsgTitle] = useState(""); const [msgDescription, setMsgDescription] = useState(""); const handleCheckboxChange = (itemId: number) => { setSelectedItems((prevSelected) => prevSelected.includes(itemId) ? prevSelected.filter((id) => id !== itemId) : [...prevSelected, itemId] ); }; return ( Home Willkommen zurück,{" "} {userData.username.replace( /^./, userData.username[0].toUpperCase() )} ! Rolle: {userData.role} {isMsg && ( )} setStartDate(e.target.value)} /> setEndDate(e.target.value)} /> {isLoadingA && ( Loading... )} {borrowableItems.length > 0 && ( Gegenstand {borrowableItems.map((item) => ( handleCheckboxChange(item.id)} type="checkbox" name={item.id} id={item.id} /> {item.item_name} ))} )} {selectedItems.length >= 1 && ( )} ); };