import { useTheme } from 'next-themes' import { FunctionComponent, ReactNode } from 'react' interface AllButtonProps { onClick?: (e?: React.MouseEvent) => void disabled?: boolean className?: string secondary?: boolean children?: ReactNode } interface ButtonProps { size?: 'large' | 'medium' | 'small' } type ButtonCombinedProps = AllButtonProps & ButtonProps const Button: FunctionComponent = ({ children, onClick, disabled = false, className, secondary, size = 'medium', ...props }) => { const { theme } = useTheme() return ( ) } interface IconButtonProps { hideBg?: boolean size?: 'small' | 'medium' | 'large' } type IconButtonCombinedProps = AllButtonProps & IconButtonProps export const IconButton: FunctionComponent = ({ children, onClick, disabled = false, className, hideBg, size, ...props }) => { return ( ) } interface LinkButtonProps { icon?: ReactNode } type LinkButtonCombinedProps = AllButtonProps & LinkButtonProps export const LinkButton: FunctionComponent = ({ children, onClick, disabled = false, className, secondary, ...props }) => { return ( ) } export default Button