Compare commits

...

2 Commits

4 changed files with 136 additions and 110 deletions

View File

@ -1,75 +1,90 @@
'use client'
"use client";
import { useState } from 'react'
import { Button } from "@/components/ui/button"
import { Input } from "@/components/ui/input"
import { Label } from "@/components/ui/label"
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"
import { FaGoogle } from 'react-icons/fa'
import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import {
Card,
CardContent,
CardDescription,
CardFooter,
CardHeader,
CardTitle,
} from "@/components/ui/card";
import { FaGoogle } from "react-icons/fa";
export default function SignInPage() {
const [email, setEmail] = useState('')
const [password, setPassword] = useState('')
const [email, setEmail] = useState("");
const [password, setPassword] = useState("");
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault()
e.preventDefault();
// Handle sign-in logic here
console.log('Sign in attempted with:', email, password)
}
console.log("Sign in attempted with:", email, password);
};
return (
<div className="flex items-center justify-center min-h-screen bg-gray-100">
<Card className="w-full max-w-md">
<div className='flex items-center justify-center min-h-screen bg-gray-100'>
<Card className='w-full max-w-md'>
<CardHeader>
<CardTitle>Sign In</CardTitle>
<CardDescription>Enter your credentials to access your account</CardDescription>
<CardDescription>
Enter your credentials to access your account
</CardDescription>
</CardHeader>
<CardContent>
<form onSubmit={handleSubmit} className="space-y-4">
<div className="space-y-2">
<Label htmlFor="email">Email</Label>
<Input
id="email"
type="email"
placeholder="your@email.com"
<form onSubmit={handleSubmit} className='space-y-4'>
<div className='space-y-2'>
<Label htmlFor='email'>Email</Label>
<Input
id='email'
type='email'
placeholder='your@email.com'
value={email}
onChange={(e) => setEmail(e.target.value)}
required
required
/>
</div>
<div className="space-y-2">
<Label htmlFor="password">Password</Label>
<Input
id="password"
type="password"
<div className='space-y-2'>
<Label htmlFor='password'>Password</Label>
<Input
id='password'
type='password'
value={password}
onChange={(e) => setPassword(e.target.value)}
required
required
/>
</div>
<Button type="submit" className="w-full">Sign In</Button>
<Button type='submit' className='w-full'>
Sign In
</Button>
</form>
</CardContent>
<CardFooter className="flex flex-col space-y-4">
<div className="relative w-full">
<div className="absolute inset-0 flex items-center">
<span className="w-full border-t" />
<CardFooter className='flex flex-col space-y-4'>
<div className='relative w-full'>
<div className='absolute inset-0 flex items-center'>
<span className='w-full border-t' />
</div>
<div className="relative flex justify-center text-xs uppercase">
<span className="bg-white px-2 text-muted-foreground">Or continue with</span>
<div className='relative flex justify-center text-xs uppercase'>
<span className='bg-white px-2 text-muted-foreground'>
Or continue with
</span>
</div>
</div>
<div className="grid grid-cols-2 gap-4">
<Button variant="outline" onClick={() => console.log('SSO login')}>
<div className='grid grid-cols-2 gap-4'>
<Button variant='outline' onClick={() => console.log("SSO login")}>
SSO
</Button>
<Button variant="outline" onClick={() => console.log('Google login')}>
<FaGoogle className="mr-2 h-4 w-4" /> Google
<Button
variant='outline'
onClick={() => console.log("Google login")}
>
<FaGoogle className='mr-2 h-4 w-4' /> Google
</Button>
</Button>
</div>
</CardFooter>
</Card>
</div>
)
);
}

99
package-lock.json generated
View File

