refactor: streamline session handling in payment and credits providers
This commit is contained in:
parent
bf8993ca96
commit
c960738133
@ -15,10 +15,10 @@ export function PaymentProvider({ children }: { children: React.ReactNode }) {
|
|||||||
const { data: session } = authClient.useSession();
|
const { data: session } = authClient.useSession();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
// Initialize payment state
|
if (session?.user) {
|
||||||
const currentUser = session?.user;
|
fetchPayment(session.user);
|
||||||
fetchPayment(currentUser);
|
}
|
||||||
}, [session, fetchPayment]);
|
}, [session?.user, fetchPayment]);
|
||||||
|
|
||||||
return <>{children}</>;
|
return <>{children}</>;
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
'use client';
|
'use client';
|
||||||
|
|
||||||
import { useCurrentUser } from '@/hooks/use-current-user';
|
import { authClient } from '@/lib/auth-client';
|
||||||
import { useCreditsStore } from '@/stores/credits-store';
|
import { useCreditsStore } from '@/stores/credits-store';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
|
|
||||||
@ -11,18 +11,14 @@ import { useEffect } from 'react';
|
|||||||
* and handles cleanup when the user logs out.
|
* and handles cleanup when the user logs out.
|
||||||
*/
|
*/
|
||||||
export function CreditsProvider({ children }: { children: React.ReactNode }) {
|
export function CreditsProvider({ children }: { children: React.ReactNode }) {
|
||||||
const user = useCurrentUser();
|
const { fetchCredits } = useCreditsStore();
|
||||||
const { fetchCredits, resetCreditsState } = useCreditsStore();
|
const { data: session } = authClient.useSession();
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (user) {
|
if (session?.user) {
|
||||||
// User is logged in, fetch their credits
|
fetchCredits(session.user);
|
||||||
fetchCredits(user);
|
|
||||||
} else {
|
|
||||||
// User is logged out, reset the credits state
|
|
||||||
resetCreditsState();
|
|
||||||
}
|
}
|
||||||
}, [user, fetchCredits, resetCreditsState]);
|
}, [session?.user, fetchCredits]);
|
||||||
|
|
||||||
return <>{children}</>;
|
return <>{children}</>;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user