import { Badge } from "antd"; import clsx from "clsx"; import i18n, { t } from "i18next"; import { useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; import group_notifications from "@/assets/images/contact/group_notifications.png"; import my_friends from "@/assets/images/contact/my_friends.png"; import my_groups from "@/assets/images/contact/my_groups.png"; import new_friends from "@/assets/images/contact/new_friends.png"; import FlexibleSider from "@/components/FlexibleSider"; import { useContactStore } from "@/store"; const Links = [ { label: t("placeholder.newFriends"), icon: new_friends, path: "/contact/newFriends", }, { label: t("placeholder.groupNotification"), icon: group_notifications, path: "/contact/groupNotifications", }, { label: t("placeholder.myFriend"), icon: my_friends, path: "/contact", }, { label: t("placeholder.myGroup"), icon: my_groups, path: "/contact/myGroups", }, ]; i18n.on("languageChanged", () => { Links[0].label = t("placeholder.newFriends"); Links[1].label = t("placeholder.groupNotification"); Links[2].label = t("placeholder.myFriend"); Links[3].label = t("placeholder.myGroup"); }); const ContactSider = () => { const [selectIndex, setSelectIndex] = useState(2); const unHandleFriendApplicationCount = useContactStore( (state) => state.unHandleFriendApplicationCount, ); const unHandleGroupApplicationCount = useContactStore( (state) => state.unHandleGroupApplicationCount, ); const navigate = useNavigate(); useEffect(() => { if (location.hash.includes("/contact/newFriends")) { setSelectIndex(0); } if (location.hash.includes("/contact/groupNotifications")) { setSelectIndex(1); } if (location.hash.includes("/contact/myGroups")) { setSelectIndex(3); } }, []); const getBadge = (index: number) => { if (index === 0) { return unHandleFriendApplicationCount; } if (index === 1) { return unHandleGroupApplicationCount; } return 0; }; return (
{t("placeholder.contact")}
); }; export default ContactSider;