@ -44,7 +44,7 @@
"embla-carousel-react": "8.5.1",
"input-otp": "1.4.1",
"lucide-react": "^0.454.0",
"next": "14.2.16",
"next": "14.2.24",
"next-themes": "^0.4.4",
"react": "^18",
"react-day-picker": "8.10.1",
@ -192,17 +192,19 @@
}
},
"node_modules/@next/env": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.16.tgz",
"integrity": "sha512-fLrX5TfJzHCbnZ9YUSnGW63tMV3L4nSfhgOQ0iCcX21Pt+VSTDuaLsSuL8J/2XAiVA5AnzvXDpf6pMs60QxOag=="
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.24.tgz",
"integrity": "sha512-LAm0Is2KHTNT6IT16lxT+suD0u+VVfYNQqM+EJTKuFRRuY2z+zj01kueWXPCxbMBDt0B5vONYzabHGUNbZYAhA==",
"license": "MIT"
},
"node_modules/@next/swc-darwin-arm64": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.16.tgz",
"integrity": "sha512-uFT34QojYkf0+nn6MEZ4gIWQ5aqGF11uIZ1HSxG+cSbj+Mg3+tYm8qXYd3dKN5jqKUm5rBVvf1PBRO/MeQ6rxw==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.24.tgz",
"integrity": "sha512-7Tdi13aojnAZGpapVU6meVSpNzgrFwZ8joDcNS8cJVNuP3zqqrLqeory9Xec5TJZR/stsGJdfwo8KeyloT3+rQ==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
@ -212,12 +214,13 @@
}
},
"node_modules/@next/swc-darwin-x64": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.16.tgz",
"integrity": "sha512-mCecsFkYezem0QiZlg2bau3Xul77VxUD38b/auAjohMA22G9KTJneUYMv78vWoCCFkleFAhY1NIvbyjj1ncG9g==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.24.tgz",
"integrity": "sha512-lXR2WQqUtu69l5JMdTwSvQUkdqAhEWOqJEYUQ21QczQsAlNOW2kWZCucA6b3EXmPbcvmHB1kSZDua/713d52xg==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
@ -227,12 +230,13 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.16.tgz",
"integrity": "sha512-yhkNA36+ECTC91KSyZcgWgKrYIyDnXZj8PqtJ+c2pMvj45xf7y/HrgI17hLdrcYamLfVt7pBaJUMxADtPaczHA==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.24.tgz",
"integrity": "sha512-nxvJgWOpSNmzidYvvGDfXwxkijb6hL9+cjZx1PVG6urr2h2jUqBALkKjT7kpfurRWicK6hFOvarmaWsINT1hnA==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
@ -242,12 +246,13 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.16.tgz",
"integrity": "sha512-X2YSyu5RMys8R2lA0yLMCOCtqFOoLxrq2YbazFvcPOE4i/isubYjkh+JCpRmqYfEuCVltvlo+oGfj/b5T2pKUA==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.24.tgz",
"integrity": "sha512-PaBgOPhqa4Abxa3y/P92F3kklNPsiFjcjldQGT7kFmiY5nuFn8ClBEoX8GIpqU1ODP2y8P6hio6vTomx2Vy0UQ==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
@ -257,12 +262,13 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.16.tgz",
"integrity": "sha512-9AGcX7VAkGbc5zTSa+bjQ757tkjr6C/pKS7OK8cX7QEiK6MHIIezBLcQ7gQqbDW2k5yaqba2aDtaBeyyZh1i6Q==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.24.tgz",
"integrity": "sha512-vEbyadiRI7GOr94hd2AB15LFVgcJZQWu7Cdi9cWjCMeCiUsHWA0U5BkGPuoYRnTxTn0HacuMb9NeAmStfBCLoQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
@ -272,12 +278,13 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.16.tgz",
"integrity": "sha512-Klgeagrdun4WWDaOizdbtIIm8khUDQJ/5cRzdpXHfkbY91LxBXeejL4kbZBrpR/nmgRrQvmz4l3OtttNVkz2Sg==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.24.tgz",
"integrity": "sha512-df0FC9ptaYsd8nQCINCzFtDWtko8PNRTAU0/+d7hy47E0oC17tI54U/0NdGk7l/76jz1J377dvRjmt6IUdkpzQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
@ -287,12 +294,13 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.16.tgz",
"integrity": "sha512-PwW8A1UC1Y0xIm83G3yFGPiOBftJK4zukTmk7DI1CebyMOoaVpd8aSy7K6GhobzhkjYvqS/QmzcfsWG2Dwizdg==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.24.tgz",
"integrity": "sha512-ZEntbLjeYAJ286eAqbxpZHhDFYpYjArotQ+/TW9j7UROh0DUmX7wYDGtsTPpfCV8V+UoqHBPU7q9D4nDNH014Q==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
@ -302,12 +310,13 @@
}
},
"node_modules/@next/swc-win32-ia32-msvc": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.16.tgz",
"integrity": "sha512-jhPl3nN0oKEshJBNDAo0etGMzv0j3q3VYorTSFqH1o3rwv1MQRdor27u1zhkgsHPNeY1jxcgyx1ZsCkDD1IHgg==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.24.tgz",
"integrity": "sha512-9KuS+XUXM3T6v7leeWU0erpJ6NsFIwiTFD5nzNg8J5uo/DMIPvCp3L1Ao5HjbHX0gkWPB1VrKoo/Il4F0cGK2Q==",
"cpu": [
"ia32"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
@ -317,12 +326,13 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.16.tgz",
"integrity": "sha512-OA7NtfxgirCjfqt+02BqxC3MIgM/JaGjw9tOe4fyZgPsqfseNiMPnCRP44Pfs+Gpo9zPN+SXaFsgP6vk8d571A==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.24.tgz",
"integrity": "sha512-cXcJ2+x0fXQ2CntaE00d7uUH+u1Bfp/E0HsNQH79YiLaZE5Rbm7dZzyAYccn3uICM7mw+DxoMqEfGXZtF4Fgaw==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
@ -3104,11 +3114,12 @@
}
},
"node_modules/next": {
"version": "14.2.16",
"resolved": "https://registry.npmjs.org/next/-/next-14.2.16.tgz",
"integrity": "sha512-LcO7WnFu6lYSvCzZoo1dB+IO0xXz5uEv52HF1IUN0IqVTUIZGHuuR10I5efiLadGt+4oZqTcNZyVVEem/TM5nA==",
"version": "14.2.24",
"resolved": "https://registry.npmjs.org/next/-/next-14.2.24.tgz",
"integrity": "sha512-En8VEexSJ0Py2FfVnRRh8gtERwDRaJGNvsvad47ShkC2Yi8AXQPXEA2vKoDJlGFSj5WE5SyF21zNi4M5gyi+SQ==",
"license": "MIT",
"dependencies": {
"@next/env": "14.2.16",
"@next/env": "14.2.24",
"@swc/helpers": "0.5.5",
"busboy": "1.6.0",
"caniuse-lite": "^1.0.30001579",
@ -3123,15 +3134,15 @@
"node": ">=18.17.0"
},
"optionalDependencies": {
"@next/swc-darwin-arm64": "14.2.16",
"@next/swc-darwin-x64": "14.2.16",
"@next/swc-linux-arm64-gnu": "14.2.16",
"@next/swc-linux-arm64-musl": "14.2.16",
"@next/swc-linux-x64-gnu": "14.2.16",
"@next/swc-linux-x64-musl": "14.2.16",
"@next/swc-win32-arm64-msvc": "14.2.16",
"@next/swc-win32-ia32-msvc": "14.2.16",
"@next/swc-win32-x64-msvc": "14.2.16"
"@next/swc-darwin-arm64": "14.2.24",
"@next/swc-darwin-x64": "14.2.24",
"@next/swc-linux-arm64-gnu": "14.2.24",
"@next/swc-linux-arm64-musl": "14.2.24",
"@next/swc-linux-x64-gnu": "14.2.24",
"@next/swc-linux-x64-musl": "14.2.24",
"@next/swc-win32-arm64-msvc": "14.2.24",
"@next/swc-win32-ia32-msvc": "14.2.24",
"@next/swc-win32-x64-msvc": "14.2.24"
},
"peerDependencies": {
"@opentelemetry/api": "^1.1.0",

View File

@ -45,7 +45,7 @@
"embla-carousel-react": "8.5.1",
"input-otp": "1.4.1",
"lucide-react": "^0.454.0",
"next": "14.2.16",
"next": "14.2.24",
"next-themes": "^0.4.4",
"react": "^18",
"react-day-picker": "8.10.1",

View File

@ -90,15 +90,15 @@
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
"@next/env@14.2.16":
version "14.2.16"
resolved "https://registry.npmjs.org/@next/env/-/env-14.2.16.tgz"
integrity sha512-fLrX5TfJzHCbnZ9YUSnGW63tMV3L4nSfhgOQ0iCcX21Pt+VSTDuaLsSuL8J/2XAiVA5AnzvXDpf6pMs60QxOag==
"@next/env@14.2.24":
version "14.2.24"
resolved "https://registry.npmjs.org/@next/env/-/env-14.2.24.tgz"
integrity sha512-LAm0Is2KHTNT6IT16lxT+suD0u+VVfYNQqM+EJTKuFRRuY2z+zj01kueWXPCxbMBDt0B5vONYzabHGUNbZYAhA==
"@next/swc-darwin-x64@14.2.16":
version "14.2.16"
resolved "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.16.tgz"
integrity sha512-mCecsFkYezem0QiZlg2bau3Xul77VxUD38b/auAjohMA22G9KTJneUYMv78vWoCCFkleFAhY1NIvbyjj1ncG9g==
"@next/swc-darwin-x64@14.2.24":
version "14.2.24"
resolved "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.24.tgz"
integrity sha512-lXR2WQqUtu69l5JMdTwSvQUkdqAhEWOqJEYUQ21QczQsAlNOW2kWZCucA6b3EXmPbcvmHB1kSZDua/713d52xg==
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
@ -1503,12 +1503,12 @@ next-themes@^0.4.4:
resolved "https://registry.npmjs.org/next-themes/-/next-themes-0.4.4.tgz"
integrity sha512-LDQ2qIOJF0VnuVrrMSMLrWGjRMkq+0mpgl6e0juCLqdJ+oo8Q84JRWT6Wh11VDQKkMMe+dVzDKLWs5n87T+PkQ==
next@14.2.16:
version "14.2.16"
resolved "https://registry.npmjs.org/next/-/next-14.2.16.tgz"
integrity sha512-LcO7WnFu6lYSvCzZoo1dB+IO0xXz5uEv52HF1IUN0IqVTUIZGHuuR10I5efiLadGt+4oZqTcNZyVVEem/TM5nA==
next@14.2.24:
version "14.2.24"
resolved "https://registry.npmjs.org/next/-/next-14.2.24.tgz"
integrity sha512-En8VEexSJ0Py2FfVnRRh8gtERwDRaJGNvsvad47ShkC2Yi8AXQPXEA2vKoDJlGFSj5WE5SyF21zNi4M5gyi+SQ==
dependencies:
"@next/env" "14.2.16"
"@next/env" "14.2.24"
"@swc/helpers" "0.5.5"
busboy "1.6.0"
caniuse-lite "^1.0.30001579"
@ -1516,15 +1516,15 @@ next@14.2.16:
postcss "8.4.31"
styled-jsx "5.1.1"
optionalDependencies:
"@next/swc-darwin-arm64" "14.2.16"
"@next/swc-darwin-x64" "14.2.16"
"@next/swc-linux-arm64-gnu" "14.2.16"
"@next/swc-linux-arm64-musl" "14.2.16"
"@next/swc-linux-x64-gnu" "14.2.16"
"@next/swc-linux-x64-musl" "14.2.16"
"@next/swc-win32-arm64-msvc" "14.2.16"
"@next/swc-win32-ia32-msvc" "14.2.16"
"@next/swc-win32-x64-msvc" "14.2.16"
"@next/swc-darwin-arm64" "14.2.24"
"@next/swc-darwin-x64" "14.2.24"
"@next/swc-linux-arm64-gnu" "14.2.24"
"@next/swc-linux-arm64-musl" "14.2.24"
"@next/swc-linux-x64-gnu" "14.2.24"
"@next/swc-linux-x64-musl" "14.2.24"
"@next/swc-win32-arm64-msvc" "14.2.24"
"@next/swc-win32-ia32-msvc" "14.2.24"
"@next/swc-win32-x64-msvc" "14.2.24"
node-releases@^2.0.19:
version "2.0.19"