ConceptPortal-public/rsconcept/frontend/src/components/Navigation/NavigationButton.tsx

25 lines
696 B
TypeScript
Raw Normal View History

2023-07-15 17:46:19 +03:00
interface NavigationButtonProps {
2023-08-16 10:11:22 +03:00
id?: string
2023-07-15 17:46:19 +03:00
icon: React.ReactNode
2023-08-16 10:11:22 +03:00
description?: string
2023-07-15 17:46:19 +03:00
colorClass?: string
2023-08-16 10:11:22 +03:00
onClick?: () => void
2023-07-15 17:46:19 +03:00
}
const defaultColors = 'text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white'
2023-08-16 10:11:22 +03:00
function NavigationButton({ id, icon, description, colorClass = defaultColors, onClick }: NavigationButtonProps) {
2023-07-15 17:46:19 +03:00
return (
2023-08-16 10:11:22 +03:00
<button id={id}
title={description}
2023-07-15 17:46:19 +03:00
type='button'
onClick={onClick}
2023-07-20 17:11:03 +03:00
className={'min-w-fit p-2 mr-1 focus:ring-4 rounded-lg focus:ring-gray-300 dark:focus:ring-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 ' + colorClass}
2023-07-15 17:46:19 +03:00
>
{icon}
</button>
);
}
2023-07-25 20:27:29 +03:00
export default NavigationButton;