Improved auth

This commit is contained in:
2025-10-22 12:22:09 +02:00
parent 97515cca96
commit 2e4c925a2c
7 changed files with 19 additions and 26 deletions
@@ -5,8 +5,8 @@ import { Input } from "@/components/ui/input";
import axios from "axios"; import axios from "axios";
import { useState } from "react"; import { useState } from "react";
import Link from "next/link"; import Link from "next/link";
import { CardContent, CardHeader, CardTitle } from "../ui/card"; import { CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Label } from "../ui/label"; import { Label } from "@/components/ui/label";
import { toast } from "sonner"; import { toast } from "sonner";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
@@ -6,7 +6,7 @@ import axios from "axios";
import { useState } from "react"; import { useState } from "react";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { useRouter } from "next/navigation"; import { useRouter } from "next/navigation";
import { CardContent, CardHeader, CardTitle } from "../ui/card"; import { CardContent, CardHeader, CardTitle } from "@/components/ui/card";
export default function Login() { export default function Login() {
const [email, setEmail] = useState(""); const [email, setEmail] = useState("");
@@ -1,14 +1,19 @@
"use client"; "use client";
import { Card } from "../ui/card"; import { Card } from "@/components/ui/card";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../ui/tabs"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import CreateAccount from "./CreateAccount"; import CreateAccount from "./CreateAccount";
import Login from "./Login"; import Login from "./Login";
import { useSearchParams } from "next/navigation";
export default function Auth() {
const params = useSearchParams();
const pt = params.get("t");
const tab = pt === "create" || pt === "login" ? pt : "create";
export default function Auth({ kind }: { kind: "login" | "create" }) {
return ( return (
<div className="h-screen flex items-center"> <div className="h-screen flex items-center">
<Tabs defaultValue={kind} className="mx-auto"> <Tabs defaultValue={tab} className="mx-auto">
<TabsList className="mx-auto"> <TabsList className="mx-auto">
<TabsTrigger value="login">Login</TabsTrigger> <TabsTrigger value="login">Login</TabsTrigger>
<TabsTrigger value="create">Create Account</TabsTrigger> <TabsTrigger value="create">Create Account</TabsTrigger>
-7
View File
@@ -1,7 +0,0 @@
"use client";
import Auth from "@/components/auth/Auth";
export default function Login() {
return <Auth kind="login" />;
}
+5 -3
View File
@@ -24,10 +24,12 @@ export default function LandingPage() {
<Logo /> <Logo />
</motion.div> </motion.div>
<div className="flex gap-4"> <div className="flex gap-4">
<Button variant="ghost" onClick={() => router.push("/login")}> <Button variant="ghost" onClick={() => router.push("/auth?t=login")}>
Login Login
</Button> </Button>
<Button onClick={() => router.push("/signup")}>Get Started</Button> <Button onClick={() => router.push("/auth?t=create")}>
Get Started
</Button>
</div> </div>
</header> </header>
@@ -46,7 +48,7 @@ export default function LandingPage() {
with real-time messaging, secure channels, and seamless collaboration. with real-time messaging, secure channels, and seamless collaboration.
</p> </p>
<div className="flex gap-3"> <div className="flex gap-3">
<Button size="lg" onClick={() => router.push("/signup")}> <Button size="lg" onClick={() => router.push("/auth?t=create")}>
Get Started Get Started
</Button> </Button>
<Button <Button
-7
View File
@@ -1,7 +0,0 @@
"use client";
import Auth from "@/components/auth/Auth";
export default function SignUp() {
return <Auth kind="create" />;
}
+1 -1
View File
@@ -20,7 +20,7 @@ export default function useUser() {
try { try {
setUser((await get("/api/profile", (r) => setUser(r.data))).data); setUser((await get("/api/profile", (r) => setUser(r.data))).data);
} catch (e: any) { } catch (e: any) {
router.push("/login"); router.push("/auth?t=login");
toast.error(`Error: ${e}`); toast.error(`Error: ${e}`);
} }
} }