import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog"; import { useToast } from "@/hooks/use-toast"; import { apiRequest, queryClient } from "@/lib/queryClient"; import { useMutation } from "@tanstack/react-query"; import { Search, Settings } from "lucide-react"; import MainContent from "@/components/MainContent"; export default function Landing() { const [showLoginModal, setShowLoginModal] = useState(false); const [showRequestModal, setShowRequestModal] = useState(false); const [loginForm, setLoginForm] = useState({ username: "", password: "" }); const [requestForm, setRequestForm] = useState({ name: "", category: "people", description: "" }); const { toast } = useToast(); const loginMutation = useMutation({ mutationFn: async (credentials: { username: string; password: string }) => { return await apiRequest("POST", "/api/login", credentials); }, onSuccess: () => { toast({ title: "Success", description: "Successfully logged in!", }); setShowLoginModal(false); setLoginForm({ username: "", password: "" }); // Refresh user data queryClient.invalidateQueries({ queryKey: ["/api/auth/user"] }); // Redirect to home window.location.href = "/"; }, onError: () => { toast({ title: "Error", description: "Invalid credentials. Please try again.", variant: "destructive" }); } }); const requestMutation = useMutation({ mutationFn: async (data: typeof requestForm) => { await apiRequest("POST", "/api/media-outlet-requests", data); }, onSuccess: () => { toast({ title: "Success", description: "Your media outlet request has been submitted for review.", }); setShowRequestModal(false); setRequestForm({ name: "", category: "people", description: "" }); }, onError: () => { toast({ title: "Error", description: "Failed to submit request. Please try again.", variant: "destructive" }); } }); const handleLogin = () => { setShowLoginModal(true); }; const handleLoginSubmit = (e: React.FormEvent) => { e.preventDefault(); loginMutation.mutate(loginForm); }; const handleRequestSubmit = (e: React.FormEvent) => { e.preventDefault(); requestMutation.mutate(requestForm); }; return (
Nostra