@opengis/admin 0.1.86 → 0.1.88

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. package/README.md +29 -29
  2. package/config.js +4 -4
  3. package/dist/{IconChevronDown-BP50SBFz.js → IconChevronDown-KI0JSsHM.js} +1 -1
  4. package/dist/{add-page-DbjBxsHN.js → add-page-BCXXk3_G.js} +1 -1
  5. package/dist/{admin-interface-CNBVM_7D.js → admin-interface-DeVqzwQ5.js} +4 -4
  6. package/dist/admin-view-ueou40jT.js +378 -0
  7. package/dist/admin.js +1 -1
  8. package/dist/admin.umd.cjs +43 -43
  9. package/dist/assets/logo.svg +41 -41
  10. package/dist/{card-page-BNs9nE8c.js → card-page-Cs-WOWvI.js} +144 -141
  11. package/dist/{card-view-Dyopcvx4.js → card-view-Ct56P9CD.js} +1 -1
  12. package/dist/{edit-page-CtNICp9w.js → edit-page-WUjuzYcQ.js} +1 -1
  13. package/dist/{import-file-CBlObEWm.js → import-file-Cobra4kl.js} +8329 -8066
  14. package/dist/style.css +1 -1
  15. package/module/settings/card/admin.roles.table/access.hbs +27 -27
  16. package/module/settings/card/admin.roles.table/general_info.hbs +16 -16
  17. package/module/settings/card/admin.roles.table/index.yml +14 -14
  18. package/module/settings/card/admin.roles.table/users.hbs +27 -27
  19. package/module/settings/card/admin.routes.table/general_info.hbs +40 -40
  20. package/module/settings/card/admin.routes.table/index.yml +8 -8
  21. package/module/settings/card/admin.routes.table/users.hbs +33 -33
  22. package/module/settings/card/admin.users.table/general_info.hbs +25 -25
  23. package/module/settings/card/admin.users.table/index.yml +12 -12
  24. package/module/settings/card/admin.users.table/logs.hbs +30 -30
  25. package/module/settings/card/admin.users.table/user_roles.hbs +24 -24
  26. package/module/settings/cls/core.actions.json +17 -17
  27. package/module/settings/cls/core.scope.json +13 -13
  28. package/module/settings/cls/properties.site_status.json +13 -13
  29. package/module/settings/cls/properties.widget_status.json +13 -13
  30. package/module/settings/cls/users.user_type.json +13 -13
  31. package/module/settings/form/admin.access.form.json +36 -36
  32. package/module/settings/form/admin.custom_column.form.json +71 -71
  33. package/module/settings/form/admin.properties.form.json +15 -15
  34. package/module/settings/form/admin.roles.form.json +19 -19
  35. package/module/settings/form/admin.routes.form.json +25 -25
  36. package/module/settings/form/admin.user_properties.form.json +15 -15
  37. package/module/settings/form/admin.user_roles.form.json +21 -21
  38. package/module/settings/form/admin.users.form.json +153 -153
  39. package/module/settings/form/user.user_roles.form.json +13 -13
  40. package/module/settings/interface/admin.properties.json +4 -4
  41. package/module/settings/interface/admin.roles.json +4 -4
  42. package/module/settings/interface/admin.routes.json +4 -4
  43. package/module/settings/interface/admin.users.json +4 -4
  44. package/module/settings/menu.json +50 -50
  45. package/module/settings/select/core.roles.json +2 -2
  46. package/module/settings/select/core.routes.sql +1 -1
  47. package/module/settings/select/core.user_mentioned.sql +1 -1
  48. package/module/settings/select/core.user_uid.sql +1 -1
  49. package/module/settings/table/admin.access.table.json +83 -83
  50. package/module/settings/table/admin.custom_column.table.json +99 -99
  51. package/module/settings/table/admin.properties.table.json +39 -39
  52. package/module/settings/table/admin.roles.table.json +64 -64
  53. package/module/settings/table/admin.routes.table.json +68 -68
  54. package/module/settings/table/admin.user_properties.table.json +34 -34
  55. package/module/settings/table/admin.user_roles.table.json +72 -72
  56. package/module/settings/table/admin.users.table.json +121 -121
  57. package/package.json +82 -82
  58. package/plugin.js +29 -29
  59. package/server/helpers/controllers/badge.js +11 -11
  60. package/server/helpers/controllers/hb.js +2 -2
  61. package/server/helpers/controllers/map.js +2 -2
  62. package/server/helpers/controllers/mls.js +2 -2
  63. package/server/helpers/controllers/token.js +16 -16
  64. package/server/helpers/controllers/vue.js +2 -2
  65. package/server/helpers/index.mjs +29 -29
  66. package/server/helpers/list/buttonHelper.js +10 -10
  67. package/server/helpers/list/descriptionList.js +34 -33
  68. package/server/helpers/list/tableList.js +65 -65
  69. package/server/helpers/list/utils/button.js +5 -5
  70. package/server/plugins/access/funcs/getAdminAccess.js +14 -14
  71. package/server/plugins/access/index.mjs +6 -6
  72. package/server/plugins/adminHook.js +81 -81
  73. package/server/plugins/cron.js +10 -10
  74. package/server/plugins/docs.js +28 -28
  75. package/server/plugins/hook.js +226 -226
  76. package/server/plugins/vite.js +71 -71
  77. package/server/routes/access/controllers/access.group.js +29 -29
  78. package/server/routes/access/controllers/access.group.post.js +43 -43
  79. package/server/routes/access/index.mjs +63 -63
  80. package/server/routes/calendar/controllers/calendar.data.js +87 -87
  81. package/server/routes/calendar/index.mjs +7 -7
  82. package/server/routes/calendar/schema.js +21 -21
  83. package/server/routes/data/controllers/cardData.js +81 -81
  84. package/server/routes/data/controllers/cardTabData.js +49 -49
  85. package/server/routes/data/controllers/funcs/getFilterSQL/index.js +92 -92
  86. package/server/routes/data/controllers/funcs/getFilterSQL/util/formatValue.js +170 -170
  87. package/server/routes/data/controllers/funcs/getFilterSQL/util/getCustomQuery.js +13 -13
  88. package/server/routes/data/controllers/funcs/getFilterSQL/util/getFilterQuery.js +64 -64
  89. package/server/routes/data/controllers/funcs/getFilterSQL/util/getOptimizedQuery.js +12 -12
  90. package/server/routes/data/controllers/funcs/getFilterSQL/util/getTableSql.js +34 -34
  91. package/server/routes/data/controllers/tableData.js +20 -20
  92. package/server/routes/data/controllers/tableDataId.js +27 -27
  93. package/server/routes/data/controllers/tableFilter.js +63 -63
  94. package/server/routes/data/controllers/tokenInfo.js +9 -9
  95. package/server/routes/data/controllers/utils/assignTokens.js +30 -30
  96. package/server/routes/data/controllers/utils/getColumns.js +8 -8
  97. package/server/routes/data/index.mjs +17 -17
  98. package/server/routes/data/schema.js +54 -54
  99. package/server/routes/menu/controllers/getMenu.js +67 -67
  100. package/server/routes/menu/index.mjs +5 -5
  101. package/server/routes/notifications/controllers/readNotifications.js +27 -27
  102. package/server/routes/notifications/controllers/testEmail.js +35 -35
  103. package/server/routes/notifications/controllers/userNotifications.js +53 -53
  104. package/server/routes/notifications/funcs/addNotification.js +21 -21
  105. package/server/routes/notifications/funcs/sendNotification.js +105 -105
  106. package/server/routes/notifications/hook/onWidgetSet.js +57 -57
  107. package/server/routes/notifications/index.mjs +27 -27
  108. package/server/routes/notifications/schema.js +16 -16
  109. package/server/routes/properties/controllers/admin.properties.get.js +29 -29
  110. package/server/routes/properties/controllers/user.properties.get.js +30 -30
  111. package/server/routes/properties/controllers/user.properties.post.js +30 -30
  112. package/server/routes/properties/funcs/getSettings.js +56 -56
  113. package/server/routes/properties/funcs/setSettings.js +44 -44
  114. package/server/routes/properties/funcs/utils/dataInsert.js +26 -26
  115. package/server/routes/properties/index.mjs +14 -14
  116. package/server/routes/properties/schema.js +10 -10
  117. package/server/routes/root.mjs +3 -3
  118. package/server/routes/templates/controllers/getTemplate.js +26 -26
  119. package/server/routes/templates/index.mjs +16 -16
  120. package/server/routes/templates/schema.js +8 -8
  121. package/server/routes/user/controllers/user.cls.id.js +14 -14
  122. package/server/routes/user/controllers/user.cls.js +71 -71
  123. package/server/routes/user/controllers/user.cls.post.js +52 -52
  124. package/server/routes/user/controllers/user.info.js +17 -17
  125. package/server/routes/user/schema.js +14 -14
  126. package/server/routes/widget/controllers/utils/historyFormat.js +75 -75
  127. package/server/routes/widget/controllers/utils/obj2db.js +13 -13
  128. package/server/routes/widget/controllers/widget.del.js +41 -41
  129. package/server/routes/widget/controllers/widget.get.js +96 -96
  130. package/server/routes/widget/controllers/widget.set.js +76 -76
  131. package/server/routes/widget/index.mjs +11 -11
  132. package/server/routes/widget/schema.js +12 -12
  133. package/server/templates/cls/itree.recrzone_category.json +73 -73
  134. package/server/templates/cls/test.json +9 -9
  135. package/server/templates/form/admin.user_cls.data.form.json +49 -49
  136. package/server/templates/form/admin.user_group_rel.form.json +21 -21
  137. package/server/templates/form/cp_building.form.json +32 -32
  138. package/server/templates/form/form-user-pass.json +10 -10
  139. package/server/templates/form/form-user_group.json +39 -39
  140. package/server/templates/form/form-users.json +156 -156
  141. package/server/templates/form/user_group_access.form.json +22 -22
  142. package/server/templates/select/account_id.json +2 -2
  143. package/server/templates/table/gis.dataset.table.json +43 -43
  144. package/server/templates/table/management.user_group.table.json +112 -112
  145. package/server/templates/table/management.users.table.json +126 -126
  146. package/utils.js +29 -29
  147. package/dist/admin-view-CyAXWfSU.js +0 -636
