Added login and register pages in frontend
This commit is contained in:
parent
b6501e3b59
commit
4592fe9b89
50
frontend/src/app/login/page.tsx
Normal file
50
frontend/src/app/login/page.tsx
Normal file
@ -0,0 +1,50 @@
|
||||
import React from 'react';
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function Login() {
|
||||
return (
|
||||
<div className='flex flex-col items-center justify-center min-h-screen bg-purple-100'>
|
||||
<div className='bg-white p-8 rounded-lg shadow-md w-full max-w-md'>
|
||||
<h1 className='text-2xl font-bold mb-6 text-purple-700'>Login</h1>
|
||||
<form>
|
||||
<div className='mb-4'>
|
||||
<label className='block text-purple-700 mb-2' htmlFor='email'>
|
||||
Email
|
||||
</label>
|
||||
<input
|
||||
className='w-full p-2 border border-purple-300 rounded'
|
||||
type='email'
|
||||
id='email'
|
||||
name='email'
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<div className='mb-6'>
|
||||
<label className='block text-purple-700 mb-2' htmlFor='password'>
|
||||
Password
|
||||
</label>
|
||||
<input
|
||||
className='w-full p-2 border border-purple-300 rounded'
|
||||
type='password'
|
||||
id='password'
|
||||
name='password'
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<button
|
||||
className='w-full bg-purple-700 text-white p-2 rounded hover:bg-purple-800'
|
||||
type='submit'
|
||||
>
|
||||
Login
|
||||
</button>
|
||||
</form>
|
||||
<p className='mt-4 text-purple-700'>
|
||||
Don't have an account?{' '}
|
||||
<Link href='/register' legacyBehavior>
|
||||
<a className='text-purple-500 hover:underline'>Register</a>
|
||||
</Link>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
@ -1,86 +1,23 @@
|
||||
import Image from 'next/image';
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function Home() {
|
||||
return (
|
||||
<div className='grid grid-rows-[20px_1fr_20px] items-center justify-items-center min-h-screen p-8 pb-20 gap-16 sm:p-20 font-[family-name:var(--font-geist-sans)]'>
|
||||
<main className='flex flex-col gap-8 row-start-2 items-center sm:items-start'>
|
||||
<Image
|
||||
className='dark:invert'
|
||||
src='/next.svg'
|
||||
alt='Next.js logo'
|
||||
width={180}
|
||||
height={38}
|
||||
priority
|
||||
/>
|
||||
<ol className='list-inside list-decimal text-sm text-center sm:text-left font-[family-name:var(--font-geist-mono)]'>
|
||||
<li className='mb-2'>
|
||||
Get started by editing{' '}
|
||||
<code className='bg-black/[.05] dark:bg-white/[.06] px-1 py-0.5 rounded font-semibold'>
|
||||
src/app/page.tsx
|
||||
</code>
|
||||
.
|
||||
</li>
|
||||
<li>Save and see your changes instantly.</li>
|
||||
</ol>
|
||||
|
||||
<div className='flex gap-4 items-center flex-col sm:flex-row'>
|
||||
<a
|
||||
className='rounded-full border border-solid border-black/[.08] dark:border-white/[.145] transition-colors flex items-center justify-center hover:bg-[#f2f2f2] dark:hover:bg-[#1a1a1a] hover:border-transparent text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5 sm:min-w-44'
|
||||
href='https://nextjs.org/docs?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
Read our docs
|
||||
<div className='flex flex-col items-center justify-center min-h-screen bg-purple-100'>
|
||||
<h1 className='text-4xl font-bold mb-8 text-purple-700'>
|
||||
Welcome to My Social Network
|
||||
</h1>
|
||||
<div className='flex gap-4'>
|
||||
<Link href='/login' legacyBehavior>
|
||||
<a className='rounded-full border border-solid border-purple-700 transition-colors flex items-center justify-center hover:bg-purple-700 hover:text-white text-purple-700 text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5'>
|
||||
Login
|
||||
</a>
|
||||
</Link>
|
||||
<Link href='/register' legacyBehavior>
|
||||
<a className='rounded-full border border-solid border-purple-700 transition-colors flex items-center justify-center hover:bg-purple-700 hover:text-white text-purple-700 text-sm sm:text-base h-10 sm:h-12 px-4 sm:px-5'>
|
||||
Register
|
||||
</a>
|
||||
</Link>
|
||||
</div>
|
||||
</main>
|
||||
<footer className='row-start-3 flex gap-6 flex-wrap items-center justify-center'>
|
||||
<a
|
||||
className='flex items-center gap-2 hover:underline hover:underline-offset-4'
|
||||
href='https://nextjs.org/learn?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<Image
|
||||
aria-hidden
|
||||
src='/file.svg'
|
||||
alt='File icon'
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
Learn
|
||||
</a>
|
||||
<a
|
||||
className='flex items-center gap-2 hover:underline hover:underline-offset-4'
|
||||
href='https://vercel.com/templates?framework=next.js&utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<Image
|
||||
aria-hidden
|
||||
src='/window.svg'
|
||||
alt='Window icon'
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
Examples
|
||||
</a>
|
||||
<a
|
||||
className='flex items-center gap-2 hover:underline hover:underline-offset-4'
|
||||
href='https://nextjs.org?utm_source=create-next-app&utm_medium=appdir-template-tw&utm_campaign=create-next-app'
|
||||
target='_blank'
|
||||
rel='noopener noreferrer'
|
||||
>
|
||||
<Image
|
||||
aria-hidden
|
||||
src='/globe.svg'
|
||||
alt='Globe icon'
|
||||
width={16}
|
||||
height={16}
|
||||
/>
|
||||
Go to nextjs.org →
|
||||
</a>
|
||||
</footer>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
62
frontend/src/app/register/page.tsx
Normal file
62
frontend/src/app/register/page.tsx
Normal file
@ -0,0 +1,62 @@
|
||||
import React from 'react';
|
||||
import Link from 'next/link';
|
||||
|
||||
export default function Register() {
|
||||
return (
|
||||
<div className='flex flex-col items-center justify-center min-h-screen bg-purple-100'>
|
||||
<div className='bg-white p-8 rounded-lg shadow-md w-full max-w-md'>
|
||||
<h1 className='text-2xl font-bold mb-6 text-purple-700'>Register</h1>
|
||||
<form>
|
||||
<div className='mb-4'>
|
||||
<label className='block text-purple-700 mb-2' htmlFor='name'>
|
||||
Name
|
||||
</label>
|
||||
<input
|
||||
className='w-full p-2 border border-purple-300 rounded'
|
||||
type='text'
|
||||
id='name'
|
||||
name='name'
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<div className='mb-4'>
|
||||
<label className='block text-purple-700 mb-2' htmlFor='email'>
|
||||
Email
|
||||
</label>
|
||||
<input
|
||||
className='w-full p-2 border border-purple-300 rounded'
|
||||
type='email'
|
||||
id='email'
|
||||
name='email'
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<div className='mb-6'>
|
||||
<label className='block text-purple-700 mb-2' htmlFor='password'>
|
||||
Password
|
||||
</label>
|
||||
<input
|
||||
className='w-full p-2 border border-purple-300 rounded'
|
||||
type='password'
|
||||
id='password'
|
||||
name='password'
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
<button
|
||||
className='w-full bg-purple-700 text-white p-2 rounded hover:bg-purple-800'
|
||||
type='submit'
|
||||
>
|
||||
Register
|
||||
</button>
|
||||
</form>
|
||||
<p className='mt-4 text-purple-700'>
|
||||
Already have an account?{' '}
|
||||
<Link href='/login' legacyBehavior>
|
||||
<a className='text-purple-500 hover:underline'>Login</a>
|
||||
</Link>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user