diff --git a/src/app/(dashboard)/dashboard/vue/page.tsx b/src/app/(dashboard)/dashboard/vue/page.tsx index 938c3a9dd7..03b0b04674 100644 --- a/src/app/(dashboard)/dashboard/vue/page.tsx +++ b/src/app/(dashboard)/dashboard/vue/page.tsx @@ -3,14 +3,25 @@ import { useLayoutEffect } from 'react' import { useRouter } from 'next/navigation' -import { useResolveAdminUrl } from '~/atoms' +import { fetchAppUrl, useResolveAdminUrl } from '~/atoms' +import { FullPageLoading } from '~/components/ui/loading' export default function Page() { const toAdminUrl = useResolveAdminUrl() const router = useRouter() + useLayoutEffect(() => { - window.open(toAdminUrl(), '_blank') - router.back() + const adminUrl = toAdminUrl() + + if (adminUrl) { + location.href = adminUrl + } else { + fetchAppUrl().then((urls) => { + if (urls.adminUrl) { + location.href = urls.adminUrl + } + }) + } }, [router, toAdminUrl]) - return null + return } diff --git a/src/atoms/url.ts b/src/atoms/url.ts index 9ae05d3838..673b9d4f4b 100644 --- a/src/atoms/url.ts +++ b/src/atoms/url.ts @@ -27,6 +27,7 @@ export const fetchAppUrl = async () => { if (data.adminUrl) jotaiStore.set(adminUrlAtom, data.adminUrl) jotaiStore.set(webUrlAtom, data.webUrl) + return data } export const getWebUrl = () => jotaiStore.get(webUrlAtom) @@ -54,7 +55,6 @@ export const useResolveAdminUrl = () => { parsedUrl.searchParams.set('token', token) } - console.log('parsedUrl', parsedUrl) return `${parsedUrl.protocol}//${parsedUrl.host}${parsedUrl.pathname}${ path || '' }${parsedUrl.search}`