"use client"
import Link from "next/link"
import { useEffect } from "react"
import { useTheme } from "next-themes"
import { Loader2 } from "lucide-react"
import { AuthCard } from "@/components/auth/auth-card"
import { AuthFlowPage } from "@/components/auth/auth-flow-page"
import {
authentikEnrollmentFlowUrl,
resolveAuthentikTheme,
} from "@/lib/auth/authentik-user-url"
import { AUTH_FLOW_SLUGS } from "@/lib/auth/auth-flow-slugs"
import { useClientThemeStore } from "@/lib/stores/client-theme-store"
import { useNativeRuntime } from "@/lib/platform"
type SignupPageContentProps = {
returnTo?: string
}
export function SignupPageContent({ returnTo = "/mail/inbox" }: SignupPageContentProps) {
const native = useNativeRuntime()
const themeMode = useClientThemeStore((s) => s.themeMode)
const { resolvedTheme } = useTheme()
const authentikTheme = resolveAuthentikTheme(themeMode, resolvedTheme)
const flowUrl = authentikEnrollmentFlowUrl(authentikTheme)
const loginHref = `/login?returnTo=${encodeURIComponent(returnTo)}`
const oidcHref = `/api/auth/login?returnTo=${encodeURIComponent(returnTo)}`
useEffect(() => {
if (!native && flowUrl) {
window.location.replace(flowUrl)
}
}, [native, flowUrl])
if (native) {
return (
Configuration Authentik indisponible.
) : null}