diff --git a/app/components/Button.tsx b/app/components/Button.tsx index 81c69ce7e4..a4e488ef40 100644 --- a/app/components/Button.tsx +++ b/app/components/Button.tsx @@ -1,41 +1,39 @@ import { IconDefinition } from "@fortawesome/fontawesome-svg-core"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -export interface ButtonPropsI extends React.ButtonHTMLAttributes { - icon?: IconDefinition; - variant?: "primary"|"secondary"; +export interface ButtonPropsI + extends React.ButtonHTMLAttributes { + icon?: IconDefinition; + variant?: "primary" | "secondary"; } export const Button = ({ icon, children, - className : propsClassName, - variant = 'primary', + className: propsClassName, + variant = "primary", ...rest -}:ButtonPropsI)=>{ - function getVariantClassNames(variant: string){ - switch(variant){ - case "secondary":{ +}: ButtonPropsI) => { + function getVariantClassNames(variant: string) { + switch (variant) { + case "secondary": { return " bg-brand-secondary hover:bg-brand-secondary-900 text-white focus-visible:outline-brand-secondary"; } case "primary": - default:{ + default: { return " bg-brand-primary hover:bg-brand-primary-400 text-white focus-visible:outline-brand-primary-600"; } } - }; - const className = "text-sm font-semibold rounded-md px-3.5 py-2.5 shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2" + getVariantClassNames(variant) - + (propsClassName ? ` ${propsClassName}` : ""); + } + const className = + "text-sm font-semibold rounded-md px-3.5 py-2.5 shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 transition duration-200 ease-in-out" + + getVariantClassNames(variant) + + (propsClassName ? ` ${propsClassName}` : ""); - return( - ); -} \ No newline at end of file +}; diff --git a/app/components/ButtonLink.tsx b/app/components/ButtonLink.tsx index f7e6fcfdc9..57060fd01c 100644 --- a/app/components/ButtonLink.tsx +++ b/app/components/ButtonLink.tsx @@ -4,38 +4,40 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; interface LinkButtonProps extends LinkProps { icon?: IconDefinition; - variant?: "primary"|"secondary"; - } + variant?: "primary" | "secondary"; +} - export const ButtonLink = ({ +export const ButtonLink = ({ icon, children, className: propsClassName, variant = "primary", ...rest - }:LinkButtonProps)=>{ +}: LinkButtonProps) => { //TODO: Duplicated from Button.tsx - function getVariantClassNames(variant: string){ - switch(variant){ - case "secondary":{ + function getVariantClassNames(variant: string) { + switch (variant) { + case "secondary": { return " bg-brand-secondary hover:bg-brand-secondary-900 text-white focus-visible:outline-brand-secondary"; } case "primary": - default:{ + default: { return " bg-brand-primary hover:bg-brand-primary-400 text-white focus-visible:outline-brand-primary-600"; } } - }; - const className = "text-sm font-semibold rounded-md px-3.5 py-2.5 shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2" + getVariantClassNames(variant) - + (propsClassName ? ` ${propsClassName}` : ""); + } + const className = + "text-sm font-semibold rounded-md px-3.5 py-2.5 shadow-sm focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 transition duration-200 ease-in-out" + + getVariantClassNames(variant) + + (propsClassName ? ` ${propsClassName}` : ""); // END TODO - return( + return ( ); - } \ No newline at end of file +}; diff --git a/app/modules/TopBar/TopBar.tsx b/app/modules/TopBar/TopBar.tsx index fa32368e4e..bbc0449b8d 100644 --- a/app/modules/TopBar/TopBar.tsx +++ b/app/modules/TopBar/TopBar.tsx @@ -1,32 +1,40 @@ -import { useContext } from 'react'; +import { useContext } from "react"; -import { Button } from '~/components/Button' -import { faRightToBracket } from '@fortawesome/free-solid-svg-icons' -import { TopBarInnerContext } from '~/contexts/TopBarInner'; +import { Button } from "~/components/Button"; +import { faRightToBracket } from "@fortawesome/free-solid-svg-icons"; +import { TopBarInnerContext } from "~/contexts/TopBarInner"; export const TopBar = () => { return ( -
-