450 lines
19 KiB
JavaScript
450 lines
19 KiB
JavaScript
import { jsx as A, jsxs as g, Fragment as K } from "react/jsx-runtime";
|
|
import { Box as c, HStack as p, VStack as s, Image as N, Text as d, useDisclosure as q, Stack as _, Tooltip as T, IconButton as j, Icon as C, Drawer as $, DrawerOverlay as AA, DrawerContent as oA, DrawerCloseButton as eA, DrawerHeader as nA, DrawerBody as tA, SimpleGrid as rA, Link as gA } from "@chakra-ui/react";
|
|
import { useRef as lA, Children as iA, isValidElement as IA, useEffect as aA, forwardRef as cA } from "react";
|
|
import { FiMoreHorizontal as dA } from "react-icons/fi/index.js";
|
|
import { IoExit as CA } from "react-icons/io5/index.js";
|
|
import { u as sA, l as E } from "./chunks/permission-DL7ciWwc.js";
|
|
const bA = "data:image/webp;base64,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MCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyI+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE4LTA4LTEzVDE0OjI1OjUzKzA0OjMwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgKFdpbmRvd3MpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE4LTA4LTEzVDE0OjI1OjUzKzA0OjMwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxOC0wOC0xM1QxNDoyNTo1MyswNDozMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxOC0wOC0xM1QxNDoyNTo1MyswNDozMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDoxMDU3ZjgxNy03YTEzLThiNGEtODc1Ni1lYWM1MWEyZDRiYTY8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y3JlYXRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTgtMDgtMTNUMTQ6MjU6NTMrMDQ6MzA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MDZjNmM4ODYtZDY2My1jMzQzLTkwZTUtNjQ4ZWJlYTkxYzgxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOjEwNTdmODE3LTdhMTMtOGI0YS04NzU2LWVhYzUxYTJkNGJhNjwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6NWI3ZmJlNDgtMDc0ZS01NzRhLWFlNTctN2RmYjA4NmI1N2Q3PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjA2YzZjODg2LWQ2NjMtYzM0My05MGU1LTY0OGViZWE5MWM4MTwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHBob3Rvc2hvcDpJQ0NQcm9maWxlPnNSR0IgSUVDNjE5NjYtMi4xPC9waG90b3Nob3A6SUNDUHJvZmlsZT4KICAgICAgICAgPHBob3Rvc2hvcDpDb2xvck1vZGU+MzwvcGhvdG9zaG9wOkNvbG9yTW9kZT4KICAgICAgICAgPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4KICAgICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgICAgIDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmEwYjgxNWMzLTkzYjMtODU0MC04NmY0LTA0OTEyZTY5Y2Y4NTwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4K";
|
|
function pA({ children: o, ...n }) {
|
|
return /* @__PURE__ */ A(
|
|
c,
|
|
{
|
|
as: "header",
|
|
w: "100%",
|
|
h: "110px",
|
|
borderBottom: "1px",
|
|
borderColor: "gray.200",
|
|
bg: "#4299E1",
|
|
px: "20px",
|
|
zIndex: 10,
|
|
position: "fixed",
|
|
color: "white",
|
|
...n,
|
|
children: /* @__PURE__ */ A(p, { h: "100%", alignItems: "center", justifyContent: "space-between", children: o })
|
|
}
|
|
);
|
|
}
|
|
function hA({ children: o, ...n }) {
|
|
return /* @__PURE__ */ A(p, { alignItems: "center", h: "100%", py: "10px", ...n, children: o });
|
|
}
|
|
function uA(o) {
|
|
return /* @__PURE__ */ A(N, { loading: "lazy", alt: "logo", maxW: "80px", maxH: "80px", ...o });
|
|
}
|
|
function xA({ children: o, ...n }) {
|
|
return /* @__PURE__ */ A(
|
|
s,
|
|
{
|
|
alignItems: "start",
|
|
justifyContent: "center",
|
|
h: "100%",
|
|
spacing: 1,
|
|
...n,
|
|
children: o
|
|
}
|
|
);
|
|
}
|
|
function RA({ children: o, ...n }) {
|
|
return /* @__PURE__ */ A(d, { fontWeight: "bold", fontSize: "20px", ...n, children: o });
|
|
}
|
|
function DA({ children: o, ...n }) {
|
|
return /* @__PURE__ */ A(d, { ...n, children: o });
|
|
}
|
|
function mA({ logoSrc: o = bA, ...n }) {
|
|
return /* @__PURE__ */ g(
|
|
s,
|
|
{
|
|
w: "fit-content",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
py: "10px",
|
|
...n,
|
|
children: [
|
|
/* @__PURE__ */ A(N, { src: o, loading: "lazy", maxW: "90px" }),
|
|
/* @__PURE__ */ A(d, { fontSize: "xs", fontWeight: "bold", textAlign: "center", children: "مؤسسه تولید سیستمهای خبره و هوشمند اسلامی باقرالعلوم(ع)" })
|
|
]
|
|
}
|
|
);
|
|
}
|
|
const SA = Object.assign(pA, {
|
|
BrandSection: hA,
|
|
Logo: uA,
|
|
Brand: xA,
|
|
Title: RA,
|
|
Description: DA,
|
|
Bi: mA
|
|
}), B = (o, n) => {
|
|
const t = (o == null ? void 0 : o.split("?")[0]) || "";
|
|
return [n == null ? void 0 : n.path, ...(n == null ? void 0 : n.aliases) || []].filter(Boolean).some(
|
|
(l) => t === l || t.startsWith(`${l}/`)
|
|
);
|
|
}, YA = (o = [], n) => o.find((t) => B(n, t)), h = cA(
|
|
({ linkComponent: o, href: n, children: t, ...r }, l) => /* @__PURE__ */ A(gA, { ref: l, href: n, ...o ? { as: o } : {}, ...r, children: t })
|
|
);
|
|
h.displayName = "SidebarLink";
|
|
const ZA = ({
|
|
item: o,
|
|
isActive: n,
|
|
isDisabled: t,
|
|
linkComponent: r,
|
|
onNavigate: l
|
|
}) => {
|
|
const i = /* @__PURE__ */ A(
|
|
j,
|
|
{
|
|
variant: "ghost",
|
|
icon: /* @__PURE__ */ A(C, { as: o.icon }),
|
|
fontSize: "xl",
|
|
size: { base: "sm", lg: "lg" },
|
|
isDisabled: t,
|
|
isActive: n,
|
|
"aria-label": o.title,
|
|
"aria-current": n ? "page" : void 0,
|
|
onClick: t ? void 0 : l
|
|
}
|
|
);
|
|
return /* @__PURE__ */ A(
|
|
T,
|
|
{
|
|
label: t ? "عدم دسترسی" : o.title,
|
|
placement: "left-start",
|
|
hasArrow: !0,
|
|
rounded: "md",
|
|
py: 2,
|
|
px: 4,
|
|
fontWeight: "bold",
|
|
closeDelay: 150,
|
|
children: t ? /* @__PURE__ */ A(c, { as: "span", children: i }) : /* @__PURE__ */ A(
|
|
h,
|
|
{
|
|
linkComponent: r,
|
|
href: o.path,
|
|
_hover: { textDecoration: "none" },
|
|
children: i
|
|
}
|
|
)
|
|
}
|
|
);
|
|
}, yA = ({
|
|
item: o,
|
|
isActive: n,
|
|
isDisabled: t,
|
|
linkComponent: r,
|
|
onNavigate: l
|
|
}) => {
|
|
const i = /* @__PURE__ */ g(
|
|
s,
|
|
{
|
|
as: "span",
|
|
spacing: 0.5,
|
|
w: "full",
|
|
minW: 0,
|
|
py: 1,
|
|
px: 1,
|
|
borderRadius: "xl",
|
|
color: n ? "blue.600" : "gray.600",
|
|
bg: n ? "blue.50" : "transparent",
|
|
opacity: t ? 0.4 : 1,
|
|
transition: "background-color 150ms ease, color 150ms ease",
|
|
children: [
|
|
/* @__PURE__ */ A(C, { as: o.icon, boxSize: 5 }),
|
|
/* @__PURE__ */ A(
|
|
d,
|
|
{
|
|
as: "span",
|
|
w: "full",
|
|
fontSize: "10px",
|
|
fontWeight: n ? "bold" : "medium",
|
|
lineHeight: "short",
|
|
textAlign: "center",
|
|
noOfLines: 1,
|
|
children: o.mobileTitle || o.title
|
|
}
|
|
)
|
|
]
|
|
}
|
|
);
|
|
return t ? /* @__PURE__ */ A(
|
|
c,
|
|
{
|
|
flex: "1",
|
|
minW: 0,
|
|
display: "flex",
|
|
alignItems: "center",
|
|
"aria-disabled": "true",
|
|
children: i
|
|
}
|
|
) : /* @__PURE__ */ A(
|
|
h,
|
|
{
|
|
linkComponent: r,
|
|
href: o.path,
|
|
flex: "1",
|
|
minW: 0,
|
|
display: "flex",
|
|
alignItems: "center",
|
|
_hover: { textDecoration: "none" },
|
|
onClick: l,
|
|
"aria-current": n ? "page" : void 0,
|
|
children: i
|
|
}
|
|
);
|
|
}, Q = () => null, GA = ({
|
|
items: o = [],
|
|
currentPath: n,
|
|
linkComponent: t,
|
|
onNavigate: r,
|
|
children: l,
|
|
primaryMobileCount: i = 4,
|
|
moreTitle: O = "بیشتر",
|
|
moreDrawerTitle: P = "سایر بخشهای سامانه",
|
|
desktopProps: L,
|
|
mobileProps: V
|
|
}) => {
|
|
var S, Y;
|
|
const { isOpen: U, onOpen: X, onClose: u } = q(), G = lA(), { cannot: H, can: f, isLoading: w } = sA(), I = iA.toArray(l).find(
|
|
(e) => IA(e) && e.type === Q
|
|
), x = !!I, R = ((S = I == null ? void 0 : I.props) == null ? void 0 : S.title) || "خروج", v = ((Y = I == null ? void 0 : I.props) == null ? void 0 : Y.icon) || CA;
|
|
aA(() => {
|
|
w || f("panel_access") || E();
|
|
}, [f, w]);
|
|
const F = n ?? (typeof window < "u" ? `${window.location.pathname}${window.location.search}` : ""), J = o.slice(0, i), D = o.slice(i), m = (e) => (Array.isArray(e == null ? void 0 : e.perm) ? e.perm : [e == null ? void 0 : e.perm]).filter(Boolean).some((a) => H(a)), b = (e) => B(F, e), Z = D.some(b), W = D.length > 0 || x, M = (e) => {
|
|
r == null || r(e), u();
|
|
}, z = () => {
|
|
u(), E();
|
|
};
|
|
return /* @__PURE__ */ g(K, { children: [
|
|
/* @__PURE__ */ A(
|
|
_,
|
|
{
|
|
py: 6,
|
|
as: "nav",
|
|
flexShrink: 0,
|
|
justify: "space-between",
|
|
h: "full",
|
|
borderLeft: "1px",
|
|
borderColor: "gray.200",
|
|
overflowY: "scroll",
|
|
sx: {
|
|
"::-webkit-scrollbar": { display: "none" },
|
|
scrollbarWidth: "none",
|
|
msOverflowStyle: "none"
|
|
},
|
|
display: { base: "none", lg: "flex" },
|
|
...L,
|
|
children: /* @__PURE__ */ g(s, { spacing: 2, children: [
|
|
o.map((e) => /* @__PURE__ */ A(
|
|
ZA,
|
|
{
|
|
item: e,
|
|
isDisabled: m(e),
|
|
isActive: b(e),
|
|
linkComponent: t,
|
|
onNavigate: () => r == null ? void 0 : r(e)
|
|
},
|
|
e.path
|
|
)),
|
|
x && /* @__PURE__ */ A(
|
|
T,
|
|
{
|
|
label: R,
|
|
placement: "left-start",
|
|
hasArrow: !0,
|
|
rounded: "md",
|
|
py: 2,
|
|
px: 4,
|
|
fontWeight: "bold",
|
|
closeDelay: 150,
|
|
children: /* @__PURE__ */ A(
|
|
j,
|
|
{
|
|
variant: "ghost",
|
|
icon: /* @__PURE__ */ A(C, { as: v }),
|
|
fontSize: "xl",
|
|
size: { base: "sm", lg: "lg" },
|
|
"aria-label": R,
|
|
onClick: z
|
|
}
|
|
)
|
|
}
|
|
)
|
|
] })
|
|
}
|
|
),
|
|
/* @__PURE__ */ A(
|
|
c,
|
|
{
|
|
as: "nav",
|
|
"aria-label": "ناوبری اصلی موبایل",
|
|
display: { base: "block", lg: "none" },
|
|
position: "fixed",
|
|
insetInline: 0,
|
|
bottom: 0,
|
|
zIndex: 1200,
|
|
bg: "white",
|
|
borderTopWidth: "1px",
|
|
borderColor: "gray.200",
|
|
boxShadow: "0 -6px 18px rgba(0, 0, 0, 0.08)",
|
|
pb: "env(safe-area-inset-bottom)",
|
|
...V,
|
|
children: /* @__PURE__ */ g(p, { h: "56px", px: 1.5, spacing: 1, align: "stretch", children: [
|
|
J.map((e) => /* @__PURE__ */ A(
|
|
yA,
|
|
{
|
|
item: e,
|
|
isDisabled: m(e),
|
|
isActive: b(e),
|
|
linkComponent: t,
|
|
onNavigate: () => M(e)
|
|
},
|
|
e.path
|
|
)),
|
|
W && /* @__PURE__ */ A(
|
|
c,
|
|
{
|
|
as: "button",
|
|
ref: G,
|
|
type: "button",
|
|
flex: "1",
|
|
minW: 0,
|
|
h: "full",
|
|
p: 0,
|
|
border: 0,
|
|
bg: "transparent",
|
|
font: "inherit",
|
|
display: "flex",
|
|
alignItems: "center",
|
|
justifyContent: "center",
|
|
cursor: "pointer",
|
|
onClick: X,
|
|
"aria-label": "نمایش سایر بخشها",
|
|
children: /* @__PURE__ */ g(
|
|
s,
|
|
{
|
|
spacing: 0.5,
|
|
w: "full",
|
|
py: 1,
|
|
px: 1,
|
|
borderRadius: "xl",
|
|
color: Z ? "blue.600" : "gray.600",
|
|
bg: Z ? "blue.50" : "transparent",
|
|
children: [
|
|
/* @__PURE__ */ A(C, { as: dA, boxSize: 5 }),
|
|
/* @__PURE__ */ A(
|
|
d,
|
|
{
|
|
fontSize: "10px",
|
|
fontWeight: Z ? "bold" : "medium",
|
|
lineHeight: "short",
|
|
children: O
|
|
}
|
|
)
|
|
]
|
|
}
|
|
)
|
|
}
|
|
)
|
|
] })
|
|
}
|
|
),
|
|
W && /* @__PURE__ */ g(
|
|
$,
|
|
{
|
|
isOpen: U,
|
|
placement: "bottom",
|
|
onClose: u,
|
|
finalFocusRef: G,
|
|
children: [
|
|
/* @__PURE__ */ A(AA, {}),
|
|
/* @__PURE__ */ g(
|
|
oA,
|
|
{
|
|
borderTopRadius: "2xl",
|
|
maxH: "min(78dvh, 620px)",
|
|
pb: "env(safe-area-inset-bottom)",
|
|
children: [
|
|
/* @__PURE__ */ A(eA, { insetInlineEnd: 3, insetInlineStart: "auto" }),
|
|
/* @__PURE__ */ A(nA, { borderBottomWidth: "1px", fontSize: "md", children: P }),
|
|
/* @__PURE__ */ g(tA, { py: 4, overflowY: "auto", children: [
|
|
/* @__PURE__ */ A(rA, { columns: 4, spacing: 2, children: D.map((e) => {
|
|
const y = m(e), a = b(e), k = /* @__PURE__ */ g(
|
|
s,
|
|
{
|
|
h: "70px",
|
|
minW: 0,
|
|
justify: "center",
|
|
spacing: 1,
|
|
px: 1,
|
|
borderWidth: "1px",
|
|
borderColor: a ? "blue.300" : "gray.200",
|
|
borderRadius: "lg",
|
|
bg: a ? "blue.50" : "white",
|
|
color: a ? "blue.700" : "gray.700",
|
|
opacity: y ? 0.4 : 1,
|
|
children: [
|
|
/* @__PURE__ */ A(C, { as: e.icon, boxSize: 5, flexShrink: 0 }),
|
|
/* @__PURE__ */ A(
|
|
d,
|
|
{
|
|
w: "full",
|
|
fontSize: "10px",
|
|
lineHeight: "shorter",
|
|
fontWeight: a ? "bold" : "medium",
|
|
textAlign: "center",
|
|
noOfLines: 2,
|
|
children: e.mobileTitle || e.title
|
|
}
|
|
)
|
|
]
|
|
}
|
|
);
|
|
return y ? /* @__PURE__ */ A(c, { children: k }, e.path) : /* @__PURE__ */ A(
|
|
h,
|
|
{
|
|
linkComponent: t,
|
|
href: e.path,
|
|
_hover: { textDecoration: "none" },
|
|
onClick: () => M(e),
|
|
"aria-current": a ? "page" : void 0,
|
|
children: k
|
|
},
|
|
e.path
|
|
);
|
|
}) }),
|
|
x && /* @__PURE__ */ A(c, { mt: 4, pt: 4, borderTopWidth: "1px", borderColor: "gray.200", children: /* @__PURE__ */ g(
|
|
p,
|
|
{
|
|
as: "button",
|
|
type: "button",
|
|
w: "full",
|
|
justify: "center",
|
|
py: 3,
|
|
borderRadius: "xl",
|
|
border: 0,
|
|
color: "red.600",
|
|
bg: "red.50",
|
|
cursor: "pointer",
|
|
onClick: z,
|
|
children: [
|
|
/* @__PURE__ */ A(C, { as: v, boxSize: 5 }),
|
|
/* @__PURE__ */ A(d, { fontWeight: "bold", children: R })
|
|
]
|
|
}
|
|
) })
|
|
] })
|
|
]
|
|
}
|
|
)
|
|
]
|
|
}
|
|
)
|
|
] });
|
|
}, kA = Object.assign(GA, {
|
|
Exit: Q
|
|
});
|
|
export {
|
|
SA as Header,
|
|
kA as Sidebar,
|
|
YA as getActiveSidebarItem,
|
|
B as isSidebarPathActive
|
|
};
|