17 lines
844 B
TypeScript
17 lines
844 B
TypeScript
|
import { AnchorHTMLAttributes, ButtonHTMLAttributes, DetailedHTMLProps, RefAttributes } from "react";
|
||
|
import Link, { LinkProps } from 'next/link';
|
||
|
|
||
|
export default function Button({ className, ...props }: DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>) {
|
||
|
return <button className={'bg-slate-600 text-slate-50 p-1 rounded shadow shadow-slate-900 hover:bg-slate-500 transition-colors ' + (className || '')} {...props} />
|
||
|
}
|
||
|
|
||
|
type LinkButtonProps = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, keyof LinkProps> & LinkProps & {
|
||
|
children?: React.ReactNode;
|
||
|
} & RefAttributes<HTMLAnchorElement>;
|
||
|
|
||
|
export function LinkButton({ className, children, ...props }: LinkButtonProps) {
|
||
|
return <Link {...props}>
|
||
|
<a className={'text-blue-200 hover:underline ' + (className || '')}>{children}</a>
|
||
|
</Link>
|
||
|
}
|