Add edit beer post, 500 page, and redirectIfLoggedIn getServerSideProps.

Implement edit beer post functionality.

Register, edit and create beer post forms are now using the same layout found in components/ui/forms/BeerPostFormPageLayout. All forms are now extracted into their own components and are now found in components.

Added redirectIfLoggedIn getServerSidesProp fn for login and register pages.
This commit is contained in:
Aaron William Po
2023-02-27 18:13:38 -05:00
parent 11b3304c54
commit 7126c74d5d
18 changed files with 588 additions and 283 deletions

View File

@@ -0,0 +1,28 @@
import { ReactNode, FC } from 'react';
import { IconType } from 'react-icons';
interface FormPageLayoutProps {
children: ReactNode;
headingText: string;
headingIcon: IconType;
}
const FormPageLayout: FC<FormPageLayoutProps> = ({
children: FormComponent,
headingIcon,
headingText,
}) => {
return (
<div className="align-center my-20 flex h-fit flex-col items-center justify-center">
<div className="w-8/12">
<div className="my-4 flex flex-col items-center space-y-1">
{headingIcon({ className: 'text-4xl' })}
<h1 className="text-3xl font-bold">{headingText}</h1>
</div>
<div>{FormComponent}</div>
</div>
</div>
);
};
export default FormPageLayout;

View File

@@ -14,7 +14,7 @@ const Button: FunctionComponent<FormButtonProps> = ({
// eslint-disable-next-line react/button-has-type
<button
type={type}
className={`btn btn-primary mt-4 w-full rounded-xl ${isSubmitting ? 'loading' : ''}`}
className={`btn-primary btn w-full rounded-xl ${isSubmitting ? 'loading' : ''}`}
>
{children}
</button>