diff --git a/apps/admin/services/common/oauth.ts b/apps/admin/services/common/oauth.ts index ff6a4c0..17e493f 100644 --- a/apps/admin/services/common/oauth.ts +++ b/apps/admin/services/common/oauth.ts @@ -32,7 +32,6 @@ export async function appleLoginCallback( return request('/v1/auth/oauth/callback/apple', { method: 'POST', data: formData, - requestType: 'form', ...(options || {}), }); } diff --git a/apps/user/components/loading.tsx b/apps/user/components/loading.tsx new file mode 100644 index 0000000..dd194e1 --- /dev/null +++ b/apps/user/components/loading.tsx @@ -0,0 +1,33 @@ +interface LoadingProps { + loading?: boolean; +} + +export default function Loading({ loading = true }: LoadingProps) { + return ( +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ); +} diff --git a/apps/user/components/providers.tsx b/apps/user/components/providers.tsx index 91436ec..e505313 100644 --- a/apps/user/components/providers.tsx +++ b/apps/user/components/providers.tsx @@ -6,6 +6,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { ReactQueryStreamedHydration } from '@tanstack/react-query-next-experimental'; import { ThemeProvider as NextThemesProvider } from 'next-themes'; import React, { useEffect, useState } from 'react'; +import Loading from './loading'; export default function Providers({ children, @@ -16,6 +17,7 @@ export default function Providers({ common: Partial; user: GlobalStore['user']; }) { + const [loading, setLoading] = useState(true); const [queryClient] = useState( () => new QueryClient({ @@ -31,16 +33,23 @@ export default function Providers({ const { setCommon, setUser } = useGlobalStore(); useEffect(() => { - if (user) { - setUser(user); - } else { - Logout(); - } - }, [setUser, user]); + const initializeData = async () => { + try { + if (user) { + setUser(user); + } else { + Logout(); + } + setCommon(common); + } finally { + setTimeout(() => { + setLoading(false); + }, 1000); + } + }; - useEffect(() => { - setCommon(common); - }, [setCommon, common]); + initializeData(); + }, [setUser, setCommon, user, common]); useEffect(() => { const searchParams = new URLSearchParams(location.search); @@ -53,7 +62,10 @@ export default function Providers({ return ( - {children} + + 0} /> + {children} + ); diff --git a/apps/user/services/common/oauth.ts b/apps/user/services/common/oauth.ts index ff6a4c0..17e493f 100644 --- a/apps/user/services/common/oauth.ts +++ b/apps/user/services/common/oauth.ts @@ -32,7 +32,6 @@ export async function appleLoginCallback( return request('/v1/auth/oauth/callback/apple', { method: 'POST', data: formData, - requestType: 'form', ...(options || {}), }); } diff --git a/bun.lockb b/bun.lockb index 24f8ce5..71fc117 100755 Binary files a/bun.lockb and b/bun.lockb differ