Some checks are pending
E2E / Playwright e2e (push) Waiting to run
- Added new layout and page components for forgot password and signup functionalities, enhancing user experience. - Integrated authentication flow handling for password recovery and account creation, utilizing dynamic metadata. - Updated login form to include links for forgot password and signup, improving navigation between authentication states. - Refactored CSS styles for login components to ensure consistent design across different authentication pages.
51 lines
1.4 KiB
TypeScript
51 lines
1.4 KiB
TypeScript
"use client"
|
|
|
|
import Link from "next/link"
|
|
import { Sparkles } from "lucide-react"
|
|
import { AuthCard } from "@/components/auth/auth-card"
|
|
|
|
type LoginFormProps = {
|
|
loginHref: string
|
|
signupHref: string
|
|
forgotPasswordHref: string
|
|
error: string | null
|
|
}
|
|
|
|
export function LoginForm({
|
|
loginHref,
|
|
signupHref,
|
|
forgotPasswordHref,
|
|
error,
|
|
}: LoginFormProps) {
|
|
return (
|
|
<AuthCard
|
|
description="Connecte-toi avec ton compte UltiSpace pour accéder à ta suite."
|
|
error={error ? decodeURIComponent(error) : null}
|
|
footer={
|
|
<div className="flex w-full flex-col gap-3 text-center text-sm text-muted-foreground">
|
|
<p>
|
|
Pas encore de compte ?{" "}
|
|
<Link className="font-medium text-primary underline" href={signupHref}>
|
|
Créer un compte
|
|
</Link>
|
|
</p>
|
|
<p>
|
|
<Link className="font-medium text-primary underline" href={forgotPasswordHref}>
|
|
Mot de passe oublié ?
|
|
</Link>
|
|
</p>
|
|
</div>
|
|
}
|
|
>
|
|
<div className="flex justify-center">
|
|
<div className="ultimail-login-connect-border w-full">
|
|
<a href={loginHref} className="ultimail-login-connect-btn">
|
|
<Sparkles className="size-4 shrink-0" strokeWidth={2} aria-hidden />
|
|
Se connecter avec UltiSpace
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</AuthCard>
|
|
)
|
|
}
|