vue-layout-gitcode 1.3.34 → 1.3.36

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.
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, createBlock, createElementBlock, openBlock, unref, normalizeProps, mergeProps, normalizeClass, renderSlot, normalizeStyle, createElementVNode, reactive, readonly, inject, effectScope, ref, shallowRef, watch, isRef, getCurrentInstance, h, Fragment, onBeforeMount, onMounted, onUnmounted, createVNode, Text, provide, createCommentVNode, withCtx, toDisplayString as toDisplayString$1, renderList, createTextVNode, Transition, withModifiers, render, resolveComponent, watchEffect, withDirectives, guardReactiveProps, onBeforeUnmount, nextTick, defineAsyncComponent, vShow, withKeys, useCssVars, useSlots, createSlots, resolveDynamicComponent, toRaw, mergeModels, useModel as useModel$1, watchPostEffect } from "vue";
1
+ import { defineComponent, computed, createBlock, createElementBlock, openBlock, unref, normalizeProps, mergeProps, normalizeClass, renderSlot, normalizeStyle, createElementVNode, reactive, readonly, inject, effectScope, ref, shallowRef, watch, isRef, getCurrentInstance, h, Fragment, onBeforeMount, onMounted, onUnmounted, createVNode, Text, provide, createCommentVNode, withCtx, toDisplayString as toDisplayString$1, renderList, createTextVNode, Transition, withModifiers, render, resolveComponent, watchEffect, guardReactiveProps, onBeforeUnmount, nextTick, defineAsyncComponent, withDirectives, vShow, withKeys, useCssVars, useSlots, createSlots, resolveDynamicComponent, toRaw, mergeModels, useModel as useModel$1, watchPostEffect } from "vue";
2
2
  import { Button } from "vue-devui-lal/button";
3
3
  import { Popover } from "vue-devui-lal/popover";
4
4
  import { Tooltip } from "vue-devui-lal/tooltip";
@@ -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",
@@ -1927,7 +1920,7 @@ const DOT = ".";
1927
1920
  const LITERAL_DELIMITER = "'";
1928
1921
  const ERROR_DOMAIN$3 = "tokenizer";
1929
1922
  function createTokenizer(source, options = {}) {
1930
- const location = options.location !== false;
1923
+ const location2 = options.location !== false;
1931
1924
  const _scnr = createScanner(source);
1932
1925
  const currentOffset = () => _scnr.index();
1933
1926
  const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());
