37 lines
950 B
TypeScript
37 lines
950 B
TypeScript
import { ContentType } from "@/types"
|
|
import { FC } from "react"
|
|
import { TabsTrigger } from "../ui/tabs"
|
|
import { WithTooltip } from "../ui/with-tooltip"
|
|
import { useTranslation } from 'react-i18next'
|
|
|
|
interface SidebarSwitchItemProps {
|
|
contentType: ContentType
|
|
icon: React.ReactNode
|
|
onContentTypeChange: (contentType: ContentType) => void
|
|
}
|
|
|
|
export const SidebarSwitchItem: FC<SidebarSwitchItemProps> = ({
|
|
contentType,
|
|
icon,
|
|
onContentTypeChange
|
|
}) => {
|
|
const { t } = useTranslation()
|
|
return (
|
|
<WithTooltip
|
|
// display={
|
|
// <div>{contentType[0].toUpperCase() + contentType.substring(1)}</div>
|
|
// }
|
|
display={<div>{t(`contentType.${contentType}`)}</div>}
|
|
trigger={
|
|
<TabsTrigger
|
|
className="hover:opacity-50"
|
|
value={contentType}
|
|
onClick={() => onContentTypeChange(contentType as ContentType)}
|
|
>
|
|
{icon}
|
|
</TabsTrigger>
|
|
}
|
|
/>
|
|
)
|
|
}
|