Compare commits
2 Commits
59f254d5e9
...
0a4a877cfb
| Author | SHA1 | Date | |
|---|---|---|---|
| 0a4a877cfb | |||
|
|
c07d319819 |
@ -930,6 +930,7 @@ export default function BookNowPage() {
|
||||
onLoginSuccess={handleLoginSuccess}
|
||||
onSwitchToSignup={handleSwitchToSignup}
|
||||
prefillEmail={loginPrefillEmail}
|
||||
skipRedirect={true}
|
||||
/>
|
||||
|
||||
{/* Signup Dialog */}
|
||||
|
||||
@ -15,7 +15,7 @@ import { Eye, EyeOff, Loader2, X, Mail } from "lucide-react";
|
||||
import { useAuth } from "@/hooks/useAuth";
|
||||
import { loginSchema, type LoginInput } from "@/lib/schema/auth";
|
||||
import { toast } from "sonner";
|
||||
import { useRouter } from "next/navigation";
|
||||
import { useRouter, usePathname } from "next/navigation";
|
||||
import { ForgotPasswordDialog } from "./ForgotPasswordDialog";
|
||||
import { VerifyOtpDialog } from "./VerifyOtpDialog";
|
||||
|
||||
@ -25,13 +25,15 @@ interface LoginDialogProps {
|
||||
onLoginSuccess: () => void;
|
||||
prefillEmail?: string;
|
||||
onSwitchToSignup?: () => void;
|
||||
skipRedirect?: boolean; // Option to skip automatic redirect
|
||||
}
|
||||
|
||||
// Login Dialog component
|
||||
export function LoginDialog({ open, onOpenChange, onLoginSuccess, prefillEmail, onSwitchToSignup }: LoginDialogProps) {
|
||||
export function LoginDialog({ open, onOpenChange, onLoginSuccess, prefillEmail, onSwitchToSignup, skipRedirect = false }: LoginDialogProps) {
|
||||
const { theme } = useAppTheme();
|
||||
const isDark = theme === "dark";
|
||||
const router = useRouter();
|
||||
const pathname = usePathname();
|
||||
const { login, loginMutation } = useAuth();
|
||||
const [loginData, setLoginData] = useState<LoginInput>({
|
||||
email: "",
|
||||
@ -89,11 +91,14 @@ export function LoginDialog({ open, onOpenChange, onLoginSuccess, prefillEmail,
|
||||
// Call onLoginSuccess callback first
|
||||
onLoginSuccess();
|
||||
|
||||
// Redirect based on user role
|
||||
const redirectPath = userIsAdmin ? "/admin/dashboard" : "/user/dashboard";
|
||||
setTimeout(() => {
|
||||
window.location.href = redirectPath;
|
||||
}, 200);
|
||||
// Only redirect if skipRedirect is false and we're not on the booking page
|
||||
if (!skipRedirect && pathname !== "/book-now") {
|
||||
// Redirect based on user role
|
||||
const redirectPath = userIsAdmin ? "/admin/dashboard" : "/user/dashboard";
|
||||
setTimeout(() => {
|
||||
window.location.href = redirectPath;
|
||||
}, 200);
|
||||
}
|
||||
}
|
||||
} catch (err) {
|
||||
const errorMessage = err instanceof Error ? err.message : "Login failed. Please try again.";
|
||||
|
||||
Loading…
Reference in New Issue
Block a user