@@ -1953,7 +1946,7 @@ function createTokenizer(source, options = {}) {
1953
1946
  pos.column += offset;
1954
1947
  pos.offset += offset;
1955
1948
  if (onError) {
1956
- const loc = location ? createLocation(ctx.startLoc, pos) : null;
1949
+ const loc = location2 ? createLocation(ctx.startLoc, pos) : null;
1957
1950
  const err = createCompileError(code2, loc, {
1958
1951
  domain: ERROR_DOMAIN$3,
1959
1952
  args
@@ -1965,7 +1958,7 @@ function createTokenizer(source, options = {}) {
1965
1958
  context2.endLoc = currentPosition();
1966
1959
  context2.currentType = type;
1967
1960
  const token = { type };
1968
- if (location) {
1961
+ if (location2) {
1969
1962
  token.loc = createLocation(context2.startLoc, context2.endLoc);
1970
1963
  }
1971
1964
  if (value != null) {
@@ -2608,14 +2601,14 @@ function fromEscapeSequence(match, codePoint4, codePoint6) {
2608
2601
  }
2609
2602
  }
2610
2603
  function createParser(options = {}) {
2611
- const location = options.location !== false;
2604
+ const location2 = options.location !== false;
2612
2605
  const { onError, onWarn } = options;
2613
2606
  function emitError(tokenzer, code2, start, offset, ...args) {
2614
2607
  const end = tokenzer.currentPosition();
2615
2608
  end.offset += offset;
2616
2609
  end.column += offset;
2617
2610
  if (onError) {
2618
- const loc = location ? createLocation(start, end) : null;
2611
+ const loc = location2 ? createLocation(start, end) : null;
2619
2612
  const err = createCompileError(code2, loc, {
2620
2613
  domain: ERROR_DOMAIN$2,
2621
2614
  args
@@ -2628,13 +2621,13 @@ function createParser(options = {}) {
2628
2621
  end.offset += offset;
2629
2622
  end.column += offset;
2630
2623
  if (onWarn) {
2631
- const loc = location ? createLocation(start, end) : null;
2624
+ const loc = location2 ? createLocation(start, end) : null;
2632
2625
  onWarn(createCompileWarn(code2, loc, args));
2633
2626
  }
2634
2627
  }
2635
2628
  function startNode(type, offset, loc) {
2636
2629
  const node = { type };
2637
- if (location) {
2630
+ if (location2) {
2638
2631
  node.start = offset;
2639
2632
  node.end = offset;
2640
2633
  node.loc = { start: loc, end: loc };
@@ -2642,7 +2635,7 @@ function createParser(options = {}) {
2642
2635
  return node;
2643
2636
  }
2644
2637
  function endNode(node, offset, pos, type) {
2645
- if (location) {
2638
+ if (location2) {
2646
2639
  node.end = offset;
2647
2640
  if (node.loc) {
2648
2641
  node.loc.end = pos;
@@ -2865,7 +2858,7 @@ function createParser(options = {}) {
2865
2858
  const tokenizer = createTokenizer(source, assign({}, options));
2866
2859
  const context = tokenizer.context();
2867
2860
  const node = startNode(0, context.offset, context.startLoc);
2868
- if (location && node.loc) {
2861
+ if (location2 && node.loc) {
2869
2862
  node.loc.source = source;
2870
2863
  }
2871
2864
  node.body = parseResource(tokenizer);
@@ -3082,7 +3075,7 @@ function minify(node) {
3082
3075
  const ERROR_DOMAIN = "parser";
3083
3076
  function createCodeGenerator(ast, options) {
3084
3077
  const { filename, breakLineCode, needIndent: _needIndent } = options;
3085
- const location = options.location !== false;
3078
+ const location2 = options.location !== false;
3086
3079
  const _context = {
3087
3080
  filename,
3088
3081
  code: "",
@@ -3094,7 +3087,7 @@ function createCodeGenerator(ast, options) {
3094
3087
  needIndent: _needIndent,
3095
3088
  indentLevel: 0
3096
3089
  };
3097
- if (location && ast.loc) {
3090
+ if (location2 && ast.loc) {
3098
3091
  _context.source = ast.loc.source;
3099
3092
  }
3100
3093
  const context = () => _context;
@@ -10915,12 +10908,12 @@ const _hoisted_3$h = {
10915
10908
  class: "tooltip-sign"
10916
10909
  };
10917
10910
  const _hoisted_4$e = { class: "home-nav-tooltip-wrapper" };
10918
- const _hoisted_5$b = { class: "home-nav-text" };
10911
+ const _hoisted_5$a = { class: "home-nav-text" };
10919
10912
  const _hoisted_6$8 = {
10920
10913
  key: 1,
10921
10914
  class: "tools-list"
10922
10915
  };
10923
- const _hoisted_7$7 = { class: "home-nav-tooltip-wrapper" };
10916
+ const _hoisted_7$6 = { class: "home-nav-tooltip-wrapper" };
10924
10917
  const _hoisted_8$6 = { class: "home-nav-text" };
10925
10918
  const _hoisted_9$5 = { class: "text-[var(--theme-placeholder)] text-[10px]" };
10926
10919
  const _hoisted_10$4 = { class: "qrcode-wrapper" };
@@ -11131,7 +11124,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11131
11124
  }, {
11132
11125
  content: withCtx(() => [
11133
11126
  createElementVNode("div", _hoisted_4$e, [
11134
- createElementVNode("div", _hoisted_5$b, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11127
+ createElementVNode("div", _hoisted_5$a, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11135
11128
  ])
11136
11129
  ]),
11137
11130
  default: withCtx(() => [
@@ -11157,7 +11150,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11157
11150
  "overlay-class": "tools-tag-tooltip"
11158
11151
  }, {
11159
11152
  content: withCtx(() => [
11160
- createElementVNode("div", _hoisted_7$7, [
11153
+ createElementVNode("div", _hoisted_7$6, [
11161
11154
  createElementVNode("div", _hoisted_8$6, [
11162
11155
  createElementVNode("p", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.userFeedback01")), 1),
11163
11156
  createElementVNode("p", _hoisted_9$5, toDisplayString$1(unref(t2)("gitCodeLayout.home.userFeedback02")), 1)
@@ -14453,58 +14446,84 @@ function headRequest(request) {
14453
14446
  };
14454
14447
  }
14455
14448
  const aiThemeMenuId = "ai-theme";
14456
- const _hoisted_1$s = { class: "ai-hub-menus" };
14457
- const _hoisted_2$j = ["href", "onMouseenter"];
14458
- const _hoisted_3$g = { class: "ai-hub-menus-item_label" };
14459
- const _hoisted_4$d = ["onMouseenter"];
14460
- const _hoisted_5$a = { class: "ai-hub-menus-themetablist" };
14461
- const _hoisted_6$7 = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14462
- const _hoisted_7$6 = { class: "flex items-center min-w-[90px] gap-[8px] font-semibold" };
14449
+ var RouteNameEnum = /* @__PURE__ */ ((RouteNameEnum2) => {
14450
+ RouteNameEnum2["HOME"] = "AiHubHome";
14451
+ RouteNameEnum2["AI_MODELS"] = "ai-models";
14452
+ RouteNameEnum2["AI_DATASETS"] = "ai-datasets";
14453
+ RouteNameEnum2["AI_ZONE"] = "ai-zone";
14454
+ RouteNameEnum2["AI_SPACE"] = "ai-space";
14455
+ RouteNameEnum2["AI_THEME_DETAIL"] = "ai-theme-detail";
14456
+ RouteNameEnum2["AI_INVITE"] = "ai-invite";
14457
+ RouteNameEnum2["RACE_DETAIL"] = "race-detail";
14458
+ RouteNameEnum2["AI_COMPETITION"] = "ai-competition";
14459
+ RouteNameEnum2["WORK_MANAGEMENT"] = "work-management";
14460
+ RouteNameEnum2["COMPETITION_RANKING"] = "ranking";
14461
+ RouteNameEnum2["AI_THEME"] = "theme";
14462
+ return RouteNameEnum2;
14463
+ })(RouteNameEnum || {});
14464
+ const _hoisted_1$s = ["href", "onMouseenter"];
14465
+ const _hoisted_2$j = { class: "ai-hub-menus-item_label" };
14466
+ const _hoisted_3$g = ["onMouseenter"];
14467
+ const _hoisted_4$d = { class: "ai-hub-menus-themetablist" };
14468
+ const _hoisted_5$9 = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14469
+ const _hoisted_6$7 = { class: "flex items-center min-w-[90px] gap-[8px] font-semibold" };
14463
14470
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
14464
14471
  __name: "AiHubMenus",
14472
+ props: ["scene"],
14465
14473
  setup(__props) {
14466
14474
  const layoutConfig2 = useLayoutConfig();
14475
+ const route = useRoute();
14476
+ const props = __props;
14467
14477
  const { t: t2 } = i18n.global;
14468
14478
  const API = headRequest(inject("request"));
14469
- const repoInfo = inject("repoInfo");
14470
14479
  const menus = [
14471
14480
  {
14472
14481
  label: t2("gitCodeLayout.aihub.model"),
14473
14482
  icon: "gt-model_default",
14474
14483
  activeIcon: "gt-model_red",
14484
+ whiteIcon: "gt-model_dark_bg",
14475
14485
  url: `${layoutConfig2.VITE_AI_HOST}/models`,
14476
- repoType: RepoType.model
14486
+ menueKey: RouteNameEnum.AI_MODELS
14477
14487
  },
14478
14488
  {
14479
14489
  label: t2("gitCodeLayout.aihub.dataSet"),
14480
14490
  icon: "gt-dataset_default",
14481
14491
  activeIcon: "gt-dataset_red",
14492
+ whiteIcon: "gt-dataset_dark_bg",
14482
14493
  url: `${layoutConfig2.VITE_AI_HOST}/datasets`,
14483
- repoType: RepoType.dataset
14494
+ menueKey: RouteNameEnum.AI_DATASETS
14484
14495
  },
14485
14496
  {
14486
14497
  label: "Spaces",
14487
14498
  icon: "gt-space_default",
14488
14499
  activeIcon: "gt-space_red",
14500
+ whiteIcon: "gt-space_dark_bg",
14489
14501
  url: `${layoutConfig2.VITE_AI_HOST}/space`,
14490
- repoType: RepoType.spaces
14502
+ menueKey: RouteNameEnum.AI_SPACE
14491
14503
  },
14492
14504
  {
14493
14505
  label: "专区",
14494
14506
  id: aiThemeMenuId,
14495
14507
  icon: "gt-a-Property1Default7",
14496
14508
  activeIcon: "gt-a-Property1red6",
14497
- url: `${layoutConfig2.VITE_AI_HOST}/theme`
14509
+ whiteIcon: "gt-a-Property1white",
14510
+ url: `${layoutConfig2.VITE_AI_HOST}/theme`,
14511
+ menueKey: RouteNameEnum.AI_THEME
14498
14512
  },
14499
14513
  {
14500
14514
  label: "大赛",
14501
14515
  icon: "gt-a-plane-GrowthCenter1",
14502
14516
  activeIcon: "gt-a-plane-GrowthCenter-1",
14503
- url: `${layoutConfig2.VITE_AI_HOST}/competition`
14517
+ whiteIcon: "gt-a-plane-GrowthCenter-2",
14518
+ url: `${layoutConfig2.VITE_AI_HOST}/competition`,
14519
+ menueKey: RouteNameEnum.AI_COMPETITION
14504
14520
  }
14505
14521
  ];
14506
14522
  const activeMenu = computed(() => {
14507
- return menus.find((item) => item.repoType === (repoInfo == null ? void 0 : repoInfo.repo_type)) || menus[0];
14523
+ return menus.find((item) => {
14524
+ var _a;
14525
+ return item.menueKey === (route == null ? void 0 : route.name) || item.menueKey === ((_a = route == null ? void 0 : route.meta) == null ? void 0 : _a.pType);
14526
+ }) || {};
14508
14527
  });
14509
14528
  const hoverMenu = ref(void 0);
14510
14529
  const themeTablist = ref([]);
@@ -14526,11 +14545,22 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14526
14545
  ...dataResult
14527
14546
  ];
14528
14547
  });
14548
+ const getActiveIcon = (menu) => {
14549
+ var _a, _b;
14550
+ 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;
14551
+ };
14552
+ const isActiveThemeItem = (itemUrl) => {
14553
+ if (typeof window === "undefined") return false;
14554
+ const currentUrl = window.location.href;
14555
+ return currentUrl === itemUrl;
14556
+ };
14529
14557
  return (_ctx, _cache) => {
14530
14558
  return openBlock(), createElementBlock("div", null, [
14531
- createElementVNode("div", _hoisted_1$s, [
14559
+ createElementVNode("div", {
14560
+ class: normalizeClass(["ai-hub-menus", { "home-menu": __props.scene === unref(SceneValue).aiHome }])
14561
+ }, [
14532
14562
  (openBlock(), createElementBlock(Fragment, null, renderList(menus, (menu, index2) => {
14533
- var _a, _b, _c;
14563
+ var _a;
14534
14564
  return openBlock(), createElementBlock(Fragment, { key: index2 }, [
14535
14565
  menu.id !== unref(aiThemeMenuId) ? (openBlock(), createElementBlock("a", {
14536
14566
  key: 0,
@@ -14541,22 +14571,22 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14541
14571
  }, [
14542
14572
  createVNode(GIcon, {
14543
14573
  size: "16px",
14544
- 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
14574
+ name: getActiveIcon(menu)
14545
14575
  }, null, 8, ["name"]),
14546
- createElementVNode("span", _hoisted_3$g, toDisplayString$1(menu.label), 1)
14547
- ], 42, _hoisted_2$j)) : (openBlock(), createBlock(unref(Dropdown), {
14576
+ createElementVNode("span", _hoisted_2$j, toDisplayString$1(menu.label), 1)
14577
+ ], 42, _hoisted_1$s)) : (openBlock(), createBlock(unref(Dropdown), {
14548
14578
  key: 1,
14549
14579
  trigger: "hover",
14550
14580
  "overlay-class": "theme-tablist",
14551
14581
  position: ["top-start"]
14552
14582
  }, {
14553
14583
  menu: withCtx(() => [
14554
- createElementVNode("ul", _hoisted_5$a, [
14584
+ createElementVNode("ul", _hoisted_4$d, [
14555
14585
  (openBlock(true), createElementBlock(Fragment, null, renderList(themeTablist.value, (item, index22) => {
14556
14586
  return openBlock(), createBlock(GLink, {
14557
14587
  key: index22,
14558
14588
  href: item.url,
14559
- class: "menuitems ellipsis block",
14589
+ class: normalizeClass(["menuitems ellipsis block", { "active-theme-item": isActiveThemeItem(item.url) }]),
14560
14590
  title: item.name
14561
14591
  }, {
14562
14592
  default: withCtx(() => [
@@ -14568,12 +14598,12 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14568
14598
  createElementVNode("span", null, toDisplayString$1(item.name), 1)
14569
14599
  ]),
14570
14600
  _: 2
14571
- }, 1032, ["href", "title"]);
14601
+ }, 1032, ["href", "class", "title"]);
14572
14602
  }), 128))
14573
14603
  ])
14574
14604
  ]),
14575
14605
  default: withCtx(() => {
14576
- var _a2, _b2;
14606
+ var _a2, _b;
14577
14607
  return [
14578
14608
  createElementVNode("div", {
14579
14609
  class: "ai-hub-menus-item flex items-center gap-[8px]",
@@ -14582,32 +14612,32 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14582
14612
  }, [
14583
14613
  createVNode(GIcon, {
14584
14614
  size: "16px",
14585
- name: ((_a2 = hoverMenu.value) == null ? void 0 : _a2.url) === (menu == null ? void 0 : menu.url) ? menu.activeIcon : menu.icon
14615
+ name: getActiveIcon(menu)
14586
14616
  }, null, 8, ["name"]),
14587
14617
  createElementVNode("span", {
14588
- class: normalizeClass(["ai-hub-menus-item_label hemin", { "theme-tablist-hoverColor": ((_b2 = hoverMenu.value) == null ? void 0 : _b2.url) === menu.url }])
14618
+ 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 }])
14589
14619
  }, toDisplayString$1(menu.label), 3)
14590
- ], 40, _hoisted_4$d)
14620
+ ], 40, _hoisted_3$g)
14591
14621
  ];
14592
14622
  }),
14593
14623
  _: 2
14594
14624
  }, 1024))
14595
14625
  ], 64);
14596
14626
  }), 64))
14597
- ]),
14627
+ ], 2),
14598
14628
  createVNode(GLink, {
14599
14629
  class: "flex items-center gap-[12px] md:hidden",
14600
14630
  href: activeMenu.value.url
14601
14631
  }, {
14602
14632
  default: withCtx(() => [
14603
- createElementVNode("div", _hoisted_6$7, [
14633
+ createElementVNode("div", _hoisted_5$9, [
14604
14634
  createVNode(GIcon, {
14605
14635
  size: "18px",
14606
14636
  name: "gt-line-down",
14607
14637
  rotate: "90deg"
14608
14638
  })
14609
14639
  ]),
14610
- createElementVNode("span", _hoisted_7$6, [
14640
+ createElementVNode("span", _hoisted_6$7, [
14611
14641
  createVNode(GIcon, {
14612
14642
  size: "24px",
14613
14643
  name: activeMenu.value.icon
@@ -16443,7 +16473,7 @@ const _hoisted_2$i = {
16443
16473
  };
16444
16474
  const _hoisted_3$f = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16445
16475
  const _hoisted_4$c = { class: "text-xs" };
16446
- const _hoisted_5$9 = { class: "flex items-center w-full" };
16476
+ const _hoisted_5$8 = { class: "flex items-center w-full" };
16447
16477
  const _hoisted_6$6 = {
16448
16478
  key: 1,
16449
16479
  class: "flex items-center min-w-[30px]"
@@ -16607,7 +16637,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16607
16637
  _: 1,
16608
16638
  __: [1]
16609
16639
  }, 8, ["href"]),
16610
- createVNode(AiHubMenus)
16640
+ createVNode(AiHubMenus, { scene: _ctx.scene }, null, 8, ["scene"])
16611
16641
  ])) : _ctx.scene === unref(SceneValue).org && !_ctx.errorCode ? (openBlock(), createElementBlock("div", _hoisted_2$i, [
16612
16642
  createVNode(GLink, {
16613
16643
  to: { name: "homepage" },
@@ -16661,7 +16691,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16661
16691
  default: withCtx(() => {
16662
16692
  var _a2, _b2, _c, _d, _e, _f, _g;
16663
16693
  return [
16664
- createElementVNode("h2", _hoisted_5$9, [
16694
+ createElementVNode("h2", _hoisted_5$8, [
16665
16695
  createVNode(GLink, {
16666
16696
  href: (_a2 = unref(breadcrumb)[0]) == null ? void 0 : _a2.path,
16667
16697
  class: "pr-[12px]"
@@ -16843,101 +16873,6 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16843
16873
  const HeaderCustom = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-gitcode-layout-lib"]]);
16844
16874
  const logoWhite = "data:image/png;base64,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";
16845
16875
  const logoBlack = "data:image/png;base64,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";
16846
- const vElementExposure = {
16847
- mounted(el, binding) {
16848
- let observer = new IntersectionObserver(function(entries2, observer2) {
16849
- entries2.forEach(function(entry) {
16850
- var _a;
16851
- if (entry.isIntersecting) {
16852
- (_a = binding.value) == null ? void 0 : _a.trigger("expo");
16853
- observer2.unobserve(entry.target);
16854
- }
16855
- });
16856
- }, { threshold: 0 });
16857
- observer.observe(el);
16858
- },
16859
- beforeUnmount() {
16860
- }
16861
- };
16862
- var repoTypeEnum = /* @__PURE__ */ ((repoTypeEnum2) => {
16863
- repoTypeEnum2["NORMAL"] = "0";
16864
- repoTypeEnum2["MODEL"] = "1";
16865
- repoTypeEnum2["DATASET"] = "2";
16866
- repoTypeEnum2["SPACE"] = "3";
16867
- return repoTypeEnum2;
16868
- })(repoTypeEnum || {});
16869
- var AuthTypeEnum = /* @__PURE__ */ ((AuthTypeEnum2) => {
16870
- AuthTypeEnum2["CSDN"] = "csdn";
16871
- AuthTypeEnum2["GITEE"] = "gitee";
16872
- AuthTypeEnum2["GITHUB"] = "github";
16873
- AuthTypeEnum2["WECHAT_OPEN"] = "wechat_open";
16874
- AuthTypeEnum2["WECHAT_MP"] = "wechat_mp";
16875
- AuthTypeEnum2["H_BUILDER"] = "hbuilder";
16876
- AuthTypeEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
16877
- AuthTypeEnum2["ATOMGIT"] = "atomgit";
16878
- AuthTypeEnum2["PHONE_AND_PASSWORD"] = "phoneAndPassword";
16879
- return AuthTypeEnum2;
16880
- })(AuthTypeEnum || {});
16881
- var AuthResType = /* @__PURE__ */ ((AuthResType2) => {
16882
- AuthResType2["SUCCESS"] = "success";
16883
- AuthResType2["FAIL"] = "fail";
16884
- AuthResType2["CANCEL"] = "cancel";
16885
- return AuthResType2;
16886
- })(AuthResType || {});
16887
- var REPO_EVENT = /* @__PURE__ */ ((REPO_EVENT2) => {
16888
- REPO_EVENT2["CLICK"] = "PC_PageClick";
16889
- REPO_EVENT2["SHOW"] = "PC_PageShow";
16890
- REPO_EVENT2["STAY"] = "page_stay";
16891
- return REPO_EVENT2;
16892
- })(REPO_EVENT || {});
16893
- var REPO_MODULE = /* @__PURE__ */ ((REPO_MODULE2) => {
16894
- REPO_MODULE2["SEARCH_SUGGESTION_CARD"] = "搜索联想卡片";
16895
- REPO_MODULE2["SEARCH_RECOMMEND_CARD"] = "搜索推荐卡片";
16896
- REPO_MODULE2["SEARCH_BAR_CLICK"] = "搜索框点击";
16897
- REPO_MODULE2["SEARCH_BAR_EXPO"] = "搜索框曝光";
16898
- REPO_MODULE2["REPO"] = "搜索结果_项目";
16899
- REPO_MODULE2["MODEL"] = "搜索结果_模型";
16900
- REPO_MODULE2["DATASET"] = "搜索结果_数据集";
16901
- REPO_MODULE2["TOPIC"] = "topic";
16902
- REPO_MODULE2["TAG"] = "搜索结果_标签";
16903
- REPO_MODULE2["ISSUE"] = "搜索结果_issue";
16904
- REPO_MODULE2["PULLREQUEST"] = "搜索结果_pr";
16905
- REPO_MODULE2["GROUP"] = "搜索结果_组织";
16906
- REPO_MODULE2["USER"] = "搜索结果_用户";
16907
- REPO_MODULE2["COMMIT"] = "搜索结果_commit";
16908
- REPO_MODULE2["SEARCH_SUFFIX_CLICK"] = "搜索按钮点击";
16909
- return REPO_MODULE2;
16910
- })(REPO_MODULE || {});
16911
- var ASIDE_MENU_REPO = /* @__PURE__ */ ((ASIDE_MENU_REPO2) => {
16912
- ASIDE_MENU_REPO2["HOME"] = "侧边栏_首页";
16913
- ASIDE_MENU_REPO2["ISSUES"] = "侧边栏_ISSUE";
16914
- ASIDE_MENU_REPO2["MERGE"] = "侧边栏_PR";
16915
- ASIDE_MENU_REPO2["KANBAN"] = "侧边栏_KANBAN";
16916
- ASIDE_MENU_REPO2["DISCUSSIONCREATED"] = "侧边栏_讨论";
16917
- ASIDE_MENU_REPO2["NEWS"] = "侧边栏_资讯中心";
16918
- ASIDE_MENU_REPO2["CHATBOT"] = "侧边栏_天启";
16919
- ASIDE_MENU_REPO2["COMPETITION"] = "侧边栏_大赛平台";
16920
- ASIDE_MENU_REPO2["ASIDEEXPO"] = "侧边栏_曝光";
16921
- ASIDE_MENU_REPO2["CHATBOTEXPO"] = "头部天启入口_曝光";
16922
- ASIDE_MENU_REPO2["CHATBOTCLICK"] = "头部天启入口_点击";
16923
- ASIDE_MENU_REPO2["TOOLBAR"] = "toolbar_点击";
16924
- ASIDE_MENU_REPO2["TOOLBAREXPO"] = "toolbar_曝光";
16925
- ASIDE_MENU_REPO2["ASIDEBTNCLICK"] = "侧边栏按钮_点击";
16926
- ASIDE_MENU_REPO2["STICKYNOTICECLICK"] = "吸顶公告_点击";
16927
- ASIDE_MENU_REPO2["STICKYNOTICEEXPO"] = "吸顶公告_曝光";
16928
- return ASIDE_MENU_REPO2;
16929
- })(ASIDE_MENU_REPO || {});
16930
- var TOPIC_TYPE = /* @__PURE__ */ ((TOPIC_TYPE2) => {
16931
- TOPIC_TYPE2[TOPIC_TYPE2["OPERATION"] = 0] = "OPERATION";
16932
- TOPIC_TYPE2[TOPIC_TYPE2["USER"] = 1] = "USER";
16933
- return TOPIC_TYPE2;
16934
- })(TOPIC_TYPE || {});
16935
- var REPO_TYPE = /* @__PURE__ */ ((REPO_TYPE2) => {
16936
- REPO_TYPE2[REPO_TYPE2["GITCODE"] = 0] = "GITCODE";
16937
- REPO_TYPE2[REPO_TYPE2["GITHUB_MIRRORS"] = 1] = "GITHUB_MIRRORS";
16938
- REPO_TYPE2[REPO_TYPE2["HUGGINGFACE_MIRRORS"] = 2] = "HUGGINGFACE_MIRRORS";
16939
- return REPO_TYPE2;
16940
- })(REPO_TYPE || {});
16941
16876
  const _hoisted_1$p = ["src"];
16942
16877
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
16943
16878
  ...{
@@ -16952,12 +16887,8 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
16952
16887
  url: ""
16953
16888
  });
16954
16889
  const request = inject("request");
16955
- const useReport2 = inject("useReport");
16956
16890
  const API = asideRequest(request);
16957
16891
  const loaded = ref(false);
16958
- const handleChatBotExpo = (type) => {
16959
- useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.CHATBOTEXPO });
16960
- };
16961
16892
  const getTianqiRouteConfig = async () => {
16962
16893
  var _a;
16963
16894
  try {
@@ -16991,11 +16922,10 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
16991
16922
  });
16992
16923
  function goPage() {
16993
16924
  const url = tianqiButtonConfig.value.url || layoutConfig2.VITE_HOST_TIANQI + "?utm_source=toolbar";
16994
- useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.CHATBOTCLICK });
16995
16925
  window.open(url);
16996
16926
  }
16997
16927
  return (_ctx, _cache) => {
16998
- return withDirectives((openBlock(), createElementBlock("div", {
16928
+ return openBlock(), createElementBlock("div", {
16999
16929
  class: normalizeClass(["agent-tips", customClass.value]),
17000
16930
  onClick: withModifiers(goPage, ["stop"])
17001
16931
  }, [
@@ -17005,9 +16935,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
17005
16935
  alt: "logo",
17006
16936
  class: "w-[108px] cursor-pointer"
17007
16937
  }, null, 8, _hoisted_1$p)) : createCommentVNode("", true)
17008
- ], 2)), [
17009
- [unref(vElementExposure), { trigger: (type) => handleChatBotExpo() }]
17010
- ]);
16938
+ ], 2);
17011
16939
  };
17012
16940
  }
17013
16941
  });
@@ -17364,7 +17292,7 @@ const _hoisted_1$n = {
17364
17292
  const _hoisted_2$h = { class: "flex items-center font-medium gap-[4px]" };
17365
17293
  const _hoisted_3$e = ["src"];
17366
17294
  const _hoisted_4$b = { class: "level-name" };
17367
- const _hoisted_5$8 = { class: "level-icon" };
17295
+ const _hoisted_5$7 = { class: "level-icon" };
17368
17296
  const _hoisted_6$5 = ["src"];
17369
17297
  const _hoisted_7$4 = { class: "custom-btn" };
17370
17298
  const _hoisted_8$4 = { class: "flex items-center justify-center" };
@@ -17424,7 +17352,7 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17424
17352
  }, null, 8, _hoisted_3$e),
17425
17353
  createElementVNode("div", _hoisted_4$b, [
17426
17354
  createElementVNode("div", null, toDisplayString$1(levelInfo.value.name), 1),
17427
- createElementVNode("div", _hoisted_5$8, [
17355
+ createElementVNode("div", _hoisted_5$7, [
17428
17356
  createElementVNode("img", {
17429
17357
  src: levelInfo.value.level,
17430
17358
  alt: ""
@@ -17446,7 +17374,7 @@ const _hoisted_3$d = ["title"];
17446
17374
  const _hoisted_4$a = ["title"];
17447
17375
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
17448
17376
  __name: "UserAvatarMenu",
17449
- props: ["isChatBot", "accountInfo", "loginOutFinish", "inAIHub", "independence"],
17377
+ props: ["isChatBot", "accountInfo", "loginOutFinish", "inAIHub", "independence", "userMenus"],
17450
17378
  setup(__props) {
17451
17379
  const layoutConfig2 = useLayoutConfig();
17452
17380
  const API = headRequest(inject("request"));
@@ -17509,7 +17437,25 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17509
17437
  }
17510
17438
  return routerHref.value;
17511
17439
  });
17512
- const routerHref = computed(() => [
17440
+ const menueDataFormat = (data) => {
17441
+ data.forEach((item) => {
17442
+ if (Array.isArray(item)) {
17443
+ item.forEach((item2) => {
17444
+ if (item2.to) {
17445
+ item2.to = getRouterLink(item2.to);
17446
+ }
17447
+ });
17448
+ }
17449
+ });
17450
+ return data;
17451
+ };
17452
+ const userMenusFormat = computed(() => {
17453
+ if (props.userMenus) {
17454
+ return menueDataFormat(props.userMenus);
17455
+ }
17456
+ return [];
17457
+ });
17458
+ const baseRouterMeus = [
17513
17459
  [
17514
17460
  { id: "dashboard", label: t2("gitCodeLayout.header.workbench"), icon: "gt-plane-user", to: getRouterLink("dashboard") },
17515
17461
  { id: "myOrg", label: t2("gitCodeLayout.header.myOrg"), icon: "gt-plane-organization", to: getRouterLink({ name: "settingOrganization" }) },
@@ -17525,8 +17471,17 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17525
17471
  [
17526
17472
  { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17527
17473
  ]
17528
- ]);
17529
- const hrefList = computed(() => [
17474
+ ];
17475
+ const routerHref = computed(() => {
17476
+ var _a;
17477
+ return [
17478
+ ...((_a = userMenusFormat.value) == null ? void 0 : _a.length) ? userMenusFormat.value : baseRouterMeus,
17479
+ [
17480
+ { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17481
+ ]
17482
+ ];
17483
+ });
17484
+ const baseHrefMeus = [
17530
17485
  [
17531
17486
  { id: "dashboard", label: t2("gitCodeLayout.header.workbench"), icon: "gt-plane-user", link: "/dashboard" },
17532
17487
  { id: "myOrg", label: t2("gitCodeLayout.header.myOrg"), icon: "gt-plane-organization", link: "/setting/organization" },
@@ -17538,11 +17493,17 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17538
17493
  [
17539
17494
  { id: "personalSetting", label: t2("gitCodeLayout.header.personSetting"), icon: "gt-plane-setting", link: "/setting" },
17540
17495
  { id: "help", label: t2("gitCodeLayout.header.helpDocument"), icon: "gt-plane-project-opened", target: "_blank", href: HELP_DOCS_URL }
17541
- ],
17542
- [
17543
- { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17544
17496
  ]
17545
- ]);
17497
+ ];
17498
+ const hrefList = computed(() => {
17499
+ var _a;
17500
+ return [
17501
+ ...((_a = userMenusFormat.value) == null ? void 0 : _a.length) ? userMenusFormat.value : baseHrefMeus,
17502
+ [
17503
+ { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17504
+ ]
17505
+ ];
17506
+ });
17546
17507
  function handleClick(item) {
17547
17508
  if (item == null ? void 0 : item.action) {
17548
17509
  item.action();
@@ -17636,14 +17597,14 @@ const _hoisted_4$9 = {
17636
17597
  key: 0,
17637
17598
  class: "g-user-avatar__badge"
17638
17599
  };
17639
- const _hoisted_5$7 = { class: "g-user-drawer" };
17600
+ const _hoisted_5$6 = { class: "g-user-drawer" };
17640
17601
  const _hoisted_6$4 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17641
17602
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
17642
17603
  ...{
17643
17604
  name: "UserAvatar"
17644
17605
  },
17645
17606
  __name: "UserAvatar",
17646
- props: ["isChatBot", "loginOutFinish", "inAIHub", "independence"],
17607
+ props: ["isChatBot", "loginOutFinish", "inAIHub", "independence", "userMenus"],
17647
17608
  setup(__props) {
17648
17609
  const { isMobile } = usePageResize();
17649
17610
  const drawerVisible = ref(false);
@@ -17718,6 +17679,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17718
17679
  onBeforeUnmount(() => {
17719
17680
  window.removeEventListener("storage", handleStorageChange);
17720
17681
  });
17682
+ console.log("aaa----------------");
17721
17683
  return (_ctx, _cache) => {
17722
17684
  return openBlock(), createElementBlock(Fragment, null, [
17723
17685
  unref(isMobile) ? (openBlock(), createElementBlock("div", {
@@ -17742,14 +17704,15 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17742
17704
  onToggle: handleToggle
17743
17705
  }, {
17744
17706
  menu: withCtx(() => [
17745
- createElementVNode("div", _hoisted_5$7, [
17707
+ createElementVNode("div", _hoisted_5$6, [
17746
17708
  createVNode(UserAvatarMenu, {
17747
17709
  independence: __props.independence,
17748
17710
  loginOutFinish: __props.loginOutFinish,
17749
17711
  accountInfo: accountInfo.value,
17750
17712
  isChatBot: __props.isChatBot,
17751
- inAIHub: __props.inAIHub
17752
- }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub"])
17713
+ inAIHub: __props.inAIHub,
17714
+ userMenus: __props.userMenus
17715
+ }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub", "userMenus"])
17753
17716
  ])
17754
17717
  ]),
17755
17718
  default: withCtx(() => [
@@ -17787,8 +17750,9 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17787
17750
  loginOutFinish: __props.loginOutFinish,
17788
17751
  accountInfo: accountInfo.value,
17789
17752
  isChatBot: __props.isChatBot,
17790
- inAIHub: __props.inAIHub
17791
- }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub"])
17753
+ inAIHub: __props.inAIHub,
17754
+ userMenus: __props.userMenus
17755
+ }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub", "userMenus"])
17792
17756
  ])
17793
17757
  ]),
17794
17758
  _: 1
@@ -17885,11 +17849,70 @@ const setlocalVistHistory = (data, localType) => {
17885
17849
  localStorage$2.setItem(storeName, JSON.stringify(cur));
17886
17850
  return cur;
17887
17851
  };
17852
+ var repoTypeEnum = /* @__PURE__ */ ((repoTypeEnum2) => {
17853
+ repoTypeEnum2["NORMAL"] = "0";
17854
+ repoTypeEnum2["MODEL"] = "1";
17855
+ repoTypeEnum2["DATASET"] = "2";
17856
+ repoTypeEnum2["SPACE"] = "3";
17857
+ return repoTypeEnum2;
17858
+ })(repoTypeEnum || {});
17859
+ var AuthTypeEnum = /* @__PURE__ */ ((AuthTypeEnum2) => {
17860
+ AuthTypeEnum2["CSDN"] = "csdn";
17861
+ AuthTypeEnum2["GITEE"] = "gitee";
17862
+ AuthTypeEnum2["GITHUB"] = "github";
17863
+ AuthTypeEnum2["WECHAT_OPEN"] = "wechat_open";
17864
+ AuthTypeEnum2["WECHAT_MP"] = "wechat_mp";
17865
+ AuthTypeEnum2["H_BUILDER"] = "hbuilder";
17866
+ AuthTypeEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
17867
+ AuthTypeEnum2["ATOMGIT"] = "atomgit";
17868
+ AuthTypeEnum2["PHONE_AND_PASSWORD"] = "phoneAndPassword";
17869
+ return AuthTypeEnum2;
17870
+ })(AuthTypeEnum || {});
17871
+ var AuthResType = /* @__PURE__ */ ((AuthResType2) => {
17872
+ AuthResType2["SUCCESS"] = "success";
17873
+ AuthResType2["FAIL"] = "fail";
17874
+ AuthResType2["CANCEL"] = "cancel";
17875
+ return AuthResType2;
17876
+ })(AuthResType || {});
17877
+ var REPO_EVENT = /* @__PURE__ */ ((REPO_EVENT2) => {
17878
+ REPO_EVENT2["CLICK"] = "PC_PageClick";
17879
+ REPO_EVENT2["SHOW"] = "PC_PageShow";
17880
+ REPO_EVENT2["STAY"] = "page_stay";
17881
+ return REPO_EVENT2;
17882
+ })(REPO_EVENT || {});
17883
+ var REPO_MODULE = /* @__PURE__ */ ((REPO_MODULE2) => {
17884
+ REPO_MODULE2["SEARCH_SUGGESTION_CARD"] = "搜索联想卡片";
17885
+ REPO_MODULE2["SEARCH_RECOMMEND_CARD"] = "搜索推荐卡片";
17886
+ REPO_MODULE2["SEARCH_BAR_CLICK"] = "搜索框点击";
17887
+ REPO_MODULE2["SEARCH_BAR_EXPO"] = "搜索框曝光";
17888
+ REPO_MODULE2["REPO"] = "搜索结果_项目";
17889
+ REPO_MODULE2["MODEL"] = "搜索结果_模型";
17890
+ REPO_MODULE2["DATASET"] = "搜索结果_数据集";
17891
+ REPO_MODULE2["TOPIC"] = "topic";
17892
+ REPO_MODULE2["TAG"] = "搜索结果_标签";
17893
+ REPO_MODULE2["ISSUE"] = "搜索结果_issue";
17894
+ REPO_MODULE2["PULLREQUEST"] = "搜索结果_pr";
17895
+ REPO_MODULE2["GROUP"] = "搜索结果_组织";
17896
+ REPO_MODULE2["USER"] = "搜索结果_用户";
17897
+ REPO_MODULE2["COMMIT"] = "搜索结果_commit";
17898
+ return REPO_MODULE2;
17899
+ })(REPO_MODULE || {});
17900
+ var TOPIC_TYPE = /* @__PURE__ */ ((TOPIC_TYPE2) => {
17901
+ TOPIC_TYPE2[TOPIC_TYPE2["OPERATION"] = 0] = "OPERATION";
17902
+ TOPIC_TYPE2[TOPIC_TYPE2["USER"] = 1] = "USER";
17903
+ return TOPIC_TYPE2;
17904
+ })(TOPIC_TYPE || {});
17905
+ var REPO_TYPE = /* @__PURE__ */ ((REPO_TYPE2) => {
17906
+ REPO_TYPE2[REPO_TYPE2["GITCODE"] = 0] = "GITCODE";
17907
+ REPO_TYPE2[REPO_TYPE2["GITHUB_MIRRORS"] = 1] = "GITHUB_MIRRORS";
17908
+ REPO_TYPE2[REPO_TYPE2["HUGGINGFACE_MIRRORS"] = 2] = "HUGGINGFACE_MIRRORS";
17909
+ return REPO_TYPE2;
17910
+ })(REPO_TYPE || {});
17888
17911
  const _hoisted_1$k = { class: "g-header-search-prefix" };
17889
17912
  const _hoisted_2$e = { class: "g-header-search-suffix-splitline" };
17890
17913
  const _hoisted_3$b = { class: "g-header-search-suffix-suffixIcon" };
17891
17914
  const _hoisted_4$8 = { class: "history-list" };
17892
- const _hoisted_5$6 = {
17915
+ const _hoisted_5$5 = {
17893
17916
  key: 1,
17894
17917
  class: "aireposearch flex-1"
17895
17918
  };
@@ -17902,14 +17925,15 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17902
17925
  },
17903
17926
  setup(__props) {
17904
17927
  var _a;
17928
+ const layoutConfig2 = useLayoutConfig();
17905
17929
  const { t: $t } = i18n.global;
17906
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-C4K2BdqI.js"));
17907
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-Cl3hTf6e.js"));
17908
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-Dut1NjQ3.js"));
17909
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-C2jtstq5.js"));
17910
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CldFimsf.js"));
17911
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-Byii6fX6.js"));
17912
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-Dq3_WdaW.js"));
17930
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-8CSEVMRv.js"));
17931
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-B27EKYf8.js"));
17932
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-B3vGpROj.js"));
17933
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DddGLd8X.js"));
17934
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-BpRayWS1.js"));
17935
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-C60r-Mw5.js"));
17936
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BmmfMYRJ.js"));
17913
17937
  const props = __props;
17914
17938
  const repoInfo = inject("repoInfo");
17915
17939
  const orgInfo = inject("orgInfo");
@@ -18101,10 +18125,6 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18101
18125
  }
18102
18126
  }
18103
18127
  };
18104
- const handleSuffixClick = (type) => {
18105
- useReport2(REPO_EVENT.CLICK, { module_name: REPO_MODULE.SEARCH_SUFFIX_CLICK });
18106
- onSearch();
18107
- };
18108
18128
  const handleSearchMore = (type) => {
18109
18129
  console.log(type);
18110
18130
  searchParams.type = type;
@@ -18328,7 +18348,11 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18328
18348
  type: aiSearchType.value
18329
18349
  };
18330
18350
  setlocalVistHistory(query, "localSearchText");
18331
- router2.push({ name: "search", query });
18351
+ if (router2.hasRoute("search")) {
18352
+ router2.push({ name: "search", query });
18353
+ } else {
18354
+ location.href = `${layoutConfig2.VITE_HOST}/search?q=${query.q}&type=${query.type}`;
18355
+ }
18332
18356
  };
18333
18357
  onUnmounted(() => {
18334
18358
  interval.value && clearInterval(interval.value);
@@ -18337,9 +18361,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18337
18361
  return openBlock(), createElementBlock(Fragment, null, [
18338
18362
  !_ctx.inAIHub ? (openBlock(), createElementBlock("div", {
18339
18363
  key: 0,
18340
- class: normalizeClass([isFocus.value ? "focusSearch" : { "left-search": true }, Boolean(_ctx.isShowStickyNotice) ? "focusSearch-sticky-notice" : ""]),
18341
- onClick: _cache[6] || (_cache[6] = withModifiers(() => {
18342
- }, ["stop"]))
18364
+ class: normalizeClass([isFocus.value ? "focusSearch" : { "left-search": true }, Boolean(_ctx.isShowStickyNotice) ? "focusSearch-sticky-notice" : ""])
18343
18365
  }, [
18344
18366
  withDirectives(createElementVNode("div", {
18345
18367
  class: normalizeClass(["mark-search", searchDropDownVisible.value ? "mask-opacity-transition" : ""]),
@@ -18428,14 +18450,14 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18428
18450
  createVNode(GIcon, {
18429
18451
  name: "gt-search",
18430
18452
  class: "g-header-search-icon",
18431
- onClick: withModifiers(onInputClick, ["stop"])
18453
+ onClick: onInputClick
18432
18454
  })
18433
18455
  ]),
18434
18456
  showRecommendSearch.value ? (openBlock(), createElementBlock("div", {
18435
18457
  key: 0,
18436
18458
  class: normalizeClass(["g-header-search-recommend-placeholder z-[-1] absolute top-0 left-[44px] w-full h-full leading-[100%] text-[var(--theme-placeholder)]", { default: !isFocus.value, focus: isFocus.value }])
18437
18459
  }, [
18438
- _cache[8] || (_cache[8] = createElementVNode("div", { class: "absolute top-0 left-0 h-full flex items-center" }, "🔥", -1)),
18460
+ _cache[7] || (_cache[7] = createElementVNode("div", { class: "absolute top-0 left-0 h-full flex items-center" }, "🔥", -1)),
18439
18461
  (openBlock(true), createElementBlock(Fragment, null, renderList(searchHotWords.value, (item, index2) => {
18440
18462
  return openBlock(), createElementBlock("div", {
18441
18463
  class: normalizeClass(["g-header-search-recommend-item absolute top-0 left-[24px] h-full flex items-center", { fadeInUp: activeSearchKey.value === index2, fadeOutUp: activeSearchKey.value !== index2 }]),
@@ -18464,7 +18486,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18464
18486
  isFocus.value ? (openBlock(), createElementBlock("div", {
18465
18487
  key: 0,
18466
18488
  class: "g-header-search-suffix",
18467
- onClick: withModifiers(handleSuffixClick, ["stop"])
18489
+ onClick: onSearch
18468
18490
  }, [
18469
18491
  withDirectives(createVNode(GIcon, {
18470
18492
  name: "gt-line-close",
@@ -18494,12 +18516,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18494
18516
  _: 1
18495
18517
  }, 8, ["overlay-class", "visible"])
18496
18518
  ], 2)) : createCommentVNode("", true),
18497
- _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$6, [
18519
+ _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18498
18520
  createVNode(unref(Input), {
18499
18521
  placeholder: unref($t)("gitCodeLayout.home.searchPlaceholder"),
18500
18522
  onKeydown: withKeys(searchResult, ["enter"]),
18501
18523
  modelValue: searchStr.value,
18502
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => searchStr.value = $event)
18524
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => searchStr.value = $event)
18503
18525
  }, {
18504
18526
  prefix: withCtx(() => [
18505
18527
  createVNode(GIcon, {
@@ -18515,7 +18537,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18515
18537
  }
18516
18538
  });
18517
18539
  const Search = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-gitcode-layout-lib"]]);
18518
- const NoticeModal = defineAsyncComponent(() => import("./notice-PG7L-qHk.js"));
18540
+ const NoticeModal = defineAsyncComponent(() => import("./notice-BQiiCjtx.js"));
18519
18541
  function clearNotice() {
18520
18542
  if (localStorage$2.getItem("validator_email")) {
18521
18543
  localStorage$2.removeItem("validator_email");
@@ -18542,21 +18564,20 @@ function useNotification() {
18542
18564
  notice
18543
18565
  };
18544
18566
  }
18545
- const _hoisted_1$j = { class: "search-avatar flex-1 flex items-center justify-center" };
18546
- const _hoisted_2$d = {
18567
+ const _hoisted_1$j = {
18547
18568
  key: 1,
18548
18569
  class: "g-header-body"
18549
18570
  };
18550
- const _hoisted_3$a = { class: "g-header-body-left h-full" };
18551
- const _hoisted_4$7 = { class: "g-header-body-right h-full" };
18552
- const _hoisted_5$5 = { key: 2 };
18571
+ const _hoisted_2$d = { class: "g-header-body-left h-full" };
18572
+ const _hoisted_3$a = { class: "g-header-body-right h-full" };
18573
+ const _hoisted_4$7 = { key: 2 };
18553
18574
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
18554
18575
  ...{
18555
18576
  name: "header"
18556
18577
  },
18557
18578
  __name: "index",
18558
18579
  props: {
18559
- sceneValue: { default: SceneValue.home },
18580
+ sceneValue: { default: SceneValue.aihome },
18560
18581
  isLogin: { type: Boolean, default: false },
18561
18582
  request: { type: Function, default: proxyService },
18562
18583
  loginOutFinish: {},
@@ -18574,6 +18595,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18574
18595
  openHarmonyGuide: { type: Boolean },
18575
18596
  headerBorder: { type: Boolean, default: false },
18576
18597
  independence: { type: Boolean, default: true },
18598
+ userMenus: {},
18577
18599
  bgConfig: { default: () => ({
18578
18600
  index_head: "",
18579
18601
  detail_top: "",
@@ -18624,7 +18646,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18624
18646
  case SceneValue.aiHome:
18625
18647
  case SceneValue.aiRepo:
18626
18648
  case SceneValue.aiGuide:
18627
- return [...usualItems, HeaderDisplayItem.CUSTOM_CONTENT, HeaderDisplayItem.DOCUMENT_CENTER];
18649
+ return [HeaderDisplayItem.LOGIN_AND_AVATAR, HeaderDisplayItem.MESSAGE_CENTER, HeaderDisplayItem.DEEPSEEK_BUTTON, HeaderDisplayItem.SEARCH_BUTTON, HeaderDisplayItem.ASIDE_BUTTON, HeaderDisplayItem.CUSTOM_CONTENT];
18628
18650
  default:
18629
18651
  return [HeaderDisplayItem.LOGIN_AND_AVATAR, HeaderDisplayItem.NAME_AND_ICON];
18630
18652
  }
@@ -18676,10 +18698,6 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18676
18698
  }
18677
18699
  return false;
18678
18700
  });
18679
- const handleHamburgerClick = () => {
18680
- emitEvent("toggleAsideMenuByHamburger");
18681
- useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.ASIDEBTNCLICK });
18682
- };
18683
18701
  const handleLogin = (type) => {
18684
18702
  emitEvent("login", { type, triggerType: "主动注册", loginTriggerSource: type === "login" ? "toolbar_login" : "" });
18685
18703
  if (type === "register") {
@@ -18701,10 +18719,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18701
18719
  });
18702
18720
  const homeTabPage = ["/issues", "/pulls", "/kanban", "/discussions"];
18703
18721
  const isShowStickyNotice = computed(() => {
18704
- 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;
18722
+ 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;
18705
18723
  });
18706
18724
  const detailToolbarImg = computed(() => {
18707
- return (currentTheme.value === ThemeType.WHITE ? props.bgConfig.detail_toolbar : props.bgConfig.detail_toolbar_black) || props.bgConfig.detail_toolbar;
18725
+ return (currentTheme.value === ThemeType.WHITE && props.sceneValue !== SceneValue.aiHome ? props.bgConfig.detail_toolbar : props.bgConfig.detail_toolbar_black) || props.bgConfig.detail_toolbar;
18708
18726
  });
18709
18727
  const detailTopImg = computed(() => {
18710
18728
  return (currentTheme.value === ThemeType.WHITE ? props.bgConfig.detail_top : props.bgConfig.detail_top_black) || props.bgConfig.detail_top;
@@ -18735,14 +18753,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18735
18753
  } : {};
18736
18754
  });
18737
18755
  const handleStickyNoticeClick = () => {
18738
- useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.STICKYNOTICECLICK });
18739
18756
  if (props.bgConfig.detail_top_url) {
18740
18757
  window.open(props.bgConfig.detail_top_url, "_blank");
18741
18758
  }
18742
18759
  };
18743
- const handleStickyNoticeExpo = (type) => {
18744
- useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.STICKYNOTICEEXPO });
18745
- };
18746
18760
  const handleHeaderClick = (e) => {
18747
18761
  console.log("handleHeaderClick", e);
18748
18762
  if (!e.target.classList.contains("allow-click-stop")) {
@@ -18752,11 +18766,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18752
18766
  window.open(props.bgConfig.index_head_url, "_blank");
18753
18767
  }
18754
18768
  };
18755
- const handleToolbarExpo = (type) => {
18756
- useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.TOOLBAREXPO });
18757
- };
18758
18769
  const handleToolbarClick = (e) => {
18759
- useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.TOOLBAR });
18770
+ console.log("handleToolbarClick", e);
18760
18771
  if (!e.target.classList.contains("allow-click-stop")) {
18761
18772
  return;
18762
18773
  }
@@ -18830,7 +18841,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18830
18841
  ref_key: "headerRef",
18831
18842
  ref: headerRef
18832
18843
  }, [
18833
- isShowStickyNoticeByClose.value ? withDirectives((openBlock(), createElementBlock("div", {
18844
+ isShowStickyNoticeByClose.value ? (openBlock(), createElementBlock("div", {
18834
18845
  key: 0,
18835
18846
  class: "sticky-notice w-full cursor-pointer",
18836
18847
  style: normalizeStyle(stickyNoticeStyle.value),
@@ -18841,10 +18852,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18841
18852
  name: "gt-close",
18842
18853
  onClick: withModifiers(handleCloseStickyNotice, ["stop"])
18843
18854
  })
18844
- ], 4)), [
18845
- [unref(vElementExposure), { trigger: (type) => handleStickyNoticeExpo() }]
18846
- ]) : createCommentVNode("", true),
18847
- withDirectives((openBlock(), createElementBlock("div", {
18855
+ ], 4)) : createCommentVNode("", true),
18856
+ createElementVNode("div", {
18848
18857
  class: normalizeClass(["g-toolbar w-full overflow-hidden bg-[var(--theme-default-bg)] allow-click-stop", [isHome.value && showHeaderShadow.value ? "head-shadow" : "", _ctx.headerBorder ? "oldBorder" : "", headerClassName.value, isIndexHead.value && !showHeaderShadow.value ? "g-toolbar-index-head" : ""]]),
18849
18858
  style: normalizeStyle(detailBgStyle.value),
18850
18859
  onClick: withModifiers(handleToolbarClick, ["stop"])
@@ -18853,18 +18862,18 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18853
18862
  class: normalizeClass(["g-toolbar-left items-center allow-click-stop", { "flex-[1] min-w-0": !inAIHub.value }])
18854
18863
  }, [
18855
18864
  createElementVNode("div", {
18856
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
18865
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
18857
18866
  }, ["stop"])),
18858
18867
  class: "flex flex-center gap-[12px] g-header-ailog"
18859
18868
  }, [
18860
18869
  isModuleVisible(unref(HeaderDisplayItem).ASIDE_BUTTON) ? (openBlock(), createBlock(GIcon, {
18861
18870
  key: 0,
18862
- onClick: handleHamburgerClick,
18863
- name: "gt-hamburger",
18871
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(emitEvent)("toggleAsideMenuByHamburger")),
18872
+ name: _ctx.sceneValue === unref(SceneValue).aiHome ? "gt-a-hamburgermenu" : "gt-hamburger",
18864
18873
  size: "24px",
18865
18874
  class: "cursor-pointer hover:!text-[var(--theme-stress-text)] g-toolbar-left-asideicon",
18866
18875
  color: "var(--theme-aide-text)"
18867
- })) : createCommentVNode("", true),
18876
+ }, null, 8, ["name"])) : createCommentVNode("", true),
18868
18877
  showNameAndIcon.value && _ctx.independence ? (openBlock(), createBlock(GLink, {
18869
18878
  key: 1,
18870
18879
  class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
@@ -18888,12 +18897,14 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18888
18897
  orgProps: (_b = _ctx.headerCustomProps) == null ? void 0 : _b.orgProps,
18889
18898
  repoProps: (_c = _ctx.headerCustomProps) == null ? void 0 : _c.repoProps,
18890
18899
  userProps: (_d = _ctx.headerCustomProps) == null ? void 0 : _d.userProps,
18891
- onFollowDevCommunity: _cache[1] || (_cache[1] = ($event) => emit("followDevCommunity", $event)),
18892
- onFollowUser: _cache[2] || (_cache[2] = ($event) => emit("followUser"))
18900
+ onFollowDevCommunity: _cache[2] || (_cache[2] = ($event) => emit("followDevCommunity", $event)),
18901
+ onFollowUser: _cache[3] || (_cache[3] = ($event) => emit("followUser"))
18893
18902
  }, null, 8, ["scene", "isLogin", "errorCode", "orgProps", "repoProps", "userProps"])) : createCommentVNode("", true)
18894
18903
  ], 2)) : createCommentVNode("", true)
18895
18904
  ], 2),
18896
- createElementVNode("div", _hoisted_1$j, [
18905
+ createElementVNode("div", {
18906
+ class: normalizeClass(["search-avatar flex-1 flex items-center", inAIHub.value ? "ml-[auto] justify-end" : "justify-center"])
18907
+ }, [
18897
18908
  isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", { key: 0 }, () => [
18898
18909
  (openBlock(), createBlock(Search, {
18899
18910
  inAIHub: inAIHub.value,
@@ -18902,9 +18913,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18902
18913
  isShowStickyNotice: isShowStickyNoticeByClose.value
18903
18914
  }, null, 8, ["inAIHub", "sceneValue", "isShowStickyNotice"]))
18904
18915
  ], true) : createCommentVNode("", true)
18905
- ]),
18916
+ ], 2),
18906
18917
  createElementVNode("div", {
18907
- 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" : ""])
18918
+ class: normalizeClass(["g-toolbar-right gap-[16px] flex-[1] justify-end max-md:gap-[12px] allow-click-stop", inAIHub.value ? "flex-none" : ""])
18908
18919
  }, [
18909
18920
  isModuleVisible(unref(HeaderDisplayItem).DEEPSEEK_BUTTON) ? (openBlock(), createBlock(ChatBot, { key: 0 })) : createCommentVNode("", true),
18910
18921
  !_ctx.isLogin ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -18912,7 +18923,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18912
18923
  unref(isMobile) ? (openBlock(), createElementBlock("section", {
18913
18924
  key: 0,
18914
18925
  class: "app-login-warp border-none login-icon",
18915
- onClick: _cache[3] || (_cache[3] = ($event) => handleLogin("login"))
18926
+ onClick: _cache[4] || (_cache[4] = ($event) => handleLogin("login"))
18916
18927
  }, [
18917
18928
  createVNode(GIcon, {
18918
18929
  name: "gt-line-NotLoggedIn",
@@ -18924,7 +18935,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18924
18935
  createVNode(unref(Button), {
18925
18936
  variant: "solid",
18926
18937
  color: "primary",
18927
- onClick: _cache[4] || (_cache[4] = withModifiers(($event) => handleLogin("login"), ["stop"]))
18938
+ onClick: _cache[5] || (_cache[5] = withModifiers(($event) => handleLogin("login"), ["stop"]))
18928
18939
  }, {
18929
18940
  default: withCtx(() => [
18930
18941
  createTextVNode(toDisplayString$1(unref(t2)("gitCodeLayout.header.login")), 1)
@@ -18932,7 +18943,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18932
18943
  _: 1
18933
18944
  }),
18934
18945
  createVNode(unref(Button), {
18935
- onClick: _cache[5] || (_cache[5] = withModifiers(($event) => handleLogin("register"), ["stop"])),
18946
+ onClick: _cache[6] || (_cache[6] = withModifiers(($event) => handleLogin("register"), ["stop"])),
18936
18947
  class: "min-w-[64px]"
18937
18948
  }, {
18938
18949
  default: withCtx(() => [
@@ -18951,24 +18962,23 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18951
18962
  isChatBot: isChatBot.value,
18952
18963
  loginOutFinish: _ctx.loginOutFinish,
18953
18964
  inAIHub: inAIHub.value,
18954
- independence: _ctx.independence
18955
- }, null, 8, ["isChatBot", "loginOutFinish", "inAIHub", "independence"])) : createCommentVNode("", true)
18965
+ independence: _ctx.independence,
18966
+ userMenus: _ctx.userMenus
18967
+ }, null, 8, ["isChatBot", "loginOutFinish", "inAIHub", "independence", "userMenus"])) : createCommentVNode("", true)
18956
18968
  ], 64))
18957
18969
  ], 2)
18958
- ], 6)), [
18959
- [unref(vElementExposure), { trigger: (type) => handleToolbarExpo() }]
18960
- ]),
18961
- _ctx.$slots.info || _ctx.$slots.menu || _ctx.$slots.bodyHeader ? (openBlock(), createElementBlock("div", _hoisted_2$d, [
18970
+ ], 6),
18971
+ _ctx.$slots.info || _ctx.$slots.menu || _ctx.$slots.bodyHeader ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
18962
18972
  renderSlot(_ctx.$slots, "bodyHeader", {}, () => [
18963
- createElementVNode("div", _hoisted_3$a, [
18973
+ createElementVNode("div", _hoisted_2$d, [
18964
18974
  renderSlot(_ctx.$slots, "info", {}, void 0, true)
18965
18975
  ]),
18966
- createElementVNode("div", _hoisted_4$7, [
18976
+ createElementVNode("div", _hoisted_3$a, [
18967
18977
  renderSlot(_ctx.$slots, "menu", {}, void 0, true)
18968
18978
  ])
18969
18979
  ], true)
18970
18980
  ])) : createCommentVNode("", true),
18971
- _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18981
+ _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
18972
18982
  renderSlot(_ctx.$slots, "headerBottom", {}, void 0, true)
18973
18983
  ])) : createCommentVNode("", true)
18974
18984
  ], 2)
@@ -20063,12 +20073,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20063
20073
  const openMode = (parentNode == null ? void 0 : parentNode.getAttribute("data-openBlank")) ? "_blank" : "_self";
20064
20074
  const url = (parentNode == null ? void 0 : parentNode.getAttribute("data-href")) || "";
20065
20075
  const host = (parentNode == null ? void 0 : parentNode.getAttribute("data-host")) || "";
20066
- const key = (parentNode == null ? void 0 : parentNode.getAttribute("data-key")) || "";
20067
- const REPOKEY = (key || "").toUpperCase();
20068
- const reportName = ASIDE_MENU_REPO[REPOKEY] || "";
20069
- if (reportName) {
20070
- useReport2(REPO_EVENT.CLICK, { module_name: reportName });
20071
- }
20072
20076
  if (host === layoutConfig2.VITE_AI_HOST) {
20073
20077
  useReport2(AsideReportEvent.AI_CLICK, {});
20074
20078
  }
@@ -20102,9 +20106,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20102
20106
  }
20103
20107
  emits("onMenuClick");
20104
20108
  };
20105
- const handleAsideMenuExpo = (type) => {
20106
- useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.ASIDEEXPO });
20107
- };
20108
20109
  function checkMenu() {
20109
20110
  if (!route) return;
20110
20111
  const name = route == null ? void 0 : route.name;
@@ -20178,7 +20179,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20178
20179
  key: 0,
20179
20180
  class: normalizeClass(["side-bar-content", { "side-bar-content-shot": _ctx.asideSetShowLittle, "shot-isCh": !isEn.value }])
20180
20181
  }, [
20181
- withDirectives((openBlock(), createElementBlock("div", {
20182
+ createElementVNode("div", {
20182
20183
  class: normalizeClass(["flex-1 flex flex-col justify-between min-w-0 overflow-y-auto aside-menus", { scroll: isScroll.value }]),
20183
20184
  onScroll: handleScroll,
20184
20185
  onMouseleave: handleMouseLeave
@@ -20206,7 +20207,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20206
20207
  default: withCtx(() => [
20207
20208
  (openBlock(), createBlock(unref(MenuItem), {
20208
20209
  key: item.key,
20209
- "data-key": item.key,
20210
20210
  "data-openBlank": item.openBlank,
20211
20211
  "data-route": item.route ? JSON.stringify(item.route) : "",
20212
20212
  "data-href": item.href,
@@ -20230,12 +20230,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20230
20230
  createElementVNode("span", _hoisted_1$e, toDisplayString$1(item.label), 1)
20231
20231
  ]),
20232
20232
  _: 2
20233
- }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20233
+ }, 1032, ["data-openBlank", "data-route", "data-href", "data-host"]))
20234
20234
  ]),
20235
20235
  _: 2
20236
20236
  }, 1024)) : (openBlock(), createBlock(unref(MenuItem), {
20237
20237
  key: item.key,
20238
- "data-key": item.key,
20239
20238
  "data-openBlank": item.openBlank,
20240
20239
  "data-route": item.route ? JSON.stringify(item.route) : "",
20241
20240
  "data-href": item.href,
@@ -20259,14 +20258,13 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20259
20258
  createElementVNode("span", _hoisted_2$8, toDisplayString$1(item.label), 1)
20260
20259
  ]),
20261
20260
  _: 2
20262
- }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20261
+ }, 1032, ["data-openBlank", "data-route", "data-href", "data-host"]))
20263
20262
  ], 64);
20264
20263
  }), 256)),
20265
20264
  !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$5)) : createCommentVNode("", true),
20266
20265
  (openBlock(true), createElementBlock(Fragment, null, renderList(externalRoutes.value, (item) => {
20267
20266
  return openBlock(), createBlock(unref(MenuItem), {
20268
20267
  key: `${item.key}-${item.logo}`,
20269
- "data-key": item.key,
20270
20268
  "data-route": item.route ? JSON.stringify(item.route) : "",
20271
20269
  "data-href": item.href,
20272
20270
  "data-host": item.host,
@@ -20301,7 +20299,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20301
20299
  createElementVNode("span", _hoisted_6$2, toDisplayString$1(item.label), 1)
20302
20300
  ]),
20303
20301
  _: 2
20304
- }, 1032, ["data-key", "data-route", "data-href", "data-host", "data-openBlank"]);
20302
+ }, 1032, ["data-route", "data-href", "data-host", "data-openBlank"]);
20305
20303
  }), 128)),
20306
20304
  !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_7$2)) : createCommentVNode("", true),
20307
20305
  !_ctx.asideSetShowLittle ? (openBlock(), createBlock(ProjectMenuListV2, {
@@ -20415,9 +20413,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20415
20413
  ])
20416
20414
  ])
20417
20415
  ])) : createCommentVNode("", true)
20418
- ], 34)), [
20419
- [unref(vElementExposure), { trigger: (type) => handleAsideMenuExpo() }]
20420
- ]),
20416
+ ], 34),
20421
20417
  showPreferencesSetting.value ? (openBlock(), createElementBlock("div", _hoisted_20$1, [
20422
20418
  createVNode(unref(Dropdown), {
20423
20419
  position: ["bottom-end"],
@@ -20480,6 +20476,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
20480
20476
  },
20481
20477
  setup(__props) {
20482
20478
  const route = useRoute();
20479
+ const layoutConfig2 = useLayoutConfig();
20483
20480
  const props = __props;
20484
20481
  const { useReport: useReport2 } = useRequestReport(props.request, props.globalStore);
20485
20482
  provide("globalStore", computed(() => props.globalStore));
@@ -20591,8 +20588,9 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
20591
20588
  createElementVNode("div", _hoisted_1$d, [
20592
20589
  createVNode(GLink, {
20593
20590
  class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
20594
- to: { name: "home" }
20595
- }, null, 8, ["class"]),
20591
+ to: _ctx.independence ? "" : { name: "home" },
20592
+ href: _ctx.independence ? unref(layoutConfig2).VITE_HOST : ""
20593
+ }, null, 8, ["class", "to", "href"]),
20596
20594
  createVNode(unref(Button), {
20597
20595
  class: "cursor-pointer draw-side-bar-close",
20598
20596
  icon: "close",
@@ -21414,7 +21412,7 @@ const routes = [
21414
21412
  }
21415
21413
  ];
21416
21414
  const router = createRouter({
21417
- history: createWebHistory(),
21415
+ history: typeof window !== "undefined" ? createWebHistory() : createMemoryHistory(),
21418
21416
  routes
21419
21417
  });
21420
21418
  async function csdnloginCheck(route, loginCallback, request) {
@@ -25173,7 +25171,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25173
25171
  }
25174
25172
  });
25175
25173
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-gitcode-layout-lib"]]);
25176
- const SlidCaptcha = defineAsyncComponent(() => import("./index-k9V8PYfj.js"));
25174
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-B9L9HJmZ.js"));
25177
25175
  const useSlidCaptcha = () => {
25178
25176
  const { mount, unMount } = usePopup("slid-captcha-popup");
25179
25177
  const open = (config) => {
@@ -26756,16 +26754,15 @@ const index = {
26756
26754
  }
26757
26755
  };
26758
26756
  export {
26759
- GitCodeAside as A,
26760
- GitCodeHeader as B,
26761
- useLogin as C,
26762
- setLayoutConfig as D,
26757
+ GitCodeHeader as A,
26758
+ useLogin as B,
26759
+ setLayoutConfig as C,
26760
+ GitCodeLayoutEmitter as D,
26763
26761
  EVENT_NAME as E,
26764
- GitCodeLayoutEmitter as F,
26762
+ currentTheme as F,
26765
26763
  GIcon as G,
26766
- currentTheme as H,
26767
- setTheme as I,
26768
- index as J,
26764
+ setTheme as H,
26765
+ index as I,
26769
26766
  LANG_KEY as L,
26770
26767
  REPO_MODULE as R,
26771
26768
  SceneValue as S,
@@ -26792,9 +26789,9 @@ export {
26792
26789
  setLoginTriggerSource as s,
26793
26790
  transferNumber as t,
26794
26791
  useModel as u,
26795
- vElementExposure as v,
26796
- _frEventTrack as w,
26797
- useLayoutConfig as x,
26798
- ToolsFloat as y,
26799
- _sfc_main as z
26792
+ _frEventTrack as v,
26793
+ useLayoutConfig as w,
26794
+ ToolsFloat as x,
26795
+ _sfc_main as y,
26796
+ GitCodeAside as z
26800
26797
  };