import { AccountTypesList } from "@/blocks/accountTypes/listing";
import { getMemberAccountTypes } from "@/lib/features/members/account-types/query";
import type { AccountTypes } from "@/lib/features/members/account-types/types";
import type { CoreResponse } from "@/lib/features/types";
import type { Route } from "./+types";

export async function loader() {
  const memberAccountTypesResponse = await getMemberAccountTypes();

  return {
    memberAccountTypes: memberAccountTypesResponse,
  };
}

const AccountTypes: React.FC<Route.ComponentProps> = ({ loaderData }) => {
  const { memberAccountTypes } = loaderData as unknown as {
    memberAccountTypes: CoreResponse<AccountTypes[]>;
  };

  return <AccountTypesList accountTypes={memberAccountTypes.data} />;
};

export default AccountTypes;
