"use client"; import { useActionState, useState } from "react"; import { adminCreateUserAction, adminDeleteUserAction, adminLogoutAction, type AdminCreateUserState, type AdminDeleteUserState, type AdminUser, } from "./actions"; const createInitial: AdminCreateUserState = { error: null, success: null, apiKey: null, webhookSecret: null, storeId: null, }; const deleteInitial: AdminDeleteUserState = { error: null, success: null, deletedId: null, }; export function AdminPanel({ users }: { users: AdminUser[] }) { const [createState, createAction, createPending] = useActionState( adminCreateUserAction, createInitial ); const [deleteState, deleteAction, deletePending] = useActionState( adminDeleteUserAction, deleteInitial ); const [confirmDelete, setConfirmDelete] = useState(null); const visibleUsers = users.filter( (u) => u.id !== deleteState.deletedId ); return (

Admin — Merchants

{/* Add merchant form */}

Add Merchant