Compare commits

..

2 Commits

2 changed files with 13 additions and 7 deletions

View File

@ -930,6 +930,7 @@ export default function BookNowPage() {
onLoginSuccess={handleLoginSuccess}
onSwitchToSignup={handleSwitchToSignup}
prefillEmail={loginPrefillEmail}
skipRedirect={true}
/>
{/* Signup Dialog */}

View File

@ -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.";