vue-layout-gitcode 1.3.38 → 1.3.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -9,7 +9,7 @@ import "vue-devui-lal/tooltip/style.css";
9
9
  import "vue-devui-lal/textarea/style.css";
10
10
  import { Icon } from "vue-devui-lal/icon";
11
11
  import "vue-devui-lal/icon/style.css";
12
- import { useRouter, useRoute, createRouter, createWebHistory } from "vue-router";
12
+ import { useRoute, useRouter, createRouter, createWebHistory, createMemoryHistory } from "vue-router";
13
13
  import { useLocalStorage, useWindowSize, useEventListener, useElementSize, useStorage, useDebounceFn } from "@vueuse/core";
14
14
  import { Avatar } from "vue-devui-lal/avatar";
15
15
  import "vue-devui-lal/avatar/style.css";
@@ -450,13 +450,6 @@ var CLICK_TIME_MODULE = /* @__PURE__ */ ((CLICK_TIME_MODULE2) => {
450
450
  CLICK_TIME_MODULE2["GROWTH_CENTER"] = "growthCenter";
451
451
  return CLICK_TIME_MODULE2;
452
452
  })(CLICK_TIME_MODULE || {});
453
- var RepoType = /* @__PURE__ */ ((RepoType2) => {
454
- RepoType2["repo"] = "0";
455
- RepoType2["model"] = "1";
456
- RepoType2["dataset"] = "2";
457
- RepoType2["spaces"] = "3";
458
- return RepoType2;
459
- })(RepoType || {});
460
453
  const OSS_IMAGES = {
461
454
  gstar: "/static/images/homeweb/gstar-tag-twinkle.gif",
462
455
  trusted: "/static/images/homeweb/trusted-tag.png",
@@ -1922,7 +1915,7 @@ const DOT = ".";
1922
1915
  const LITERAL_DELIMITER = "'";
1923
1916
  const ERROR_DOMAIN$3 = "tokenizer";
1924
1917
  function createTokenizer(source, options = {}) {
1925
- const location = options.location !== false;
1918
+ const location2 = options.location !== false;
1926
1919
  const _scnr = createScanner(source);
1927
1920
  const currentOffset = () => _scnr.index();
1928
1921
  const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());
@@ -1948,7 +1941,7 @@ function createTokenizer(source, options = {}) {
1948
1941
  pos.column += offset;
1949
1942
  pos.offset += offset;
1950
1943
  if (onError) {
1951
- const loc = location ? createLocation(ctx.startLoc, pos) : null;
1944
+ const loc = location2 ? createLocation(ctx.startLoc, pos) : null;
1952
1945
  const err = createCompileError(code2, loc, {
1953
1946
  domain: ERROR_DOMAIN$3,
1954
1947
  args
@@ -1960,7 +1953,7 @@ function createTokenizer(source, options = {}) {
1960
1953
  context2.endLoc = currentPosition();
1961
1954
  context2.currentType = type;
1962
1955
  const token = { type };
1963
- if (location) {
1956
+ if (location2) {
1964
1957
  token.loc = createLocation(context2.startLoc, context2.endLoc);
1965
1958
  }
1966
1959
  if (value != null) {
@@ -2603,14 +2596,14 @@ function fromEscapeSequence(match, codePoint4, codePoint6) {
2603
2596
  }
2604
2597
  }
2605
2598
  function createParser(options = {}) {
2606
- const location = options.location !== false;
2599
+ const location2 = options.location !== false;
2607
2600
  const { onError, onWarn } = options;
2608
2601
  function emitError(tokenzer, code2, start, offset, ...args) {
2609
2602
  const end = tokenzer.currentPosition();
2610
2603
  end.offset += offset;
2611
2604
  end.column += offset;
2612
2605
  if (onError) {
2613
- const loc = location ? createLocation(start, end) : null;
2606
+ const loc = location2 ? createLocation(start, end) : null;
2614
2607
  const err = createCompileError(code2, loc, {
2615
2608
  domain: ERROR_DOMAIN$2,
2616
2609
  args
@@ -2623,13 +2616,13 @@ function createParser(options = {}) {
2623
2616
  end.offset += offset;
2624
2617
  end.column += offset;
2625
2618
  if (onWarn) {
2626
- const loc = location ? createLocation(start, end) : null;
2619
+ const loc = location2 ? createLocation(start, end) : null;
2627
2620
  onWarn(createCompileWarn(code2, loc, args));
2628
2621
  }
2629
2622
  }
2630
2623
  function startNode(type, offset, loc) {
2631
2624
  const node = { type };
2632
- if (location) {
2625
+ if (location2) {
2633
2626
  node.start = offset;
2634
2627
  node.end = offset;
2635
2628
  node.loc = { start: loc, end: loc };
@@ -2637,7 +2630,7 @@ function createParser(options = {}) {
2637
2630
  return node;
2638
2631
  }
2639
2632
  function endNode(node, offset, pos, type) {
2640
- if (location) {
2633
+ if (location2) {
2641
2634
  node.end = offset;
2642
2635
  if (node.loc) {
2643
2636
  node.loc.end = pos;
@@ -2860,7 +2853,7 @@ function createParser(options = {}) {
2860
2853
  const tokenizer = createTokenizer(source, assign({}, options));
2861
2854
  const context = tokenizer.context();
2862
2855
  const node = startNode(0, context.offset, context.startLoc);
2863
- if (location && node.loc) {
2856
+ if (location2 && node.loc) {
2864
2857
  node.loc.source = source;
2865
2858
  }
2866
2859
  node.body = parseResource(tokenizer);
@@ -3077,7 +3070,7 @@ function minify(node) {
3077
3070
  const ERROR_DOMAIN = "parser";
3078
3071
  function createCodeGenerator(ast, options) {
3079
3072
  const { filename, breakLineCode, needIndent: _needIndent } = options;
3080
- const location = options.location !== false;
3073
+ const location2 = options.location !== false;
3081
3074
  const _context = {
3082
3075
  filename,
3083
3076
  code: "",
@@ -3089,7 +3082,7 @@ function createCodeGenerator(ast, options) {
3089
3082
  needIndent: _needIndent,
3090
3083
  indentLevel: 0
3091
3084
  };
3092
- if (location && ast.loc) {
3085
+ if (location2 && ast.loc) {
3093
3086
  _context.source = ast.loc.source;
3094
3087
  }
3095
3088
  const context = () => _context;
@@ -10896,12 +10889,12 @@ const _hoisted_3$h = {
10896
10889
  class: "tooltip-sign"
10897
10890
  };
10898
10891
  const _hoisted_4$e = { class: "home-nav-tooltip-wrapper" };
10899
- const _hoisted_5$b = { class: "home-nav-text" };
10892
+ const _hoisted_5$a = { class: "home-nav-text" };
10900
10893
  const _hoisted_6$8 = {
10901
10894
  key: 1,
10902
10895
  class: "tools-list"
10903
10896
  };
10904
- const _hoisted_7$7 = { class: "home-nav-tooltip-wrapper" };
10897
+ const _hoisted_7$6 = { class: "home-nav-tooltip-wrapper" };
10905
10898
  const _hoisted_8$6 = { class: "home-nav-text" };
10906
10899
  const _hoisted_9$5 = { class: "text-[var(--theme-placeholder)] text-[10px]" };
10907
10900
  const _hoisted_10$4 = { class: "qrcode-wrapper" };
@@ -11112,7 +11105,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11112
11105
  }, {
11113
11106
  content: withCtx(() => [
11114
11107
  createElementVNode("div", _hoisted_4$e, [
11115
- createElementVNode("div", _hoisted_5$b, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11108
+ createElementVNode("div", _hoisted_5$a, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11116
11109
  ])
11117
11110
  ]),
11118
11111
  default: withCtx(() => [
@@ -11138,7 +11131,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11138
11131
  "overlay-class": "tools-tag-tooltip"
11139
11132
  }, {
11140
11133
  content: withCtx(() => [
11141
- createElementVNode("div", _hoisted_7$7, [
11134
+ createElementVNode("div", _hoisted_7$6, [
11142
11135
  createElementVNode("div", _hoisted_8$6, [
11143
11136
  createElementVNode("p", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.userFeedback01")), 1),
11144
11137
  createElementVNode("p", _hoisted_9$5, toDisplayString$1(unref(t2)("gitCodeLayout.home.userFeedback02")), 1)
@@ -14432,58 +14425,84 @@ function headRequest(request) {
14432
14425
  };
14433
14426
  }
14434
14427
  const aiThemeMenuId = "ai-theme";
14435
- const _hoisted_1$s = { class: "ai-hub-menus" };
14436
- const _hoisted_2$j = ["href", "onMouseenter"];
14437
- const _hoisted_3$g = { class: "ai-hub-menus-item_label" };
14438
- const _hoisted_4$d = ["onMouseenter"];
14439
- const _hoisted_5$a = { class: "ai-hub-menus-themetablist" };
14440
- const _hoisted_6$7 = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14441
- const _hoisted_7$6 = { class: "flex items-center min-w-[90px] gap-[8px] font-semibold" };
14428
+ var RouteNameEnum = /* @__PURE__ */ ((RouteNameEnum2) => {
14429
+ RouteNameEnum2["HOME"] = "AiHubHome";
14430
+ RouteNameEnum2["AI_MODELS"] = "ai-models";
14431
+ RouteNameEnum2["AI_DATASETS"] = "ai-datasets";
14432
+ RouteNameEnum2["AI_ZONE"] = "ai-zone";
14433
+ RouteNameEnum2["AI_SPACE"] = "ai-space";
14434
+ RouteNameEnum2["AI_THEME_DETAIL"] = "ai-theme-detail";
14435
+ RouteNameEnum2["AI_INVITE"] = "ai-invite";
14436
+ RouteNameEnum2["RACE_DETAIL"] = "race-detail";
14437
+ RouteNameEnum2["AI_COMPETITION"] = "ai-competition";
14438
+ RouteNameEnum2["WORK_MANAGEMENT"] = "work-management";
14439
+ RouteNameEnum2["COMPETITION_RANKING"] = "ranking";
14440
+ RouteNameEnum2["AI_THEME"] = "theme";
14441
+ return RouteNameEnum2;
14442
+ })(RouteNameEnum || {});
14443
+ const _hoisted_1$s = ["href", "onMouseenter"];
14444
+ const _hoisted_2$j = { class: "ai-hub-menus-item_label" };
14445
+ const _hoisted_3$g = ["onMouseenter"];
14446
+ const _hoisted_4$d = { class: "ai-hub-menus-themetablist" };
14447
+ const _hoisted_5$9 = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14448
+ const _hoisted_6$7 = { class: "flex items-center min-w-[90px] gap-[8px] font-semibold" };
14442
14449
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
14443
14450
  __name: "AiHubMenus",
14451
+ props: ["scene"],
14444
14452
  setup(__props) {
14445
14453
  const layoutConfig2 = useLayoutConfig();
14454
+ const route = useRoute();
14455
+ const props = __props;
14446
14456
  const { t: t2 } = i18n.global;
14447
14457
  const API = headRequest(inject("request"));
14448
- const repoInfo = inject("repoInfo");
14449
14458
  const menus = [
14450
14459
  {
14451
14460
  label: t2("gitCodeLayout.aihub.model"),
14452
14461
  icon: "gt-model_default",
14453
14462
  activeIcon: "gt-model_red",
14463
+ whiteIcon: "gt-model_dark_bg",
14454
14464
  url: `${layoutConfig2.VITE_AI_HOST}/models`,
14455
- repoType: RepoType.model
14465
+ menueKey: RouteNameEnum.AI_MODELS
14456
14466
  },
14457
14467
  {
14458
14468
  label: t2("gitCodeLayout.aihub.dataSet"),
14459
14469
  icon: "gt-dataset_default",
14460
14470
  activeIcon: "gt-dataset_red",
14471
+ whiteIcon: "gt-dataset_dark_bg",
14461
14472
  url: `${layoutConfig2.VITE_AI_HOST}/datasets`,
14462
- repoType: RepoType.dataset
14473
+ menueKey: RouteNameEnum.AI_DATASETS
14463
14474
  },
14464
14475
  {
14465
14476
  label: "Spaces",
14466
14477
  icon: "gt-space_default",
14467
14478
  activeIcon: "gt-space_red",
14479
+ whiteIcon: "gt-space_dark_bg",
14468
14480
  url: `${layoutConfig2.VITE_AI_HOST}/space`,
14469
- repoType: RepoType.spaces
14481
+ menueKey: RouteNameEnum.AI_SPACE
14470
14482
  },
14471
14483
  {
14472
14484
  label: "专区",
14473
14485
  id: aiThemeMenuId,
14474
14486
  icon: "gt-a-Property1Default7",
14475
14487
  activeIcon: "gt-a-Property1red6",
14476
- url: `${layoutConfig2.VITE_AI_HOST}/theme`
14488
+ whiteIcon: "gt-a-Property1white",
14489
+ url: `${layoutConfig2.VITE_AI_HOST}/theme`,
14490
+ menueKey: RouteNameEnum.AI_THEME
14477
14491
  },
14478
14492
  {
14479
14493
  label: "大赛",
14480
14494
  icon: "gt-a-plane-GrowthCenter1",
14481
14495
  activeIcon: "gt-a-plane-GrowthCenter-1",
14482
- url: `${layoutConfig2.VITE_AI_HOST}/competition`
14496
+ whiteIcon: "gt-a-plane-GrowthCenter-2",
14497
+ url: `${layoutConfig2.VITE_AI_HOST}/competition`,
14498
+ menueKey: RouteNameEnum.AI_COMPETITION
14483
14499
  }
14484
14500
  ];
14485
14501
  const activeMenu = computed(() => {
14486
- return menus.find((item) => item.repoType === (repoInfo == null ? void 0 : repoInfo.repo_type)) || menus[0];
14502
+ return menus.find((item) => {
14503
+ var _a;
14504
+ return item.menueKey === (route == null ? void 0 : route.name) || item.menueKey === ((_a = route == null ? void 0 : route.meta) == null ? void 0 : _a.pType);
14505
+ }) || {};
14487
14506
  });
14488
14507
  const hoverMenu = ref(void 0);
14489
14508
  const themeTablist = ref([]);
@@ -14505,11 +14524,22 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14505
14524
  ...dataResult
14506
14525
  ];
14507
14526
  });
14527
+ const getActiveIcon = (menu) => {
14528
+ var _a, _b;
14529
+ return ((_a = activeMenu.value) == null ? void 0 : _a.url) === menu.url || ((_b = hoverMenu.value) == null ? void 0 : _b.url) === menu.url ? menu.activeIcon : props.scene === SceneValue.aiHome ? menu.whiteIcon : menu.icon;
14530
+ };
14531
+ const isActiveThemeItem = (itemUrl) => {
14532
+ if (typeof window === "undefined") return false;
14533
+ const currentUrl = window.location.href;
14534
+ return currentUrl === itemUrl;
14535
+ };
14508
14536
  return (_ctx, _cache) => {
14509
14537
  return openBlock(), createElementBlock("div", null, [
14510
- createElementVNode("div", _hoisted_1$s, [
14538
+ createElementVNode("div", {
14539
+ class: normalizeClass(["ai-hub-menus", { "home-menu": __props.scene === unref(SceneValue).aiHome }])
14540
+ }, [
14511
14541
  (openBlock(), createElementBlock(Fragment, null, renderList(menus, (menu, index2) => {
14512
- var _a, _b, _c;
14542
+ var _a;
14513
14543
  return openBlock(), createElementBlock(Fragment, { key: index2 }, [
14514
14544
  menu.id !== unref(aiThemeMenuId) ? (openBlock(), createElementBlock("a", {
14515
14545
  key: 0,
@@ -14520,22 +14550,22 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14520
14550
  }, [
14521
14551
  createVNode(GIcon, {
14522
14552
  size: "16px",
14523
- name: ((_b = activeMenu.value) == null ? void 0 : _b.url) === menu.url || ((_c = hoverMenu.value) == null ? void 0 : _c.url) === menu.url ? menu.activeIcon : menu.icon
14553
+ name: getActiveIcon(menu)
14524
14554
  }, null, 8, ["name"]),
14525
- createElementVNode("span", _hoisted_3$g, toDisplayString$1(menu.label), 1)
14526
- ], 42, _hoisted_2$j)) : (openBlock(), createBlock(unref(Dropdown), {
14555
+ createElementVNode("span", _hoisted_2$j, toDisplayString$1(menu.label), 1)
14556
+ ], 42, _hoisted_1$s)) : (openBlock(), createBlock(unref(Dropdown), {
14527
14557
  key: 1,
14528
14558
  trigger: "hover",
14529
14559
  "overlay-class": "theme-tablist",
14530
14560
  position: ["top-start"]
14531
14561
  }, {
14532
14562
  menu: withCtx(() => [
14533
- createElementVNode("ul", _hoisted_5$a, [
14563
+ createElementVNode("ul", _hoisted_4$d, [
14534
14564
  (openBlock(true), createElementBlock(Fragment, null, renderList(themeTablist.value, (item, index22) => {
14535
14565
  return openBlock(), createBlock(GLink, {
14536
14566
  key: index22,
14537
14567
  href: item.url,
14538
- class: "menuitems ellipsis block",
14568
+ class: normalizeClass(["menuitems ellipsis block", { "active-theme-item": isActiveThemeItem(item.url) }]),
14539
14569
  title: item.name
14540
14570
  }, {
14541
14571
  default: withCtx(() => [
@@ -14547,12 +14577,12 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14547
14577
  createElementVNode("span", null, toDisplayString$1(item.name), 1)
14548
14578
  ]),
14549
14579
  _: 2
14550
- }, 1032, ["href", "title"]);
14580
+ }, 1032, ["href", "class", "title"]);
14551
14581
  }), 128))
14552
14582
  ])
14553
14583
  ]),
14554
14584
  default: withCtx(() => {
14555
- var _a2, _b2;
14585
+ var _a2, _b;
14556
14586
  return [
14557
14587
  createElementVNode("div", {
14558
14588
  class: "ai-hub-menus-item flex items-center gap-[8px]",
@@ -14561,32 +14591,32 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14561
14591
  }, [
14562
14592
  createVNode(GIcon, {
14563
14593
  size: "16px",
14564
- name: ((_a2 = hoverMenu.value) == null ? void 0 : _a2.url) === (menu == null ? void 0 : menu.url) ? menu.activeIcon : menu.icon
14594
+ name: getActiveIcon(menu)
14565
14595
  }, null, 8, ["name"]),
14566
14596
  createElementVNode("span", {
14567
- class: normalizeClass(["ai-hub-menus-item_label hemin", { "theme-tablist-hoverColor": ((_b2 = hoverMenu.value) == null ? void 0 : _b2.url) === menu.url }])
14597
+ class: normalizeClass(["ai-hub-menus-item_label hemin", { "theme-tablist-hoverColor": ((_a2 = activeMenu.value) == null ? void 0 : _a2.url) === menu.url || ((_b = hoverMenu.value) == null ? void 0 : _b.url) === menu.url }])
14568
14598
  }, toDisplayString$1(menu.label), 3)
14569
- ], 40, _hoisted_4$d)
14599
+ ], 40, _hoisted_3$g)
14570
14600
  ];
14571
14601
  }),
14572
14602
  _: 2
14573
14603
  }, 1024))
14574
14604
  ], 64);
14575
14605
  }), 64))
14576
- ]),
14606
+ ], 2),
14577
14607
  createVNode(GLink, {
14578
14608
  class: "flex items-center gap-[12px] md:hidden",
14579
14609
  href: activeMenu.value.url
14580
14610
  }, {
14581
14611
  default: withCtx(() => [
14582
- createElementVNode("div", _hoisted_6$7, [
14612
+ createElementVNode("div", _hoisted_5$9, [
14583
14613
  createVNode(GIcon, {
14584
14614
  size: "18px",
14585
14615
  name: "gt-line-down",
14586
14616
  rotate: "90deg"
14587
14617
  })
14588
14618
  ]),
14589
- createElementVNode("span", _hoisted_7$6, [
14619
+ createElementVNode("span", _hoisted_6$7, [
14590
14620
  createVNode(GIcon, {
14591
14621
  size: "24px",
14592
14622
  name: activeMenu.value.icon
@@ -16422,7 +16452,7 @@ const _hoisted_2$i = {
16422
16452
  };
16423
16453
  const _hoisted_3$f = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16424
16454
  const _hoisted_4$c = { class: "text-xs" };
16425
- const _hoisted_5$9 = { class: "flex items-center w-full" };
16455
+ const _hoisted_5$8 = { class: "flex items-center w-full" };
16426
16456
  const _hoisted_6$6 = {
16427
16457
  key: 1,
16428
16458
  class: "flex items-center min-w-[30px]"
@@ -16585,7 +16615,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16585
16615
  ]),
16586
16616
  _: 1
16587
16617
  }, 8, ["href"]),
16588
- createVNode(AiHubMenus)
16618
+ createVNode(AiHubMenus, { scene: _ctx.scene }, null, 8, ["scene"])
16589
16619
  ])) : _ctx.scene === unref(SceneValue).org && !_ctx.errorCode ? (openBlock(), createElementBlock("div", _hoisted_2$i, [
16590
16620
  createVNode(GLink, {
16591
16621
  to: { name: "homepage" },
@@ -16639,7 +16669,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16639
16669
  default: withCtx(() => {
16640
16670
  var _a2, _b2, _c, _d, _e, _f, _g;
16641
16671
  return [
16642
- createElementVNode("h2", _hoisted_5$9, [
16672
+ createElementVNode("h2", _hoisted_5$8, [
16643
16673
  createVNode(GLink, {
16644
16674
  href: (_a2 = unref(breadcrumb)[0]) == null ? void 0 : _a2.path,
16645
16675
  class: "pr-[12px]"
@@ -17341,7 +17371,7 @@ const _hoisted_1$n = {
17341
17371
  const _hoisted_2$h = { class: "flex items-center font-medium gap-[4px]" };
17342
17372
  const _hoisted_3$e = ["src"];
17343
17373
  const _hoisted_4$b = { class: "level-name" };
17344
- const _hoisted_5$8 = { class: "level-icon" };
17374
+ const _hoisted_5$7 = { class: "level-icon" };
17345
17375
  const _hoisted_6$5 = ["src"];
17346
17376
  const _hoisted_7$4 = { class: "custom-btn" };
17347
17377
  const _hoisted_8$4 = { class: "flex items-center justify-center" };
@@ -17401,7 +17431,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17401
17431
  }, null, 8, _hoisted_3$e),
17402
17432
  createElementVNode("div", _hoisted_4$b, [
17403
17433
  createElementVNode("div", null, toDisplayString$1(levelInfo.value.name), 1),
17404
- createElementVNode("div", _hoisted_5$8, [
17434
+ createElementVNode("div", _hoisted_5$7, [
17405
17435
  createElementVNode("img", {
17406
17436
  src: levelInfo.value.level,
17407
17437
  alt: ""
@@ -17423,7 +17453,7 @@ const _hoisted_3$d = ["title"];
17423
17453
  const _hoisted_4$a = ["title"];
17424
17454
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
17425
17455
  __name: "UserAvatarMenu",
17426
- props: ["isChatBot", "accountInfo", "loginOutFinish", "inAIHub", "independence"],
17456
+ props: ["isChatBot", "accountInfo", "loginOutFinish", "inAIHub", "independence", "userMenus"],
17427
17457
  setup(__props) {
17428
17458
  const layoutConfig2 = useLayoutConfig();
17429
17459
  const API = headRequest(inject("request"));
@@ -17486,7 +17516,25 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17486
17516
  }
17487
17517
  return routerHref.value;
17488
17518
  });
17489
- const routerHref = computed(() => [
17519
+ const menueDataFormat = (data) => {
17520
+ data.forEach((item) => {
17521
+ if (Array.isArray(item)) {
17522
+ item.forEach((item2) => {
17523
+ if (item2.to) {
17524
+ item2.to = getRouterLink(item2.to);
17525
+ }
17526
+ });
17527
+ }
17528
+ });
17529
+ return data;
17530
+ };
17531
+ const userMenusFormat = computed(() => {
17532
+ if (props.userMenus) {
17533
+ return menueDataFormat(props.userMenus);
17534
+ }
17535
+ return [];
17536
+ });
17537
+ const baseRouterMeus = [
17490
17538
  [
17491
17539
  { id: "dashboard", label: t2("gitCodeLayout.header.workbench"), icon: "gt-plane-user", to: getRouterLink("dashboard") },
17492
17540
  { id: "myOrg", label: t2("gitCodeLayout.header.myOrg"), icon: "gt-plane-organization", to: getRouterLink({ name: "settingOrganization" }) },
@@ -17502,8 +17550,17 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17502
17550
  [
17503
17551
  { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17504
17552
  ]
17505
- ]);
17506
- const hrefList = computed(() => [
17553
+ ];
17554
+ const routerHref = computed(() => {
17555
+ var _a;
17556
+ return [
17557
+ ...((_a = userMenusFormat.value) == null ? void 0 : _a.length) ? userMenusFormat.value : baseRouterMeus,
17558
+ [
17559
+ { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17560
+ ]
17561
+ ];
17562
+ });
17563
+ const baseHrefMeus = [
17507
17564
  [
17508
17565
  { id: "dashboard", label: t2("gitCodeLayout.header.workbench"), icon: "gt-plane-user", link: "/dashboard" },
17509
17566
  { id: "myOrg", label: t2("gitCodeLayout.header.myOrg"), icon: "gt-plane-organization", link: "/setting/organization" },
@@ -17515,11 +17572,17 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17515
17572
  [
17516
17573
  { id: "personalSetting", label: t2("gitCodeLayout.header.personSetting"), icon: "gt-plane-setting", link: "/setting" },
17517
17574
  { id: "help", label: t2("gitCodeLayout.header.helpDocument"), icon: "gt-plane-project-opened", target: "_blank", href: HELP_DOCS_URL }
17518
- ],
17519
- [
17520
- { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17521
17575
  ]
17522
- ]);
17576
+ ];
17577
+ const hrefList = computed(() => {
17578
+ var _a;
17579
+ return [
17580
+ ...((_a = userMenusFormat.value) == null ? void 0 : _a.length) ? userMenusFormat.value : baseHrefMeus,
17581
+ [
17582
+ { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17583
+ ]
17584
+ ];
17585
+ });
17523
17586
  function handleClick(item) {
17524
17587
  if (item == null ? void 0 : item.action) {
17525
17588
  item.action();
@@ -17614,14 +17677,14 @@ const _hoisted_4$9 = {
17614
17677
  key: 0,
17615
17678
  class: "g-user-avatar__badge"
17616
17679
  };
17617
- const _hoisted_5$7 = { class: "g-user-drawer" };
17680
+ const _hoisted_5$6 = { class: "g-user-drawer" };
17618
17681
  const _hoisted_6$4 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17619
17682
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
17620
17683
  ...{
17621
17684
  name: "UserAvatar"
17622
17685
  },
17623
17686
  __name: "UserAvatar",
17624
- props: ["isChatBot", "loginOutFinish", "inAIHub", "independence"],
17687
+ props: ["isChatBot", "loginOutFinish", "inAIHub", "independence", "userMenus"],
17625
17688
  setup(__props) {
17626
17689
  const { isMobile } = usePageResize();
17627
17690
  const drawerVisible = ref(false);
@@ -17696,6 +17759,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17696
17759
  onBeforeUnmount(() => {
17697
17760
  window.removeEventListener("storage", handleStorageChange);
17698
17761
  });
17762
+ console.log("aaa----------------");
17699
17763
  return (_ctx, _cache) => {
17700
17764
  return openBlock(), createElementBlock(Fragment, null, [
17701
17765
  unref(isMobile) ? (openBlock(), createElementBlock("div", {
@@ -17720,14 +17784,15 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17720
17784
  onToggle: handleToggle
17721
17785
  }, {
17722
17786
  menu: withCtx(() => [
17723
- createElementVNode("div", _hoisted_5$7, [
17787
+ createElementVNode("div", _hoisted_5$6, [
17724
17788
  createVNode(UserAvatarMenu, {
17725
17789
  independence: __props.independence,
17726
17790
  loginOutFinish: __props.loginOutFinish,
17727
17791
  accountInfo: accountInfo.value,
17728
17792
  isChatBot: __props.isChatBot,
17729
- inAIHub: __props.inAIHub
17730
- }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub"])
17793
+ inAIHub: __props.inAIHub,
17794
+ userMenus: __props.userMenus
17795
+ }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub", "userMenus"])
17731
17796
  ])
17732
17797
  ]),
17733
17798
  default: withCtx(() => [
@@ -17765,8 +17830,9 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17765
17830
  loginOutFinish: __props.loginOutFinish,
17766
17831
  accountInfo: accountInfo.value,
17767
17832
  isChatBot: __props.isChatBot,
17768
- inAIHub: __props.inAIHub
17769
- }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub"])
17833
+ inAIHub: __props.inAIHub,
17834
+ userMenus: __props.userMenus
17835
+ }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub", "userMenus"])
17770
17836
  ])
17771
17837
  ]),
17772
17838
  _: 1
@@ -17867,7 +17933,7 @@ const _hoisted_1$k = { class: "g-header-search-prefix" };
17867
17933
  const _hoisted_2$e = { class: "g-header-search-suffix-splitline" };
17868
17934
  const _hoisted_3$b = { class: "g-header-search-suffix-suffixIcon" };
17869
17935
  const _hoisted_4$8 = { class: "history-list" };
17870
- const _hoisted_5$6 = {
17936
+ const _hoisted_5$5 = {
17871
17937
  key: 1,
17872
17938
  class: "aireposearch flex-1"
17873
17939
  };
@@ -17880,14 +17946,15 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17880
17946
  },
17881
17947
  setup(__props) {
17882
17948
  var _a;
17949
+ const layoutConfig2 = useLayoutConfig();
17883
17950
  const { t: $t } = i18n.global;
17884
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-D_Y0jpVH.js"));
17885
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-DCdzirIW.js"));
17886
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-CbW0WTfj.js"));
17887
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-BMFVQlLC.js"));
17888
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-BUMNhvVG.js"));
17889
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-XhW4i-Jb.js"));
17890
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BOxQRH5p.js"));
17951
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-CkFAF-8f.js"));
17952
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-D6YSr1xQ.js"));
17953
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-DMUozzSm.js"));
17954
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-CmyZZoX-.js"));
17955
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-RRTsKGkV.js"));
17956
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-BU1Bu_JP.js"));
17957
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-az3PRT5r.js"));
17891
17958
  const props = __props;
17892
17959
  const repoInfo = inject("repoInfo");
17893
17960
  const orgInfo = inject("orgInfo");
@@ -18306,7 +18373,11 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18306
18373
  type: aiSearchType.value
18307
18374
  };
18308
18375
  setlocalVistHistory(query, "localSearchText");
18309
- router2.push({ name: "search", query });
18376
+ if (router2.hasRoute("search")) {
18377
+ router2.push({ name: "search", query });
18378
+ } else {
18379
+ location.href = `${layoutConfig2.VITE_HOST}/search?q=${query.q}&type=${query.type}`;
18380
+ }
18310
18381
  };
18311
18382
  onUnmounted(() => {
18312
18383
  interval.value && clearInterval(interval.value);
@@ -18472,7 +18543,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18472
18543
  _: 1
18473
18544
  }, 8, ["overlay-class", "visible"])
18474
18545
  ], 2)) : createCommentVNode("", true),
18475
- _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$6, [
18546
+ _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18476
18547
  createVNode(unref(Input), {
18477
18548
  placeholder: unref($t)("gitCodeLayout.home.searchPlaceholder"),
18478
18549
  onKeydown: withKeys(searchResult, ["enter"]),
@@ -18493,7 +18564,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18493
18564
  }
18494
18565
  });
18495
18566
  const Search = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-gitcode-layout-lib"]]);
18496
- const NoticeModal = defineAsyncComponent(() => import("./notice-BQd82dao.js"));
18567
+ const NoticeModal = defineAsyncComponent(() => import("./notice-DYyyZxtZ.js"));
18497
18568
  function clearNotice() {
18498
18569
  if (localStorage$2.getItem("validator_email")) {
18499
18570
  localStorage$2.removeItem("validator_email");
@@ -18520,21 +18591,20 @@ function useNotification() {
18520
18591
  notice
18521
18592
  };
18522
18593
  }
18523
- const _hoisted_1$j = { class: "search-avatar flex-1 flex items-center justify-center" };
18524
- const _hoisted_2$d = {
18594
+ const _hoisted_1$j = {
18525
18595
  key: 1,
18526
18596
  class: "g-header-body"
18527
18597
  };
18528
- const _hoisted_3$a = { class: "g-header-body-left h-full" };
18529
- const _hoisted_4$7 = { class: "g-header-body-right h-full" };
18530
- const _hoisted_5$5 = { key: 2 };
18598
+ const _hoisted_2$d = { class: "g-header-body-left h-full" };
18599
+ const _hoisted_3$a = { class: "g-header-body-right h-full" };
18600
+ const _hoisted_4$7 = { key: 2 };
18531
18601
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
18532
18602
  ...{
18533
18603
  name: "header"
18534
18604
  },
18535
18605
  __name: "index",
18536
18606
  props: {
18537
- sceneValue: { default: SceneValue.home },
18607
+ sceneValue: { default: SceneValue.aihome },
18538
18608
  isLogin: { type: Boolean, default: false },
18539
18609
  request: { type: Function, default: proxyService },
18540
18610
  loginOutFinish: {},
@@ -18552,6 +18622,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18552
18622
  openHarmonyGuide: { type: Boolean },
18553
18623
  headerBorder: { type: Boolean, default: false },
18554
18624
  independence: { type: Boolean, default: true },
18625
+ userMenus: {},
18555
18626
  bgConfig: { default: () => ({
18556
18627
  index_head: "",
18557
18628
  detail_top: "",
@@ -18602,7 +18673,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18602
18673
  case SceneValue.aiHome:
18603
18674
  case SceneValue.aiRepo:
18604
18675
  case SceneValue.aiGuide:
18605
- return [...usualItems, HeaderDisplayItem.CUSTOM_CONTENT, HeaderDisplayItem.DOCUMENT_CENTER];
18676
+ return [HeaderDisplayItem.LOGIN_AND_AVATAR, HeaderDisplayItem.MESSAGE_CENTER, HeaderDisplayItem.DEEPSEEK_BUTTON, HeaderDisplayItem.SEARCH_BUTTON, HeaderDisplayItem.ASIDE_BUTTON, HeaderDisplayItem.CUSTOM_CONTENT];
18606
18677
  default:
18607
18678
  return [HeaderDisplayItem.LOGIN_AND_AVATAR, HeaderDisplayItem.NAME_AND_ICON];
18608
18679
  }
@@ -18679,10 +18750,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18679
18750
  });
18680
18751
  const homeTabPage = ["/issues", "/pulls", "/kanban", "/discussions"];
18681
18752
  const isShowStickyNotice = computed(() => {
18682
- return ([SceneValue.repo, SceneValue.org, SceneValue.user, SceneValue.aiRepo, SceneValue.blog].includes(props.sceneValue) || isHome.value && window.location.pathname != "/" && !homeTabPage.includes(window.location.pathname)) && props.bgConfig.detail_toolbar;
18753
+ return ([SceneValue.repo, SceneValue.org, SceneValue.user, SceneValue.aiHome, SceneValue.aiRepo, SceneValue.aiGuide, SceneValue.blog].includes(props.sceneValue) || isHome.value && window.location.pathname != "/" && !homeTabPage.includes(window.location.pathname)) && props.bgConfig.detail_toolbar;
18683
18754
  });
18684
18755
  const detailToolbarImg = computed(() => {
18685
- return (currentTheme.value === ThemeType.WHITE ? props.bgConfig.detail_toolbar : props.bgConfig.detail_toolbar_black) || props.bgConfig.detail_toolbar;
18756
+ return (currentTheme.value === ThemeType.WHITE && props.sceneValue !== SceneValue.aiHome ? props.bgConfig.detail_toolbar : props.bgConfig.detail_toolbar_black) || props.bgConfig.detail_toolbar;
18686
18757
  });
18687
18758
  const detailTopImg = computed(() => {
18688
18759
  return (currentTheme.value === ThemeType.WHITE ? props.bgConfig.detail_top : props.bgConfig.detail_top_black) || props.bgConfig.detail_top;
@@ -18838,11 +18909,11 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18838
18909
  isModuleVisible(unref(HeaderDisplayItem).ASIDE_BUTTON) ? (openBlock(), createBlock(GIcon, {
18839
18910
  key: 0,
18840
18911
  onClick: handleHamburgerClick,
18841
- name: "gt-hamburger",
18912
+ name: _ctx.sceneValue === unref(SceneValue).aiHome ? "gt-a-hamburgermenu" : "gt-hamburger",
18842
18913
  size: "24px",
18843
18914
  class: "cursor-pointer hover:!text-[var(--theme-stress-text)] g-toolbar-left-asideicon",
18844
18915
  color: "var(--theme-aide-text)"
18845
- })) : createCommentVNode("", true),
18916
+ }, null, 8, ["name"])) : createCommentVNode("", true),
18846
18917
  showNameAndIcon.value && _ctx.independence ? (openBlock(), createBlock(GLink, {
18847
18918
  key: 1,
18848
18919
  class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
@@ -18871,7 +18942,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18871
18942
  }, null, 8, ["scene", "isLogin", "errorCode", "orgProps", "repoProps", "userProps"])) : createCommentVNode("", true)
18872
18943
  ], 2)) : createCommentVNode("", true)
18873
18944
  ], 2),
18874
- createElementVNode("div", _hoisted_1$j, [
18945
+ createElementVNode("div", {
18946
+ class: normalizeClass(["search-avatar flex-1 flex items-center", inAIHub.value ? "ml-[auto] justify-end" : "justify-center"])
18947
+ }, [
18875
18948
  isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", { key: 0 }, () => [
18876
18949
  (openBlock(), createBlock(Search, {
18877
18950
  inAIHub: inAIHub.value,
@@ -18880,9 +18953,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18880
18953
  isShowStickyNotice: isShowStickyNoticeByClose.value
18881
18954
  }, null, 8, ["inAIHub", "sceneValue", "isShowStickyNotice"]))
18882
18955
  ], true) : createCommentVNode("", true)
18883
- ]),
18956
+ ], 2),
18884
18957
  createElementVNode("div", {
18885
- class: normalizeClass(["g-toolbar-right gap-[16px] flex-[1] justify-end max-md:gap-[12px] allow-click-stop", inAIHub.value ? "2xl:min-w-[600px] flex-none" : ""])
18958
+ class: normalizeClass(["g-toolbar-right gap-[16px] flex-[1] justify-end max-md:gap-[12px] allow-click-stop", inAIHub.value ? "flex-none" : ""])
18886
18959
  }, [
18887
18960
  isModuleVisible(unref(HeaderDisplayItem).DEEPSEEK_BUTTON) ? (openBlock(), createBlock(ChatBot, { key: 0 })) : createCommentVNode("", true),
18888
18961
  !_ctx.isLogin ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -18929,24 +19002,25 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18929
19002
  isChatBot: isChatBot.value,
18930
19003
  loginOutFinish: _ctx.loginOutFinish,
18931
19004
  inAIHub: inAIHub.value,
18932
- independence: _ctx.independence
18933
- }, null, 8, ["isChatBot", "loginOutFinish", "inAIHub", "independence"])) : createCommentVNode("", true)
19005
+ independence: _ctx.independence,
19006
+ userMenus: _ctx.userMenus
19007
+ }, null, 8, ["isChatBot", "loginOutFinish", "inAIHub", "independence", "userMenus"])) : createCommentVNode("", true)
18934
19008
  ], 64))
18935
19009
  ], 2)
18936
19010
  ], 6)), [
18937
19011
  [unref(vElementExposure), { trigger: (type) => handleToolbarExpo() }]
18938
19012
  ]),
18939
- _ctx.$slots.info || _ctx.$slots.menu || _ctx.$slots.bodyHeader ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
19013
+ _ctx.$slots.info || _ctx.$slots.menu || _ctx.$slots.bodyHeader ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
18940
19014
  renderSlot(_ctx.$slots, "bodyHeader", {}, () => [
18941
- createElementVNode("div", _hoisted_3$a, [
19015
+ createElementVNode("div", _hoisted_2$d, [
18942
19016
  renderSlot(_ctx.$slots, "info", {}, void 0, true)
18943
19017
  ]),
18944
- createElementVNode("div", _hoisted_4$7, [
19018
+ createElementVNode("div", _hoisted_3$a, [
18945
19019
  renderSlot(_ctx.$slots, "menu", {}, void 0, true)
18946
19020
  ])
18947
19021
  ], true)
18948
19022
  ])) : createCommentVNode("", true),
18949
- _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
19023
+ _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
18950
19024
  renderSlot(_ctx.$slots, "headerBottom", {}, void 0, true)
18951
19025
  ])) : createCommentVNode("", true)
18952
19026
  ], 2)
@@ -19848,7 +19922,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
19848
19922
  });
19849
19923
  const showThemeSetting = computed(() => {
19850
19924
  if (props.showPreferencesSetting !== void 0 && props.showThemeSetting !== void 0) return props.showThemeSetting;
19851
- return ![SceneValue.aiHome, SceneValue.aiGuide].includes(props.sceneValue);
19925
+ return ![SceneValue.aiHome, SceneValue.aiRepo, SceneValue.aiGuide].includes(props.sceneValue);
19852
19926
  });
19853
19927
  const showLangSetting = computed(() => {
19854
19928
  if (props.showPreferencesSetting !== void 0 && props.showLangSetting !== void 0) return props.showLangSetting;
@@ -20460,6 +20534,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
20460
20534
  },
20461
20535
  setup(__props) {
20462
20536
  const route = useRoute();
20537
+ const layoutConfig2 = useLayoutConfig();
20463
20538
  const props = __props;
20464
20539
  const { useReport: useReport2 } = useRequestReport(props.request, props.globalStore);
20465
20540
  provide("globalStore", computed(() => props.globalStore));
@@ -20571,8 +20646,9 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
20571
20646
  createElementVNode("div", _hoisted_1$d, [
20572
20647
  createVNode(GLink, {
20573
20648
  class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
20574
- to: { name: "home" }
20575
- }, null, 8, ["class"]),
20649
+ to: _ctx.independence ? "" : { name: "home" },
20650
+ href: _ctx.independence ? unref(layoutConfig2).VITE_HOST : ""
20651
+ }, null, 8, ["class", "to", "href"]),
20576
20652
  createVNode(unref(Button), {
20577
20653
  class: "cursor-pointer draw-side-bar-close",
20578
20654
  icon: "close",
@@ -21392,7 +21468,7 @@ const routes = [
21392
21468
  }
21393
21469
  ];
21394
21470
  const router = createRouter({
21395
- history: createWebHistory(),
21471
+ history: typeof window !== "undefined" ? createWebHistory() : createMemoryHistory(),
21396
21472
  routes
21397
21473
  });
21398
21474
  async function csdnloginCheck(route, loginCallback, request) {
@@ -25155,7 +25231,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25155
25231
  }
25156
25232
  });
25157
25233
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-gitcode-layout-lib"]]);
25158
- const SlidCaptcha = defineAsyncComponent(() => import("./index-BSJxXlgM.js"));
25234
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-DX54Qp_A.js"));
25159
25235
  const useSlidCaptcha = () => {
25160
25236
  const { mount, unMount } = usePopup("slid-captcha-popup");
25161
25237
  const open = (config) => {