diff options
Diffstat (limited to 'src/components/Button.tsx')
-rw-r--r-- | src/components/Button.tsx | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/components/Button.tsx b/src/components/Button.tsx index 5fd69b2..8f2398b 100644 --- a/src/components/Button.tsx +++ b/src/components/Button.tsx @@ -1,21 +1,28 @@ import React from 'react'; interface Props { - variant?: 'contained' | 'outlined' + variant?: 'contained' | 'outlined'; + size?: 'sm' | 'md' | 'lg'; children: string; } -const styles = { +const variants = { contained: 'bg-black text-white', outlined: 'border-2 border-black', }; -const Button: React.FC<Props> = ({ children, variant = 'contained' }) => { +const sizes = { + lg: 'p-5', + md: 'p-4', + sm: 'p-3', +}; + +const Button: React.FC<Props> = ({ variant = 'contained', size = 'md', children }) => { return ( <button type="button" - className={`p-4 m-3 font-bold tracking-wide hover:underline focus:outline-none ${styles[variant]}`} + className={`m-3 font-bold tracking-wide hover:underline focus:outline-none ${variants[variant]} ${sizes[size]}`} > {children} </button> |