import { Person } from "../items"; import { Link } from "react-router-dom"; import { useState } from "react"; import { get_auth_status, refresh_state, get_is_admin } from "./api"; import type { ToastType } from "./Toast"; import "./PersonList.css" interface Props { people: Person[]; onShowToast?: (message: string, type?: ToastType) => void; } export const PersonList = ({ people, onShowToast }: Props) => { const [current_user, set_current_user] = useState(""); const [isRefreshing, setIsRefreshing] = useState(false); get_auth_status().then((res) => { if (res) { set_current_user(res.username); } }); const handleRefresh = async () => { setIsRefreshing(true); try { await refresh_state(); onShowToast?.("State refreshed from file successfully", "success"); window.location.reload(); } catch (err) { console.error(err); onShowToast?.("Failed to refresh state from file", "error"); } finally { setIsRefreshing(false); } }; const isAdmin = get_is_admin(); return (

People List

{isAdmin && ( )}
{people.map((person, index) => { if (person.name.toLowerCase() === current_user.toLowerCase()) { return (

{person.name}

); } return (

{person.name}

); })}
); };