"use client";

import { PlayersAdminShell } from "@/components/players-admin-shell";
import { usePlayersAdminClientState } from "@/components/use-players-admin-client-state";
import type { BallboxStoreAdminPlayer, BallboxStoreClubListItem } from "@/lib/ballbox-store";

type PlayersAdminClientProps = {
  initialPlayers: BallboxStoreAdminPlayer[];
  clubs: BallboxStoreClubListItem[];
};

export function PlayersAdminClient({ initialPlayers, clubs }: PlayersAdminClientProps) {
  const { players, setPlayers, busy, message, playerForm, setPlayerForm, membershipClubIds, setMembershipClubIds, runMutation } =
    usePlayersAdminClientState(initialPlayers);

  return (
    <PlayersAdminShell
      players={players}
      setPlayers={setPlayers}
      busy={busy}
      message={message}
      playerForm={playerForm}
      setPlayerForm={setPlayerForm}
      clubs={clubs}
      membershipClubIds={membershipClubIds}
      setMembershipClubIds={setMembershipClubIds}
      runMutation={runMutation}
    />
  );
}
