'use client'; import { useState, useEffect } from 'react'; import { UserSession } from '../../lib/types'; interface UserItem { id: string; email: string; role: string; } interface UserManagementProps { session: UserSession; } export default function UserManagement({ session }: UserManagementProps) { const [users, setUsers] = useState([]); const [email, setEmail] = useState(''); const [role, setRole] = useState('user'); const [msg, setMsg] = useState(''); useEffect(() => { fetch('/api/dashboard/users') .then((r) => r.json()) .then((data) => setUsers(data.users)); }, []); async function inviteUser() { const res = await fetch('/api/dashboard/users', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ email, role }), }); if (res.ok) setMsg('User invited.'); else setMsg('Failed.'); } if (session.user.role !== 'admin') return null; return (

User Management

setEmail(e.target.value)} />
{msg}
    {users.map((u) => (
  • {u.email}{' '} {u.role}
  • ))}
); }