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 { useState } from "react";
import Link from "next/link";
import { CardContent, CardHeader, CardTitle } from "../ui/card";
import { Label } from "../ui/label";
import { CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Label } from "@/components/ui/label";
import { toast } from "sonner";
import { useRouter } from "next/navigation";
import Cookies from "js-cookie";
@@ -6,7 +6,7 @@ import axios from "axios";
import { useState } from "react";
import Cookies from "js-cookie";
import { useRouter } from "next/navigation";
import { CardContent, CardHeader, CardTitle } from "../ui/card";
import { CardContent, CardHeader, CardTitle } from "@/components/ui/card";
export default function Login() {
const [email, setEmail] = useState("");
@@ -1,14 +1,19 @@
"use client";
import { Card } from "../ui/card";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "../ui/tabs";
import { Card } from "@/components/ui/card";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import CreateAccount from "./CreateAccount";
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 (
<div className="h-screen flex items-center">
<Tabs defaultValue={kind} className="mx-auto">
<Tabs defaultValue={tab} className="mx-auto">
<TabsList className="mx-auto">
<TabsTrigger value="login">Login</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 />
</motion.div>
<div className="flex gap-4">
<Button variant="ghost" onClick={() => router.push("/login")}>
<Button variant="ghost" onClick={() => router.push("/auth?t=login")}>
Login
</Button>
<Button onClick={() => router.push("/signup")}>Get Started</Button>
<Button onClick={() => router.push("/auth?t=create")}>
Get Started
</Button>
</div>
</header>
@@ -46,7 +48,7 @@ export default function LandingPage() {
with real-time messaging, secure channels, and seamless collaboration.
</p>
<div className="flex gap-3">
<Button size="lg" onClick={() => router.push("/signup")}>
<Button size="lg" onClick={() => router.push("/auth?t=create")}>
Get Started
</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" />;
}
+2 -2
View File
@@ -19,8 +19,8 @@ export default function useUser() {
async function fetchUser() {
try {
setUser((await get("/api/profile", (r) => setUser(r.data))).data);
} catch (e: any) {
router.push("/login");
} catch (e: any) {
router.push("/auth?t=login");
toast.error(`Error: ${e}`);
}
}