2023-10-15 20:26:32 +11:00
|
|
|
'use server';
|
|
|
|
|
|
|
|
|
|
import { headers } from 'next/headers';
|
|
|
|
|
|
|
|
|
|
import { getLimits } from '../client';
|
|
|
|
|
import { LimitsProvider as ClientLimitsProvider } from './client';
|
|
|
|
|
|
|
|
|
|
export type LimitsProviderProps = {
|
|
|
|
|
children?: React.ReactNode;
|
2024-02-06 16:16:10 +11:00
|
|
|
teamId?: number;
|
2023-10-15 20:26:32 +11:00
|
|
|
};
|
|
|
|
|
|
2024-02-06 16:16:10 +11:00
|
|
|
export const LimitsProvider = async ({ children, teamId }: LimitsProviderProps) => {
|
2023-10-15 20:26:32 +11:00
|
|
|
const requestHeaders = Object.fromEntries(headers().entries());
|
|
|
|
|
|
2024-07-31 07:57:27 -05:00
|
|
|
const limits = await getLimits({ headers: requestHeaders, teamId });
|
2023-10-15 20:26:32 +11:00
|
|
|
|
2024-02-06 16:16:10 +11:00
|
|
|
return (
|
|
|
|
|
<ClientLimitsProvider initialValue={limits} teamId={teamId}>
|
|
|
|
|
{children}
|
|
|
|
|
</ClientLimitsProvider>
|
|
|
|
|
);
|
2023-10-15 20:26:32 +11:00
|
|
|
};
|