import { BillingDetails } from "@/components/billing/billing-details";
import { BillingContextProvider } from "@/components/billing/billing-context";
import { PaymentMethods } from "@/components/billing/payment-methods";
import { assertAuthorizedToCreditsPages } from "@/components/pages/credits/rule";
import { cachedGetBillingConfig } from "@/lib/api/billing";

export default async function BillingPage() {
  await assertAuthorizedToCreditsPages("billing");
  const billingConfig = await cachedGetBillingConfig();

  return (
    <BillingContextProvider value={{ config: billingConfig }}>
      <PaymentMethods />
      <BillingDetails />
    </BillingContextProvider>
  );
}
