import clsx from 'clsx'; import React from 'react'; import { NavLink, useLocation } from 'react-router-dom'; import IconWithCounter from 'soapbox/components/icon-with-counter'; import { Icon, Text } from 'soapbox/components/ui'; interface IThumbNavigationLink { count?: number countMax?: number src: string text: string | React.ReactElement to: string exact?: boolean paths?: Array } const ThumbNavigationLink: React.FC = ({ count, countMax, src, text, to, exact, paths }): JSX.Element => { const { pathname } = useLocation(); const isActive = (): boolean => { if (paths) { return paths.some(path => pathname.startsWith(path)); } else { return exact ? pathname === to : pathname.startsWith(to); } }; const active = isActive(); return ( {count !== undefined ? ( ) : ( )} {text} ); }; export default ThumbNavigationLink;