import { Link } from "react-router"; import { useIntl } from "react-intl"; import { useParams } from "react-router"; import type { MenuProps } from "antd"; import { Affix, Layout } from "antd"; import { Menu } from "antd"; import { AppstoreOutlined, HomeOutlined, TeamOutlined, } from "@ant-design/icons"; import { useAppSelector } from "../../hooks"; import { currentUser } from "../../reducers/current-user"; const { Sider } = Layout; const onClick: MenuProps["onClick"] = (e) => { console.log("click ", e); }; type IWidgetHeadBar = { selectedKeys?: string; openKeys?: string[]; }; const LeftSiderWidget = ({ selectedKeys = "", openKeys }: IWidgetHeadBar) => { //Library head bar const user = useAppSelector(currentUser); const intl = useIntl(); //i18n const { studioname } = useParams(); const linkRecent = "/studio/" + studioname + "/recent/list"; const linkChannel = "/studio/" + studioname + "/channel/list"; const linkGroup = "/studio/" + studioname + "/group/list"; const linkUserdict = "/studio/" + studioname + "/dict/list"; const linkTerm = "/studio/" + studioname + "/term/list"; const linkArticle = "/studio/" + studioname + "/article/list"; const linkAnalysis = "/studio/" + studioname + "/exp/list"; const linkCourse = "/studio/" + studioname + "/course/list"; const linkSetting = "/studio/" + studioname + "/setting"; const urlBase = `/studio/${studioname}`; const items: MenuProps["items"] = [ { label: intl.formatMessage({ id: "columns.studio.basic.title", }), key: "basic", icon: , children: [ { label: ( {intl.formatMessage({ id: "columns.studio.palicanon.title", })} ), key: "palicanon", disabled: true, }, { label: ( {intl.formatMessage({ id: "columns.studio.recent.title", })} ), key: "recent", }, { label: ( {intl.formatMessage({ id: "columns.studio.channel.title", })} ), key: "channel", }, { label: ( {intl.formatMessage({ id: "columns.exp.title", })} ), key: "analysis", }, { label: intl.formatMessage({ id: "columns.studio.setting.title", }), key: "setting", children: [ { label: ( {intl.formatMessage({ id: "buttons.general", })} ), key: "general", }, { label: ( {intl.formatMessage({ id: "buttons.ai-models", })} ), key: "models", }, ], }, ], }, { label: intl.formatMessage({ id: "columns.studio.advance.title", }), key: "advance", icon: , children: [ { label: intl.formatMessage({ id: "labels.task", }), key: "task", children: [ { label: ( {intl.formatMessage({ id: "labels.task.hall", })} ), key: "task_hall", }, { label: ( {intl.formatMessage({ id: "labels.task.mine", })} ), key: "task_mine", }, { label: ( {intl.formatMessage({ id: "labels.task.my.project", })} ), key: "task_projects", }, { label: ( {intl.formatMessage({ id: "labels.task.workflows", })} ), key: "task_workflows", }, ], }, { label: ( {intl.formatMessage({ id: "columns.library.course.title", })} ), key: "course", }, { label: ( {intl.formatMessage({ id: "columns.studio.userdict.title", })} ), key: "userdict", }, { label: ( {intl.formatMessage({ id: "columns.studio.term.title", })} ), key: "term", }, { label: ( {intl.formatMessage({ id: "columns.studio.article.title", })} ), key: "article", }, { label: ( {intl.formatMessage({ id: "columns.studio.anthology.title", })} ), key: "anthology", }, { label: ( {intl.formatMessage({ id: "columns.studio.attachment.title", })} ), key: "attachment", disabled: user?.roles?.includes("uploader") ? false : true, }, { label: ( {intl.formatMessage({ id: "columns.studio.tag.title", })} ), key: "tag", }, ].filter((value) => value.disabled !== true), }, { label: intl.formatMessage({ id: "labels.collaboration" }), key: "collaboration", icon: , children: [ { label: ( {intl.formatMessage({ id: "columns.studio.group.title", })} ), key: "group", disabled: user?.roles?.includes("basic"), }, { label: ( {intl.formatMessage({ id: "columns.studio.invite.title", })} ), key: "invite", disabled: user?.roles?.includes("basic"), }, { label: ( {intl.formatMessage({ id: "columns.studio.transfer.title", })} ), key: "transfer", }, ], }, ]; return (
); }; export default LeftSiderWidget;