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;