Login:Src:Confirm: move checkConfirmLink to layout

This commit is contained in:
Darya Umrikhina 2024-08-16 01:57:40 +04:00
parent ac8b58fee1
commit bed5e089fa

View File

@ -26,15 +26,33 @@
import ConfirmRoute from "@/components/ConfirmRoute"; import ConfirmRoute from "@/components/ConfirmRoute";
import { StyledBody, StyledPage } from "@/components/StyledConfirm.styled"; import { StyledBody, StyledPage } from "@/components/StyledConfirm.styled";
import { TConfirmLinkParams } from "@/types";
import { getSettings } from "@/utils/actions"; import { checkConfirmLink, getSettings } from "@/utils/actions";
import { headers } from "next/headers";
export default async function Layout({ export default async function Layout({
children, children,
}: { }: {
children: React.ReactNode; children: React.ReactNode;
}) { }) {
const settings = await getSettings(); const hdrs = headers();
const searchParams = hdrs.get("x-confirm-query") ?? "";
const type = hdrs.get("x-confirm-type") ?? "";
const queryParams = Object.fromEntries(
new URLSearchParams(searchParams.toString()),
) as TConfirmLinkParams;
const confirmLinkParams: TConfirmLinkParams = Object.assign(
{ type },
queryParams,
);
const [settings, confirmLinkResult] = await Promise.all([
getSettings(),
checkConfirmLink(confirmLinkParams),
]);
return ( return (
<StyledPage id="confirm-page"> <StyledPage id="confirm-page">
@ -43,6 +61,9 @@ export default async function Layout({
<ConfirmRoute <ConfirmRoute
defaultPage={settings?.defaultPage} defaultPage={settings?.defaultPage}
socketUrl={settings?.socketUrl} socketUrl={settings?.socketUrl}
confirmLinkResult={confirmLinkResult}
confirmLinkParams={confirmLinkParams}
confirmType={type}
> >
{children} {children}
</ConfirmRoute> </ConfirmRoute>