refactor: organized component folder structure
All checks were successful
container-scan / Container Scan (pull_request) Successful in 4m39s
docker-build / docker (pull_request) Successful in 10m19s

fix: scrolling in login page
This commit is contained in:
Maximilian Liebmann 2025-06-18 22:25:27 +02:00
parent 138970f4c3
commit a412d0710b
15 changed files with 31 additions and 31 deletions

View file

@ -0,0 +1,20 @@
import { Button } from '@/components/ui/button';
import { IconProp } from '@fortawesome/fontawesome-svg-core';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
export function IconButton({
icon,
children,
...props
}: {
icon: IconProp;
children: React.ReactNode;
} & React.ComponentProps<typeof Button>) {
return (
<Button type='button' variant='secondary' {...props}>
<FontAwesomeIcon icon={icon} className='mr-2' />
{children}
</Button>
);
}

View file

@ -0,0 +1,16 @@
import { Button } from '../ui/button';
import Link from 'next/link';
export function RedirectButton({
redirectUrl,
buttonText,
}: {
redirectUrl: string;
buttonText: string;
}) {
return (
<Link href={redirectUrl}>
<Button>{buttonText}</Button>
</Link>
);
}

View file

@ -0,0 +1,30 @@
import { signIn } from '@/auth';
import { IconButton } from '@/components/buttons/icon-button';
import { faOpenid } from '@fortawesome/free-brands-svg-icons';
export default function SSOLogin({
provider,
providerDisplayName,
}: {
provider: string;
providerDisplayName: string;
}) {
return (
<form
className='flex flex-col items-center w-full'
action={async () => {
'use server';
await signIn(provider);
}}
>
<IconButton
className='w-full'
type='submit'
variant='secondary'
icon={faOpenid}
>
Login with {providerDisplayName}
</IconButton>
</form>
);
}