"use client"; import Link from "next/link"; import { useRouter } from "next/navigation"; import clsx from "clsx"; import { Badge, Button, Icon, IconName, Typography } from "@/components/ui"; import { useChats } from "@/providers/chats-provider"; import { ROUTES } from "@/shared/constants/client-routes"; import { useDrawer } from ".."; import Logo from "../Logo/Logo"; import styles from "./Header.module.scss"; interface HeaderProps { className?: string; isVisibleMenuButton?: boolean; isVisibleNotificationIcon?: boolean; isVisibleSearchIcon?: boolean; isVisibleBackButton?: boolean; } export default function Header({ className, isVisibleMenuButton = true, isVisibleNotificationIcon = true, isVisibleSearchIcon = true, isVisibleBackButton = false, }: HeaderProps) { const { open } = useDrawer(); const { totalUnreadCount } = useChats(); const router = useRouter(); const handleBack = () => { router.back(); }; return (
{isVisibleBackButton && ( )} {isVisibleMenuButton && ( )}
{isVisibleNotificationIcon && ( {totalUnreadCount > 99 ? "99+" : totalUnreadCount} )} {isVisibleSearchIcon && }
); }