31 lines
622 B
TypeScript

export const button_variants = ["accent1", "accent2"] as const;
type variant = (typeof button_variants)[number];
export function button({
text,
href,
variant,
disabled = false,
submit = false,
}: {
text: string;
href: string;
variant: variant;
disabled?: boolean;
submit?: boolean;
}): JSX.Element {
const classstr = `class="button button--color-${variant}"`;
if (submit) {
return /* HTML */ `<button type="submit" formaction="${href}" ${classstr}>
${text}
</button>`;
}
return /* HTML */ `<a
${classstr}
${disabled ? "" : `href="${href}"`}
${disabled ? "disabled" : ""}
>
${text}
</a>`;
}