Added button and beginning of setup screen

This commit is contained in:
mrjvs
2024-02-07 18:16:42 +01:00
parent 825d96a527
commit 725e9641e2
8 changed files with 105 additions and 25 deletions

27
src/components/Button.tsx Normal file
View File

@@ -0,0 +1,27 @@
import type { ReactNode } from 'react';
import './Button.css';
export interface ButtonProps {
type?: 'primary' | 'secondary';
href?: string;
children?: ReactNode;
onClick?: () => void;
full?: boolean;
className?: string;
}
export function Button(props: ButtonProps) {
const classes = `button button-${props.type ?? 'primary'} ${props.className ?? ''} ${props.full ? 'full' : ''}`;
if (props.href)
return (
<a href={props.href} className={classes} target="_blank" rel="noreferrer">
{props.children}
</a>
);
return (
<button className={classes} type="button" onClick={props.onClick}>
{props.children}
</button>
);
}