Update login to redirect to current user page

This commit is contained in:
Aaron William Po
2023-04-05 22:24:02 -04:00
parent 7db7b8264f
commit c8a8c70127
4 changed files with 26 additions and 23 deletions

View File

@@ -18,8 +18,3 @@ jobs:
- name: Install dependencies
run: |
npm ci
- name: Prettier Action
# You may pin to the exact commit or the version.
# uses: creyD/prettier_action@6602189cf8bac1ce73ffe601925f6127ab7f21ac
uses: creyD/prettier_action@v4.2

View File

@@ -29,9 +29,8 @@ const LoginForm = () => {
const onSubmit: SubmitHandler<LoginT> = async (data) => {
try {
const response = await sendLoginUserRequest(data);
router.push(`/users/${response.id}`);
await sendLoginUserRequest(data);
router.push(`/user/current`);
} catch (error) {
if (error instanceof Error) {
setResponseError(error.message);
@@ -74,7 +73,7 @@ const LoginForm = () => {
{responseError && <ErrorAlert error={responseError} setError={setResponseError} />}
<div className="w-full">
<button type="submit" className="btn btn-primary w-full">
<button type="submit" className="btn-primary btn w-full">
Login
</button>
</div>

View File

@@ -1,7 +1,7 @@
import { FC } from 'react';
interface SpinnerProps {
size?: 'xs' | 'sm' | 'md' | 'lg';
size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
}
const Spinner: FC<SpinnerProps> = ({ size = 'md' }) => {
@@ -10,13 +10,14 @@ const Spinner: FC<SpinnerProps> = ({ size = 'md' }) => {
sm: 'w-[20px]',
md: 'w-[100px]',
lg: 'w-[150px]',
xl: 'w-[200px]',
};
return (
<div role="status" className="flex flex-col items-center justify-center rounded-3xl">
<svg
aria-hidden="true"
className={`${spinnerWidths[size]} animate-spin fill-success text-gray-500`}
className={`${spinnerWidths[size]} animate-spin fill-secondary text-primary`}
viewBox="0 0 100 101"
fill="none"
xmlns="http://www.w3.org/2000/svg"

View File

@@ -7,21 +7,29 @@ import { GetServerSideProps, NextPage } from 'next';
import { useContext } from 'react';
const ProtectedPage: NextPage = () => {
const { user, error, isLoading } = useContext(UserContext);
const { user, isLoading } = useContext(UserContext);
const currentTime = new Date().getHours();
const isMorning = currentTime > 5 && currentTime < 12;
const isAfternoon = currentTime > 12 && currentTime < 18;
const isEvening = currentTime > 18 && currentTime < 24;
return (
<Layout>
<div className="flex h-full flex-col items-center justify-center">
<h1 className="text-7xl font-bold text-white">Hello!</h1>
<>
{isLoading && <Spinner />}
{error && <p>Something went wrong.</p>}
<div className="flex h-full flex-col items-center justify-center space-y-3">
{isLoading && <Spinner size="xl" />}
{user && (
<div>
<p>{user.username}</p>
</div>
)}
<>
<h1 className="text-7xl font-bold">
Good {isMorning && 'morning'}
{isAfternoon && 'afternoon'}
{isEvening && 'evening'}
{`, ${user?.firstName}!`}
</h1>
<h2 className="text-4xl font-bold">Welcome to the Biergarten App!</h2>
</>
)}
</div>
</Layout>
);