@@ -1,636 +0,0 @@
1
- import { _ as w, I as Q, u as B, s as F, V as R, a as O } from "./import-file-CBlObEWm.js";
2
- import { openBlock as s, createElementBlock as r, createElementVNode as t, createStaticVNode as q, resolveComponent as v, normalizeClass as E, createTextVNode as L, toDisplayString as V, createVNode as c, Transition as T, withCtx as M, withDirectives as G, Fragment as N, renderList as S, vShow as J, ref as D, createCommentVNode as H, getCurrentInstance as K, watch as W, onBeforeUnmount as X, createBlock as Y, withModifiers as ee } from "vue";
3
- import { I as te } from "./IconChevronDown-BP50SBFz.js";
4
- const oe = {}, ne = {
5
- xmlns: "http://www.w3.org/2000/svg",
6
- viewBox: "0 0 24 24",
7
- fill: "none",
8
- stroke: "currentColor",
9
- "stroke-width": "2",
10
- "stroke-linecap": "round",
11
- "stroke-linejoin": "round",
12
- class: "icon icon-tabler icons-tabler-outline icon-tabler-logout"
13
- };
14
- function se(o, e, n, a, l, i) {
15
- return s(), r("svg", ne, e[0] || (e[0] = [
16
- t("path", {
17
- stroke: "none",
18
- d: "M0 0h24v24H0z",
19
- fill: "none"
20
- }, null, -1),
21
- t("path", { d: "M14 8v-2a2 2 0 0 0 -2 -2h-7a2 2 0 0 0 -2 2v12a2 2 0 0 0 2 2h7a2 2 0 0 0 2 -2v-2" }, null, -1),
22
- t("path", { d: "M9 12h12l-3 -3" }, null, -1),
23
- t("path", { d: "M18 15l3 -3" }, null, -1)
24
- ]));
25
- }
26
- const re = /* @__PURE__ */ w(oe, [["render", se]]), le = {}, ae = {
27
- viewBox: "0 0 1823 249",
28
- fill: "none",
29
- xmlns: "http://www.w3.org/2000/svg"
30
- };
31
- function ie(o, e, n, a, l, i) {
32
- return s(), r("svg", ae, e[0] || (e[0] = [
33
- q('<path d="M218.88 96.05C223.55 99.19 228.69 101.56 234.09 103.07V145.42C212.05 151.54 195.83 171.79 195.83 195.75C195.83 200.22 196.41 204.65 197.53 208.94L160.92 230.08C156.82 226.06 152.08 222.73 146.91 220.24V171.62C164.83 163.13 176.59 145.06 176.59 124.48C176.59 123.17 176.54 121.86 176.44 120.56L218.88 96.05ZM220.32 79.09L160.97 113.36C162.04 116.88 162.61 120.61 162.61 124.48C162.61 142.66 149.93 157.87 132.93 161.76V230.05C143.4 232.46 152.23 239.16 157.46 248.21L215 214.99C211.7 209.34 209.81 202.77 209.81 195.75C209.81 174.62 226.94 157.49 248.07 157.49V91.02C237.14 91.02 227.29 86.43 220.32 79.09Z" fill="#CE3936"></path><path d="M161.39 19.13L197.44 39.94C196.39 44.11 195.84 48.42 195.84 52.75C195.84 54.21 195.9 55.65 196.02 57.1L153.9 81.42C145.27 75.5 134.95 72.24 124.36 72.24C113.83 72.24 103.57 75.47 94.96 81.32L52.71 56.93C52.82 55.55 52.88 54.16 52.88 52.76C52.88 48.43 52.34 44.12 51.28 39.95L87.3 19.16C96.98 28.89 110.26 34.58 124.34 34.58C138.42 34.57 151.7 28.87 161.39 19.13ZM157.77 0.919983C151.24 12.66 138.71 20.6 124.33 20.6C109.95 20.6 97.44 12.67 90.9 0.939983L33.9 33.85C37.08 39.43 38.91 45.88 38.91 52.76C38.91 56.71 38.31 60.52 37.2 64.11L96.46 98.32C103.44 90.87 113.36 86.22 124.37 86.22C135.44 86.22 145.41 90.93 152.39 98.44L211.59 64.27C210.45 60.64 209.83 56.78 209.83 52.77C209.83 45.89 211.65 39.44 214.84 33.86L157.77 0.919983Z" fill="#CE3936"></path><path d="M29.97 95.95L72.28 120.38C72.17 121.74 72.12 123.1 72.12 124.47C72.12 145.02 83.86 163.08 101.74 171.58V220.23C96.58 222.71 91.84 226.04 87.75 230.05L51.17 208.93C52.29 204.64 52.87 200.21 52.87 195.74C52.87 171.78 36.65 151.53 14.61 145.41V103.06C20.07 101.55 25.27 99.14 29.97 95.95ZM28.5 78.97C21.52 86.38 11.63 91.02 0.640015 91.02V157.49C21.77 157.49 38.9 174.62 38.9 195.75C38.9 202.77 37 209.33 33.71 214.99L91.2 248.18C96.43 239.14 105.25 232.45 115.71 230.04V161.73C98.74 157.81 86.09 142.62 86.09 124.46C86.09 120.54 86.68 116.75 87.78 113.18L28.5 78.97Z" fill="#CE3936"></path><path d="M498.39 177.5V144.88C498.39 128.55 485.11 115.27 468.78 115.27H343.22C342.69 115.27 342.18 115.32 341.67 115.4H337.19C332.35 115.4 328.42 111.46 328.42 106.63V74C328.42 69.16 332.36 65.23 337.19 65.23H486.33C492.08 65.23 496.75 60.57 496.75 54.81C496.75 49.06 492.08 44.39 486.33 44.39H337.19C320.86 44.39 307.58 57.67 307.58 74V106.62C307.58 122.95 320.86 136.23 337.19 136.23H462.75C463.28 136.23 463.79 136.18 464.3 136.1H468.78C473.62 136.1 477.55 140.04 477.55 144.87V177.49C477.55 182.33 473.61 186.26 468.78 186.26H319.64C313.89 186.26 309.22 190.92 309.22 196.68C309.22 202.43 313.89 207.1 319.64 207.1H468.78C485.11 207.11 498.39 193.83 498.39 177.5Z" fill="#CE3935"></path><path d="M710.7 177.32V75.24C710.7 58.91 697.42 45.63 681.09 45.63H550.05C533.72 45.63 520.44 58.91 520.44 75.24V177.32C520.44 193.65 533.72 206.93 550.05 206.93H681.1C697.42 206.93 710.7 193.65 710.7 177.32ZM541.27 75.24C541.27 70.4 545.21 66.47 550.04 66.47H681.09C685.93 66.47 689.86 70.41 689.86 75.24V177.32C689.86 182.16 685.92 186.09 681.09 186.09H550.05C545.21 186.09 541.28 182.15 541.28 177.32V75.24H541.27Z" fill="#CE3935"></path><path d="M1823 177.32V75.24C1823 58.91 1809.72 45.63 1793.39 45.63H1662.34C1646.01 45.63 1632.73 58.91 1632.73 75.24V177.32C1632.73 193.65 1646.01 206.93 1662.34 206.93H1793.39C1809.72 206.93 1823 193.65 1823 177.32ZM1653.57 75.24C1653.57 70.4 1657.51 66.47 1662.34 66.47H1793.39C1798.23 66.47 1802.16 70.41 1802.16 75.24V177.32C1802.16 182.16 1798.22 186.09 1793.39 186.09H1662.34C1657.5 186.09 1653.57 182.15 1653.57 177.32V75.24Z" fill="#CE3935"></path><path d="M756.76 196.51V152H849.42C855.17 152 859.84 147.34 859.84 141.58C859.84 135.83 855.17 131.16 849.42 131.16H756.76V75.23C756.76 70.39 760.7 66.46 765.53 66.46H893.29C899.04 66.46 903.71 61.8 903.71 56.04C903.71 50.29 899.04 45.62 893.29 45.62H765.53C749.2 45.62 735.92 58.9 735.92 75.23V196.5C735.92 202.25 740.59 206.92 746.34 206.92C752.09 206.93 756.76 202.27 756.76 196.51Z" fill="#CE3935"></path><path d="M933.86 66.47H1006.51V194.32C1006.51 200.07 1011.18 204.74 1016.93 204.74C1022.68 204.74 1027.35 200.07 1027.35 194.32V66.47H1100C1105.75 66.47 1110.42 61.81 1110.42 56.05C1110.42 50.3 1105.76 45.63 1100 45.63H933.86C928.11 45.63 923.44 50.29 923.44 56.05C923.45 61.81 928.11 66.47 933.86 66.47Z" fill="#CE3935"></path><path d="M1218.44 204.19C1224.19 204.19 1228.86 199.53 1228.86 193.77V152H1368.13C1384.46 152 1397.74 138.72 1397.74 122.39V75.24C1397.74 58.91 1384.46 45.63 1368.13 45.63H1237.63C1221.3 45.63 1208.02 58.91 1208.02 75.24V193.77C1208.02 199.53 1212.68 204.19 1218.44 204.19ZM1237.63 66.47H1368.13C1372.97 66.47 1376.9 70.41 1376.9 75.24V122.39C1376.9 127.23 1372.96 131.16 1368.13 131.16H1228.86V75.23C1228.86 70.41 1232.79 66.47 1237.63 66.47Z" fill="#CE3935"></path><path d="M1430.64 204.19C1436.39 204.19 1441.06 199.53 1441.06 193.77V152H1523.95C1524.57 153.18 1525.42 154.26 1526.51 155.17L1581.89 201.23C1583.83 202.85 1586.2 203.64 1588.55 203.64C1591.54 203.64 1594.5 202.36 1596.57 199.88C1600.25 195.46 1599.64 188.89 1595.22 185.21L1555.29 152H1580.33C1596.66 152 1609.94 138.72 1609.94 122.39V75.24C1609.94 58.91 1596.66 45.63 1580.33 45.63H1449.83C1433.5 45.63 1420.22 58.91 1420.22 75.24V193.77C1420.22 199.53 1424.88 204.19 1430.64 204.19ZM1449.83 66.47H1580.33C1585.17 66.47 1589.1 70.41 1589.1 75.24V122.39C1589.1 127.23 1585.17 131.16 1580.33 131.16H1441.06V75.23C1441.05 70.41 1444.99 66.47 1449.83 66.47Z" fill="#CE3935"></path>', 10)
34
- ]));
35
- }
36
- const ce = /* @__PURE__ */ w(le, [["render", ie]]), ue = {
37
- components: { IconChevronDown: te },
38
- props: { route: Object },
39
- mounted() {
40
- var o, e, n;
41
- (o = this.route) != null && o.menu && (n = (e = this.route) == null ? void 0 : e.menu) != null && n.some(
42
- (a) => {
43
- var l, i;
44
- return (a == null ? void 0 : a.path) === this.$route.path.replace("/", "") || ((i = (l = this.$route) == null ? void 0 : l.params) == null ? void 0 : i.table) === (a == null ? void 0 : a.table) && (a == null ? void 0 : a.table);
45
- }
46
- ) && (this.isOpen = !0);
47
- },
48
- data() {
49
- return {
50
- isOpen: !1
51
- };
52
- }
53
- }, de = {
54
- key: 0,
55
- class: ""
56
- }, pe = { class: "ml-[30px] py-[6px] before:block before:absolute relative w-[196px] flex flex-col gap-[6px] inline-block before:w-[2px] before:h-[100%] before:bg-gray-100 before:left-[-14px] cursor-pointer" }, fe = { key: 1 };
57
- function he(o, e, n, a, l, i) {
58
- var g, C, x, _, m, y, u, p, $, k, I, z, j;
59
- const b = v("IconChevronDown"), f = v("router-link");
60
- return (g = n.route) != null && g.menu ? (s(), r("div", de, [
61
- t("button", {
62
- onClick: e[0] || (e[0] = (h) => l.isOpen = !l.isOpen),
63
- class: E(["flex cursor-pointer gap-x-3 py-2 px-3 text-sm text-gray-800 justify-start w-full border-none focus:outline-none text-left rounded-lg items-center hover:bg-gray-100 duration-300", [
64
- ((x = (C = n.route) == null ? void 0 : C.menu) == null ? void 0 : x.some(
65
- (h) => {
66
- var d, Z;
67
- return (h == null ? void 0 : h.path) === o.$route.path.replace("/", "") || (h == null ? void 0 : h.table) === ((Z = (d = o.$route) == null ? void 0 : d.params) == null ? void 0 : Z.table) && (h == null ? void 0 : h.table);
68
- }
69
- )) && "bg-gray-100"
70
- ]])
71
- }, [
72
- L(V((_ = n.route) == null ? void 0 : _.ua) + " ", 1),
73
- c(b, {
74
- class: E([[l.isOpen && "-rotate-180"], "ml-auto duration-300"]),
75
- width: "14",
76
- height: "14"
77
- }, null, 8, ["class"])
78
- ], 2),
79
- c(T, { name: "fade" }, {
80
- default: M(() => {
81
- var h;
82
- return [
83
- G(t("ul", pe, [
84
- (s(!0), r(N, null, S((h = n.route) == null ? void 0 : h.menu, (d, Z) => {
85
- var U, A;
86
- return s(), r("li", {
87
- key: Z,
88
- class: "w-full"
89
- }, [
90
- c(f, {
91
- to: "/" + (d == null ? void 0 : d.path),
92
- class: E([[
93
- ((d == null ? void 0 : d.path) === o.$route.path.replace("/", "") || ((A = (U = o.$route) == null ? void 0 : U.params) == null ? void 0 : A.table) === (d == null ? void 0 : d.table) && (d == null ? void 0 : d.table)) && "bg-gray-100"
94
- ], "flex gap-x-4 py-2 px-3 text-sm text-gray-800 rounded-lg hover:bg-gray-100 focus:outline-none focus:bg-gray-100"])
95
- }, {
96
- default: M(() => [
97
- L(V(d == null ? void 0 : d.ua), 1)
98
- ]),
99
- _: 2
100
- }, 1032, ["to", "class"])
101
- ]);
102
- }), 128))
103
- ], 512), [
104
- [J, l.isOpen]
105
- ])
106
- ];
107
- }),
108
- _: 1
109
- })
110
- ])) : (s(), r("div", fe, [
111
- c(f, {
112
- to: ((y = (m = n.route) == null ? void 0 : m.path) == null ? void 0 : y[0]) === "/" ? (u = n.route) == null ? void 0 : u.path : "/" + ((p = n.route) == null ? void 0 : p.path),
113
- class: E([[
114
- ((($ = n.route) == null ? void 0 : $.path.replace("/", "")) === o.$route.path.replace("/", "") || ((I = (k = o.$route) == null ? void 0 : k.params) == null ? void 0 : I.table) === ((z = n.route) == null ? void 0 : z.table) && ((j = n.route) == null ? void 0 : j.table)) && "bg-gray-100"
115
- ], "flex gap-x-3 py-2 w-full font-[400] px-3 text-sm text-gray-800 rounded-lg items-center hover:bg-gray-100 duration-300 hover:text-gray-800"])
116
- }, {
117
- default: M(() => {
118
- var h;
119
- return [
120
- L(V((h = n.route) == null ? void 0 : h.ua), 1)
121
- ];
122
- }),
123
- _: 1
124
- }, 8, ["to", "class"])
125
- ]));
126
- }
127
- const ge = /* @__PURE__ */ w(ue, [["render", he]]), xe = {
128
- components: { IconLogout: re, NavbarItem: ge, IconLogo: ce, IconSearch: Q },
129
- data() {
130
- return {
131
- activeIndex: null,
132
- searchValue: ""
133
- };
134
- },
135
- computed: {
136
- data() {
137
- var o, e;
138
- return (o = this.searchValue) != null && o.trim() ? (e = this.flattenMenu(B.value)) == null ? void 0 : e.filter(
139
- (n) => {
140
- var a, l, i;
141
- return (i = (a = n == null ? void 0 : n.ua) == null ? void 0 : a.toLowerCase()) == null ? void 0 : i.includes((l = this.searchValue) == null ? void 0 : l.toLowerCase());
142
- }
143
- ) : B.value;
144
- },
145
- logo() {
146
- var o;
147
- return ((o = F.value) == null ? void 0 : o.logo) || "/assets/logo.svg";
148
- }
149
- },
150
- methods: {
151
- flattenMenu(o) {
152
- const e = [];
153
- return o.forEach((n) => {
154
- n.menu ? e.push(...this.flattenMenu(n.menu)) : e.push(n);
155
- }), e;
156
- }
157
- }
158
- }, be = { class: "flex flex-col h-[100vh] border-r w-[260px] shrink-0" }, _e = ["src"], ve = { class: "relative" }, Ce = { class: "p-[16px] overflow-y-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300 dark:[&::-webkit-scrollbar-track]:bg-neutral-700 dark:[&::-webkit-scrollbar-thumb]:bg-neutral-500" }, we = { class: "flex flex-col flex-wrap w-full pb-3" }, me = {
159
- key: 0,
160
- class: "flex flex-col gap-[6px]"
161
- }, ye = {
162
- key: 1,
163
- class: "text-gray-800 text-lg mt-[20px]"
164
- };
165
- function ke(o, e, n, a, l, i) {
166
- var C;
167
- const b = v("IconSearch"), f = v("VsText"), g = v("NavbarItem");
168
- return s(), r("div", be, [
169
- t("img", {
170
- src: i.logo,
171
- height: "40",
172
- width: "200",
173
- class: "my-[20px] ml-[20px]"
174
- }, null, 8, _e),
175
- t("div", ve, [
176
- c(b, {
177
- height: "16",
178
- width: "16",
179
- class: "absolute top-[12px] left-[30px] text-gray-500 z-[1]"
180
- }),
181
- c(f, {
182
- type: "text",
183
- modelValue: l.searchValue,
184
- "onUpdate:modelValue": e[0] || (e[0] = (x) => l.searchValue = x),
185
- clearable: !0,
186
- placeholder: "Пошук по меню",
187
- class: "[&>input]:h-[40px] [&>input]:block [&>input]:rounded-none [&>input]:border-x-0 [&>input]:pl-[60px] [&>input:focus]:outline-none [&>input:focus]:focus:ring-0 [&>input:focus]:border-y-gray-200 [&>input:focus]:border-y-1 [&>input:focus]:border-x-0"
188
- }, null, 8, ["modelValue"])
189
- ]),
190
- t("div", Ce, [
191
- t("nav", we, [
192
- (C = i.data) != null && C.length ? (s(), r("ul", me, [
193
- (s(!0), r(N, null, S(i.data, (x, _) => (s(), r("li", {
194
- key: _,
195
- class: "flex flex-col gap-[6px]"
196
- }, [
197
- c(g, { route: x }, null, 8, ["route"])
198
- ]))), 128))
199
- ])) : (s(), r("div", ye, "Не знайдено"))
200
- ])
201
- ])
202
- ]);
203
- }
204
- const $e = /* @__PURE__ */ w(xe, [["render", ke]]), Ve = {}, Me = {
205
- class: "shrink-0",
206
- xmlns: "http://www.w3.org/2000/svg",
207
- width: "24",
208
- height: "24",
209
- viewBox: "0 0 24 24",
210
- fill: "none",
211
- stroke: "currentColor",
212
- "stroke-width": "2",
213
- "stroke-linecap": "round",
214
- "stroke-linejoin": "round"
215
- };
216
- function He(o, e) {
217
- return s(), r("svg", Me, e[0] || (e[0] = [
218
- t("path", { d: "M18 6 7 17l-5-5" }, null, -1),
219
- t("path", { d: "m22 10-7.5 7.5L13 16" }, null, -1)
220
- ]));
221
- }
222
- const Le = /* @__PURE__ */ w(Ve, [["render", He]]), Ie = {}, ze = {
223
- xmlns: "http://www.w3.org/2000/svg",
224
- width: "24",
225
- height: "24",
226
- viewBox: "0 0 24 24",
227
- fill: "currentColor",
228
- class: "icon icon-tabler icons-tabler-filled icon-tabler-user"
229
- };
230
- function je(o, e, n, a, l, i) {
231
- return s(), r("svg", ze, e[0] || (e[0] = [
232
- t("path", {
233
- stroke: "none",
234
- d: "M0 0h24v24H0z",
235
- fill: "none"
236
- }, null, -1),
237
- t("path", { d: "M12 2a5 5 0 1 1 -5 5l.005 -.217a5 5 0 0 1 4.995 -4.783z" }, null, -1),
238
- t("path", { d: "M14 14a5 5 0 0 1 5 5v1a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-1a5 5 0 0 1 5 -5h4z" }, null, -1)
239
- ]));
240
- }
241
- const P = /* @__PURE__ */ w(Ie, [["render", je]]), Ee = {}, De = {
242
- class: "shrink-0 size-4",
243
- xmlns: "http://www.w3.org/2000/svg",
244
- width: "24",
245
- height: "24",
246
- viewBox: "0 0 24 24",
247
- fill: "none",
248
- stroke: "currentColor",
249
- "stroke-width": "2",
250
- "stroke-linecap": "round",
251
- "stroke-linejoin": "round"
252
- };
253
- function Oe(o, e) {
254
- return s(), r("svg", De, e[0] || (e[0] = [
255
- t("polyline", { points: "9 11 12 14 22 4" }, null, -1),
256
- t("path", { d: "M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11" }, null, -1)
257
- ]));
258
- }
259
- const Ze = /* @__PURE__ */ w(Ee, [["render", Oe]]), Ne = { class: "relative shrink-0" }, Be = ["src"], Se = {
260
- key: 1,
261
- class: "h-[38px] w-[38px] bg-gray-200 rounded-full flex items-center justify-center"
262
- }, Ue = {
263
- key: 2,
264
- class: "absolute top-4 -start-3 size-2 bg-blue-600 rounded-full dark:bg-blue-500"
265
- }, Ae = { class: "grow" }, Te = { class: "text-xs text-gray-500 dark:text-neutral-500" }, Pe = { class: "block text-sm font-medium text-gray-800 dark:text-neutral-300" }, Qe = { class: "text-sm text-gray-500 dark:text-neutral-500" }, Fe = {
266
- key: 0,
267
- class: "sm:group-hover:opacity-100 sm:opacity-0 sm:absolute sm:top-5 sm:end-5 inline-block p-0.5 bg-white border border-gray-200 rounded-lg shadow-sm transition ease-out"
268
- }, Re = {
269
- __name: "admin-notification-item",
270
- props: { item: Object },
271
- emits: ["update-notification"],
272
- setup(o, { emit: e }) {
273
- const n = e, a = D(!1), l = () => a.value = !0, i = () => a.value = !1, b = async () => {
274
- var f;
275
- try {
276
- await O.get(`/api/notification-read/${(f = o.item) == null ? void 0 : f.id}`), await n("update-notification");
277
- } catch {
278
- }
279
- };
280
- return (f, g) => {
281
- var x, _, m, y, u, p;
282
- const C = v("VsPopover");
283
- return s(), r("li", {
284
- class: E(["relative group w-full flex gap-x-5 text-start p-5 border-b", [(x = o.item) != null && x.read ? "bg-gray-100" : "bg-white"]]),
285
- onMouseenter: l,
286
- onMouseleave: i
287
- }, [
288
- t("div", Ne, [
289
- (_ = o.item) != null && _.avatar ? (s(), r("img", {
290
- key: 0,
291
- class: "shrink-0 size-[38px] rounded-full",
292
- src: (m = o.item) == null ? void 0 : m.avatar,
293
- alt: "Avatar"
294
- }, null, 8, Be)) : (s(), r("div", Se, [
295
- c(P)
296
- ])),
297
- (y = o.item) != null && y.read ? (s(), r("span", Ue)) : H("", !0)
298
- ]),
299
- t("div", Ae, [
300
- t("p", Te, [
301
- c(R, {
302
- name: "cdate",
303
- data: o.item
304
- }, null, 8, ["data"])
305
- ]),
306
- t("span", Pe, V((u = o.item) == null ? void 0 : u.author), 1),
307
- t("p", Qe, V((p = o.item) == null ? void 0 : p.subject), 1)
308
- ]),
309
- a.value ? (s(), r("div", Fe, [
310
- c(C, {
311
- trigger: "hover",
312
- placement: "left"
313
- }, {
314
- reference: M(() => [
315
- t("button", {
316
- onClick: b,
317
- type: "button",
318
- class: "hs-tooltip-toggle hs-tooltip relative inline-block size-7 flex shrink-0 justify-center items-center text-gray-500 hover:bg-gray-100 hover:text-gray-800 rounded"
319
- }, [
320
- c(Ze)
321
- ])
322
- ]),
323
- default: M(() => [
324
- g[0] || (g[0] = L(" Прочитати "))
325
- ]),
326
- _: 1
327
- })
328
- ])) : H("", !0)
329
- ], 34);
330
- };
331
- }
332
- }, qe = {}, Ge = {
333
- class: "flex-shrink-0 size-4",
334
- xmlns: "http://www.w3.org/2000/svg",
335
- viewBox: "0 0 24 24",
336
- fill: "none",
337
- stroke: "currentColor",
338
- "stroke-width": "2",
339
- "stroke-linecap": "round",
340
- "stroke-linejoin": "round"
341
- };
342
- function Je(o, e, n, a, l, i) {
343
- return s(), r("svg", Ge, e[0] || (e[0] = [
344
- t("path", { d: "M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9" }, null, -1),
345
- t("path", { d: "M10.3 21a1.94 1.94 0 0 0 3.4 0" }, null, -1)
346
- ]));
347
- }
348
- const Ke = /* @__PURE__ */ w(qe, [["render", Je]]), We = {}, Xe = {
349
- class: "shrink-0 size-4",
350
- xmlns: "http://www.w3.org/2000/svg",
351
- width: "24",
352
- height: "24",
353
- viewBox: "0 0 24 24",
354
- fill: "none",
355
- stroke: "currentColor",
356
- "stroke-width": "2",
357
- "stroke-linecap": "round",
358
- "stroke-linejoin": "round"
359
- };
360
- function Ye(o, e) {
361
- return s(), r("svg", Xe, e[0] || (e[0] = [
362
- t("path", { d: "M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" }, null, -1),
363
- t("circle", {
364
- cx: "12",
365
- cy: "12",
366
- r: "3"
367
- }, null, -1)
368
- ]));
369
- }
370
- const et = /* @__PURE__ */ w(We, [["render", Ye]]), tt = {
371
- key: 0,
372
- class: "flex absolute top-0 end-0 -mt-1.5 -me-1.5"
373
- }, ot = { class: "relative min-w-[18px] min-h-[18px] inline-flex justify-center items-center text-[10px] bg-red-500 text-white rounded-full px-1" }, nt = {
374
- key: 0,
375
- class: "w-96 h-[100px] z-[11] absolute top-[40px] right-0"
376
- }, st = { class: "h-[50px] px-[20px] border-b w-full flex items-center justify-between rounded-t-lg bg-white shadow-[0_10px_40px_10px_rgba(0,0,0,0.08)]" }, rt = { class: "h-[30px] w-[30px] inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100" }, lt = { class: "max-h-[400px] bg-white overflow-auto [&::-webkit-scrollbar]:w-2 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-track]:bg-gray-100 [&::-webkit-scrollbar-thumb]:bg-gray-300" }, at = { key: 0 }, it = {
377
- __name: "admin-notification",
378
- setup(o) {
379
- var C, x, _, m, y;
380
- const e = D(0), n = D([]), a = D(!1), l = D(null), i = (y = (m = (_ = (x = (C = K()) == null ? void 0 : C.appContext) == null ? void 0 : x.app) == null ? void 0 : _.config) == null ? void 0 : m.globalProperties) == null ? void 0 : y.$notify, b = (u) => {
381
- l.value && !l.value.contains(u.target) && (a.value = !1);
382
- };
383
- W(a, (u) => {
384
- u ? window.addEventListener("click", b) : window.removeEventListener("click", b);
385
- }), X(() => {
386
- window.removeEventListener("click", b);
387
- });
388
- const f = async () => {
389
- try {
390
- const { data: u } = await O.get("/api/notification");
391
- n.value = (u == null ? void 0 : u.rows) || [];
392
- } catch {
393
- i({
394
- type: "error",
395
- message: "При спробі завантаження нотифікацій виникла помилка",
396
- title: "Помилка!"
397
- });
398
- }
399
- };
400
- f();
401
- const g = async () => {
402
- try {
403
- await O.get("/api/notification-read"), await f();
404
- } catch {
405
- i({
406
- type: "error",
407
- message: "Виникла помилка",
408
- title: "Помилка!"
409
- });
410
- }
411
- };
412
- return (u, p) => (s(), r("div", {
413
- ref_key: "notificationRef",
414
- ref: l,
415
- class: "hs-tooltip [--placement:bottom] inline-block show relative"
416
- }, [
417
- t("button", {
418
- onClick: p[0] || (p[0] = ($) => a.value = !a.value),
419
- class: "hs-tooltip-toggle relative size-[38px] inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100"
420
- }, [
421
- c(Ke, {
422
- height: "24",
423
- width: "24"
424
- }),
425
- e.value ? (s(), r("span", tt, [
426
- p[1] || (p[1] = t("span", { class: "absolute inline-flex bg-red-400 rounded-full opacity-75 animate-ping size-full dark:bg-red-600" }, null, -1)),
427
- t("span", ot, V(e.value), 1)
428
- ])) : H("", !0)
429
- ]),
430
- c(T, null, {
431
- default: M(() => {
432
- var $;
433
- return [
434
- a.value ? (s(), r("div", nt, [
435
- t("div", st, [
436
- p[2] || (p[2] = t("nav", { class: "flex" }, [
437
- t("button", {
438
- type: "button",
439
- class: "px-2 py-1.5 relative inline-flex justify-center items-center gap-x-2 text-nowrap hover:bg-gray-100 text-gray-500 hover:text-gray-800 text-sm rounded-lg focus:outline-none focus:bg-gray-100 after:absolute after:bottom-[-9px] after:left-2.5 after:right-2.5 after:z-10 after:h-0.5 after:bg-gray-800"
440
- }, " Всі ")
441
- ], -1)),
442
- t("button", rt, [
443
- c(et)
444
- ])
445
- ]),
446
- t("div", lt, [
447
- ($ = n.value) != null && $.length ? (s(), r("ul", at, [
448
- (s(!0), r(N, null, S(n.value, (k) => (s(), Y(Re, {
449
- key: k == null ? void 0 : k.id,
450
- item: k,
451
- onUpdateNotification: f
452
- }, null, 8, ["item"]))), 128))
453
- ])) : H("", !0)
454
- ]),
455
- t("button", {
456
- onClick: g,
457
- class: "h-[50px] border-t w-full rounded-b-lg bg-white shadow p-4 flex justify-center items-center gap-x-2 text-sm text-gray-500 font-medium sm:rounded-b-lg hover:text-blue-600 focus:outline-none"
458
- }, [
459
- c(Le, {
460
- height: "16",
461
- width: "16"
462
- }),
463
- p[3] || (p[3] = L(" Прочитати усі "))
464
- ])
465
- ])) : H("", !0)
466
- ];
467
- }),
468
- _: 1
469
- })
470
- ], 512));
471
- }
472
- }, ct = {}, ut = {
473
- class: "flex-shrink-0 size-4",
474
- xmlns: "http://www.w3.org/2000/svg",
475
- viewBox: "0 0 24 24",
476
- fill: "none",
477
- stroke: "currentColor",
478
- "stroke-width": "2",
479
- "stroke-linecap": "round",
480
- "stroke-linejoin": "round"
481
- };
482
- function dt(o, e, n, a, l, i) {
483
- return s(), r("svg", ut, e[0] || (e[0] = [
484
- t("circle", {
485
- cx: "12",
486
- cy: "12",
487
- r: "10"
488
- }, null, -1),
489
- t("path", { d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" }, null, -1),
490
- t("path", { d: "M12 17h.01" }, null, -1)
491
- ]));
492
- }
493
- const pt = /* @__PURE__ */ w(ct, [["render", dt]]), ft = {
494
- components: { IconQuestion: pt, IconUser: P, AdminNotification: it },
495
- mounted() {
496
- this.getUserData();
497
- },
498
- data() {
499
- return {
500
- userData: null,
501
- isVisible: !1
502
- };
503
- },
504
- watch: {
505
- isVisible(o) {
506
- o ? setTimeout(
507
- () => window.addEventListener("click", this.closeOnOutsideClick),
508
- 0
509
- ) : window.removeEventListener("click", this.closeOnOutsideClick);
510
- }
511
- },
512
- methods: {
513
- async getUserData() {
514
- try {
515
- const { data: o } = await O.get("/user");
516
- this.userData = o;
517
- } catch {
518
- }
519
- },
520
- async logout() {
521
- try {
522
- await O.get("/logout"), await window.history.pushState({}, "", "/login"), await location.reload(), localStorage.removeItem("user");
523
- } catch {
524
- }
525
- },
526
- closeOnOutsideClick() {
527
- this.isVisible = !1;
528
- }
529
- },
530
- beforeUnmount() {
531
- window.removeEventListener("click", this.closeOnOutsideClick);
532
- }
533
- }, ht = {
534
- class: "h-[60px] border-b flex justify-end px-[20px]",
535
- style: { width: "calc(100vw - 260px)" }
536
- }, gt = { class: "flex items-center gap-[6px]" }, xt = {
537
- href: "docs-softpro.com",
538
- class: "size-[38px] inline-flex justify-center items-center gap-x-2 rounded-full border border-transparent text-gray-500 hover:bg-gray-100 disabled:opacity-50 disabled:pointer-events-none focus:outline-none focus:bg-gray-100 dark:text-neutral-400 dark:hover:bg-neutral-700 dark:focus:bg-neutral-700"
539
- }, bt = { class: "relative" }, _t = ["src"], vt = {
540
- key: 1,
541
- class: "size-[40px] rounded-full bg-gray-200 flex items-center justify-center"
542
- }, Ct = { class: "p-[10px] gap-[6px] items-center border-b flex justify-between" }, wt = ["src"], mt = {
543
- key: 1,
544
- class: "size-[40px] rounded-full bg-gray-200 flex items-center justify-center"
545
- }, yt = { class: "text-[14px] mr-[10px] text-gray-500" }, kt = { class: "flex flex-col p-[4px]" };
546
- function $t(o, e, n, a, l, i) {
547
- var x, _, m, y, u, p, $, k, I, z;
548
- const b = v("IconQuestion"), f = v("AdminNotification"), g = v("IconUser"), C = v("router-link");
549
- return s(), r("div", ht, [
550
- t("div", gt, [
551
- t("a", xt, [
552
- c(b, {
553
- height: "24",
554
- width: "24"
555
- })
556
- ]),
557
- c(f),
558
- e[4] || (e[4] = t("div", { class: "h-[30px] w-[1px] bg-gray-200 ml-[10px] mr-[10px]" }, null, -1)),
559
- t("div", bt, [
560
- t("div", {
561
- onClick: e[0] || (e[0] = (j) => l.isVisible = !0),
562
- class: "cursor-pointer"
563
- }, [
564
- (_ = (x = l.userData) == null ? void 0 : x.user) != null && _.avatar ? (s(), r("img", {
565
- key: 0,
566
- class: "flex-shrink-0 size-[30px] rounded-full",
567
- src: (y = (m = l.userData) == null ? void 0 : m.user) == null ? void 0 : y.avatar,
568
- alt: "Image Description"
569
- }, null, 8, _t)) : (s(), r("div", vt, [
570
- c(g)
571
- ]))
572
- ]),
573
- l.isVisible ? (s(), r("div", {
574
- key: 0,
575
- onClick: e[2] || (e[2] = ee(() => {
576
- }, ["stop"])),
577
- class: "fixed bg-white w-[180px] top-[55px] right-[20px] shadow-xl rounded-xl z-[1]"
578
- }, [
579
- t("div", Ct, [
580
- (p = (u = l.userData) == null ? void 0 : u.user) != null && p.avatar ? (s(), r("img", {
581
- key: 0,
582
- class: "flex-shrink-0 size-[30px] rounded-full",
583
- src: (k = ($ = l.userData) == null ? void 0 : $.user) == null ? void 0 : k.avatar,
584
- alt: "Image Description"
585
- }, null, 8, wt)) : (s(), r("div", mt, [
586
- c(g)
587
- ])),
588
- t("div", null, [
589
- t("p", yt, V((z = (I = l.userData) == null ? void 0 : I.user) == null ? void 0 : z.username), 1)
590
- ])
591
- ]),
592
- t("div", kt, [
593
- c(C, {
594
- to: "profile",
595
- disabled: !0,
596
- class: "p-[8px] block rounded-lg w-full mb-[4px] text-start hover:bg-gray-100 !duration-300"
597
- }, {
598
- default: M(() => e[3] || (e[3] = [
599
- L("Профіль")
600
- ])),
601
- _: 1
602
- }),
603
- t("button", {
604
- onClick: e[1] || (e[1] = (...j) => i.logout && i.logout(...j)),
605
- class: "p-[8px] block rounded-lg w-full text-start hover:bg-gray-100 !duration-300"
606
- }, " Вийти ")
607
- ])
608
- ])) : H("", !0)
609
- ])
610
- ])
611
- ]);
612
- }
613
- const Vt = /* @__PURE__ */ w(ft, [["render", $t]]), Mt = {
614
- components: { navbar: $e, AdminHeader: Vt },
615
- computed: {
616
- isMenu() {
617
- return B.value || null;
618
- }
619
- }
620
- }, Ht = { class: "admin-wrapper" }, Lt = { class: "flex flex-col" };
621
- function It(o, e, n, a, l, i) {
622
- const b = v("navbar"), f = v("admin-header"), g = v("router-view");
623
- return s(), r("div", Ht, [
624
- c(b),
625
- t("div", Lt, [
626
- i.isMenu ? (s(), r(N, { key: 0 }, [
627
- c(f),
628
- c(g)
629
- ], 64)) : H("", !0)
630
- ])
631
- ]);
632
- }
633
- const Dt = /* @__PURE__ */ w(Mt, [["render", It], ["__scopeId", "data-v-36fd7ac9"]]);
634
- export {
635
- Dt as default
636
- };