vue-layout-gitcode 1.3.34 → 1.3.35

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,19 @@ 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 baseRouterMeus = [
17513
17453
  [
17514
17454
  { id: "dashboard", label: t2("gitCodeLayout.header.workbench"), icon: "gt-plane-user", to: getRouterLink("dashboard") },
17515
17455
  { id: "myOrg", label: t2("gitCodeLayout.header.myOrg"), icon: "gt-plane-organization", to: getRouterLink({ name: "settingOrganization" }) },
@@ -17525,8 +17465,14 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17525
17465
  [
17526
17466
  { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17527
17467
  ]
17468
+ ];
17469
+ const routerHref = computed(() => [
17470
+ ...props.userMenus ? menueDataFormat(props.userMenus) : baseRouterMeus,
17471
+ [
17472
+ { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17473
+ ]
17528
17474
  ]);
17529
- const hrefList = computed(() => [
17475
+ const baseHrefMeus = [
17530
17476
  [
17531
17477
  { id: "dashboard", label: t2("gitCodeLayout.header.workbench"), icon: "gt-plane-user", link: "/dashboard" },
17532
17478
  { id: "myOrg", label: t2("gitCodeLayout.header.myOrg"), icon: "gt-plane-organization", link: "/setting/organization" },
@@ -17538,7 +17484,10 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17538
17484
  [
17539
17485
  { id: "personalSetting", label: t2("gitCodeLayout.header.personSetting"), icon: "gt-plane-setting", link: "/setting" },
17540
17486
  { id: "help", label: t2("gitCodeLayout.header.helpDocument"), icon: "gt-plane-project-opened", target: "_blank", href: HELP_DOCS_URL }
17541
- ],
17487
+ ]
17488
+ ];
17489
+ const hrefList = computed(() => [
17490
+ ...props.userMenus ? props.userMenus : baseHrefMeus,
17542
17491
  [
17543
17492
  { id: "logout", label: t2("gitCodeLayout.header.logout"), icon: "gt-default", action: logout }
17544
17493
  ]
@@ -17636,14 +17585,14 @@ const _hoisted_4$9 = {
17636
17585
  key: 0,
17637
17586
  class: "g-user-avatar__badge"
17638
17587
  };
17639
- const _hoisted_5$7 = { class: "g-user-drawer" };
17588
+ const _hoisted_5$6 = { class: "g-user-drawer" };
17640
17589
  const _hoisted_6$4 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17641
17590
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
17642
17591
  ...{
17643
17592
  name: "UserAvatar"
17644
17593
  },
17645
17594
  __name: "UserAvatar",
17646
- props: ["isChatBot", "loginOutFinish", "inAIHub", "independence"],
17595
+ props: ["isChatBot", "loginOutFinish", "inAIHub", "independence", "userMenus"],
17647
17596
  setup(__props) {
17648
17597
  const { isMobile } = usePageResize();
17649
17598
  const drawerVisible = ref(false);
@@ -17718,6 +17667,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17718
17667
  onBeforeUnmount(() => {
17719
17668
  window.removeEventListener("storage", handleStorageChange);
17720
17669
  });
17670
+ console.log("aaa----------------");
17721
17671
  return (_ctx, _cache) => {
17722
17672
  return openBlock(), createElementBlock(Fragment, null, [
17723
17673
  unref(isMobile) ? (openBlock(), createElementBlock("div", {
@@ -17742,14 +17692,15 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17742
17692
  onToggle: handleToggle
17743
17693
  }, {
17744
17694
  menu: withCtx(() => [
17745
- createElementVNode("div", _hoisted_5$7, [
17695
+ createElementVNode("div", _hoisted_5$6, [
17746
17696
  createVNode(UserAvatarMenu, {
17747
17697
  independence: __props.independence,
17748
17698
  loginOutFinish: __props.loginOutFinish,
17749
17699
  accountInfo: accountInfo.value,
17750
17700
  isChatBot: __props.isChatBot,
17751
- inAIHub: __props.inAIHub
17752
- }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub"])
17701
+ inAIHub: __props.inAIHub,
17702
+ userMenus: __props.userMenus
17703
+ }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub", "userMenus"])
17753
17704
  ])
17754
17705
  ]),
17755
17706
  default: withCtx(() => [
@@ -17787,8 +17738,9 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17787
17738
  loginOutFinish: __props.loginOutFinish,
17788
17739
  accountInfo: accountInfo.value,
17789
17740
  isChatBot: __props.isChatBot,
17790
- inAIHub: __props.inAIHub
17791
- }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub"])
17741
+ inAIHub: __props.inAIHub,
17742
+ userMenus: __props.userMenus
17743
+ }, null, 8, ["independence", "loginOutFinish", "accountInfo", "isChatBot", "inAIHub", "userMenus"])
17792
17744
  ])
17793
17745
  ]),
17794
17746
  _: 1
@@ -17885,11 +17837,70 @@ const setlocalVistHistory = (data, localType) => {
17885
17837
  localStorage$2.setItem(storeName, JSON.stringify(cur));
17886
17838
  return cur;
17887
17839
  };
17840
+ var repoTypeEnum = /* @__PURE__ */ ((repoTypeEnum2) => {
17841
+ repoTypeEnum2["NORMAL"] = "0";
17842
+ repoTypeEnum2["MODEL"] = "1";
17843
+ repoTypeEnum2["DATASET"] = "2";
17844
+ repoTypeEnum2["SPACE"] = "3";
17845
+ return repoTypeEnum2;
17846
+ })(repoTypeEnum || {});
17847
+ var AuthTypeEnum = /* @__PURE__ */ ((AuthTypeEnum2) => {
17848
+ AuthTypeEnum2["CSDN"] = "csdn";
17849
+ AuthTypeEnum2["GITEE"] = "gitee";
17850
+ AuthTypeEnum2["GITHUB"] = "github";
17851
+ AuthTypeEnum2["WECHAT_OPEN"] = "wechat_open";
17852
+ AuthTypeEnum2["WECHAT_MP"] = "wechat_mp";
17853
+ AuthTypeEnum2["H_BUILDER"] = "hbuilder";
17854
+ AuthTypeEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
17855
+ AuthTypeEnum2["ATOMGIT"] = "atomgit";
17856
+ AuthTypeEnum2["PHONE_AND_PASSWORD"] = "phoneAndPassword";
17857
+ return AuthTypeEnum2;
17858
+ })(AuthTypeEnum || {});
17859
+ var AuthResType = /* @__PURE__ */ ((AuthResType2) => {
17860
+ AuthResType2["SUCCESS"] = "success";
17861
+ AuthResType2["FAIL"] = "fail";
17862
+ AuthResType2["CANCEL"] = "cancel";
17863
+ return AuthResType2;
17864
+ })(AuthResType || {});
17865
+ var REPO_EVENT = /* @__PURE__ */ ((REPO_EVENT2) => {
17866
+ REPO_EVENT2["CLICK"] = "PC_PageClick";
17867
+ REPO_EVENT2["SHOW"] = "PC_PageShow";
17868
+ REPO_EVENT2["STAY"] = "page_stay";
17869
+ return REPO_EVENT2;
17870
+ })(REPO_EVENT || {});
17871
+ var REPO_MODULE = /* @__PURE__ */ ((REPO_MODULE2) => {
17872
+ REPO_MODULE2["SEARCH_SUGGESTION_CARD"] = "搜索联想卡片";
17873
+ REPO_MODULE2["SEARCH_RECOMMEND_CARD"] = "搜索推荐卡片";
17874
+ REPO_MODULE2["SEARCH_BAR_CLICK"] = "搜索框点击";
17875
+ REPO_MODULE2["SEARCH_BAR_EXPO"] = "搜索框曝光";
17876
+ REPO_MODULE2["REPO"] = "搜索结果_项目";
17877
+ REPO_MODULE2["MODEL"] = "搜索结果_模型";
17878
+ REPO_MODULE2["DATASET"] = "搜索结果_数据集";
17879
+ REPO_MODULE2["TOPIC"] = "topic";
17880
+ REPO_MODULE2["TAG"] = "搜索结果_标签";
17881
+ REPO_MODULE2["ISSUE"] = "搜索结果_issue";
17882
+ REPO_MODULE2["PULLREQUEST"] = "搜索结果_pr";
17883
+ REPO_MODULE2["GROUP"] = "搜索结果_组织";
17884
+ REPO_MODULE2["USER"] = "搜索结果_用户";
17885
+ REPO_MODULE2["COMMIT"] = "搜索结果_commit";
17886
+ return REPO_MODULE2;
17887
+ })(REPO_MODULE || {});
17888
+ var TOPIC_TYPE = /* @__PURE__ */ ((TOPIC_TYPE2) => {
17889
+ TOPIC_TYPE2[TOPIC_TYPE2["OPERATION"] = 0] = "OPERATION";
17890
+ TOPIC_TYPE2[TOPIC_TYPE2["USER"] = 1] = "USER";
17891
+ return TOPIC_TYPE2;
17892
+ })(TOPIC_TYPE || {});
17893
+ var REPO_TYPE = /* @__PURE__ */ ((REPO_TYPE2) => {
17894
+ REPO_TYPE2[REPO_TYPE2["GITCODE"] = 0] = "GITCODE";
17895
+ REPO_TYPE2[REPO_TYPE2["GITHUB_MIRRORS"] = 1] = "GITHUB_MIRRORS";
17896
+ REPO_TYPE2[REPO_TYPE2["HUGGINGFACE_MIRRORS"] = 2] = "HUGGINGFACE_MIRRORS";
17897
+ return REPO_TYPE2;
17898
+ })(REPO_TYPE || {});
17888
17899
  const _hoisted_1$k = { class: "g-header-search-prefix" };
17889
17900
  const _hoisted_2$e = { class: "g-header-search-suffix-splitline" };
17890
17901
  const _hoisted_3$b = { class: "g-header-search-suffix-suffixIcon" };
17891
17902
  const _hoisted_4$8 = { class: "history-list" };
17892
- const _hoisted_5$6 = {
17903
+ const _hoisted_5$5 = {
17893
17904
  key: 1,
17894
17905
  class: "aireposearch flex-1"
17895
17906
  };
@@ -17902,14 +17913,15 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17902
17913
  },
17903
17914
  setup(__props) {
17904
17915
  var _a;
17916
+ const layoutConfig2 = useLayoutConfig();
17905
17917
  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"));
17918
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-BNrSMhdu.js"));
17919
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-BcvA5w6_.js"));
17920
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-CEMWMCK1.js"));
17921
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DEJ5U1BL.js"));
17922
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-D8THv6dg.js"));
17923
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-Cc9VUnNq.js"));
17924
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-B2UiJbaY.js"));
17913
17925
  const props = __props;
17914
17926
  const repoInfo = inject("repoInfo");
17915
17927
  const orgInfo = inject("orgInfo");
@@ -18101,10 +18113,6 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18101
18113
  }
18102
18114
  }
18103
18115
  };
18104
- const handleSuffixClick = (type) => {
18105
- useReport2(REPO_EVENT.CLICK, { module_name: REPO_MODULE.SEARCH_SUFFIX_CLICK });
18106
- onSearch();
18107
- };
18108
18116
  const handleSearchMore = (type) => {
18109
18117
  console.log(type);
18110
18118
  searchParams.type = type;
@@ -18328,7 +18336,11 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18328
18336
  type: aiSearchType.value
18329
18337
  };
18330
18338
  setlocalVistHistory(query, "localSearchText");
18331
- router2.push({ name: "search", query });
18339
+ if (router2.hasRoute("search")) {
18340
+ router2.push({ name: "search", query });
18341
+ } else {
18342
+ location.href = `${layoutConfig2.VITE_HOST}/search?q=${query.q}&type=${query.type}`;
18343
+ }
18332
18344
  };
18333
18345
  onUnmounted(() => {
18334
18346
  interval.value && clearInterval(interval.value);
@@ -18337,9 +18349,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18337
18349
  return openBlock(), createElementBlock(Fragment, null, [
18338
18350
  !_ctx.inAIHub ? (openBlock(), createElementBlock("div", {
18339
18351
  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"]))
18352
+ class: normalizeClass([isFocus.value ? "focusSearch" : { "left-search": true }, Boolean(_ctx.isShowStickyNotice) ? "focusSearch-sticky-notice" : ""])
18343
18353
  }, [
18344
18354
  withDirectives(createElementVNode("div", {
18345
18355
  class: normalizeClass(["mark-search", searchDropDownVisible.value ? "mask-opacity-transition" : ""]),
@@ -18428,14 +18438,14 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18428
18438
  createVNode(GIcon, {
18429
18439
  name: "gt-search",
18430
18440
  class: "g-header-search-icon",
18431
- onClick: withModifiers(onInputClick, ["stop"])
18441
+ onClick: onInputClick
18432
18442
  })
18433
18443
  ]),
18434
18444
  showRecommendSearch.value ? (openBlock(), createElementBlock("div", {
18435
18445
  key: 0,
18436
18446
  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
18447
  }, [
18438
- _cache[8] || (_cache[8] = createElementVNode("div", { class: "absolute top-0 left-0 h-full flex items-center" }, "🔥", -1)),
18448
+ _cache[7] || (_cache[7] = createElementVNode("div", { class: "absolute top-0 left-0 h-full flex items-center" }, "🔥", -1)),
18439
18449
  (openBlock(true), createElementBlock(Fragment, null, renderList(searchHotWords.value, (item, index2) => {
18440
18450
  return openBlock(), createElementBlock("div", {
18441
18451
  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 +18474,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18464
18474
  isFocus.value ? (openBlock(), createElementBlock("div", {
18465
18475
  key: 0,
18466
18476
  class: "g-header-search-suffix",
18467
- onClick: withModifiers(handleSuffixClick, ["stop"])
18477
+ onClick: onSearch
18468
18478
  }, [
18469
18479
  withDirectives(createVNode(GIcon, {
18470
18480
  name: "gt-line-close",
@@ -18494,12 +18504,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18494
18504
  _: 1
18495
18505
  }, 8, ["overlay-class", "visible"])
18496
18506
  ], 2)) : createCommentVNode("", true),
18497
- _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$6, [
18507
+ _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18498
18508
  createVNode(unref(Input), {
18499
18509
  placeholder: unref($t)("gitCodeLayout.home.searchPlaceholder"),
18500
18510
  onKeydown: withKeys(searchResult, ["enter"]),
18501
18511
  modelValue: searchStr.value,
18502
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => searchStr.value = $event)
18512
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => searchStr.value = $event)
18503
18513
  }, {
18504
18514
  prefix: withCtx(() => [
18505
18515
  createVNode(GIcon, {
@@ -18515,7 +18525,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18515
18525
  }
18516
18526
  });
18517
18527
  const Search = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-gitcode-layout-lib"]]);
18518
- const NoticeModal = defineAsyncComponent(() => import("./notice-PG7L-qHk.js"));
18528
+ const NoticeModal = defineAsyncComponent(() => import("./notice-YtZkV17M.js"));
18519
18529
  function clearNotice() {
18520
18530
  if (localStorage$2.getItem("validator_email")) {
18521
18531
  localStorage$2.removeItem("validator_email");
@@ -18542,21 +18552,20 @@ function useNotification() {
18542
18552
  notice
18543
18553
  };
18544
18554
  }
18545
- const _hoisted_1$j = { class: "search-avatar flex-1 flex items-center justify-center" };
18546
- const _hoisted_2$d = {
18555
+ const _hoisted_1$j = {
18547
18556
  key: 1,
18548
18557
  class: "g-header-body"
18549
18558
  };
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 };
18559
+ const _hoisted_2$d = { class: "g-header-body-left h-full" };
18560
+ const _hoisted_3$a = { class: "g-header-body-right h-full" };
18561
+ const _hoisted_4$7 = { key: 2 };
18553
18562
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
18554
18563
  ...{
18555
18564
  name: "header"
18556
18565
  },
18557
18566
  __name: "index",
18558
18567
  props: {
18559
- sceneValue: { default: SceneValue.home },
18568
+ sceneValue: { default: SceneValue.aihome },
18560
18569
  isLogin: { type: Boolean, default: false },
18561
18570
  request: { type: Function, default: proxyService },
18562
18571
  loginOutFinish: {},
@@ -18574,6 +18583,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18574
18583
  openHarmonyGuide: { type: Boolean },
18575
18584
  headerBorder: { type: Boolean, default: false },
18576
18585
  independence: { type: Boolean, default: true },
18586
+ userMenus: {},
18577
18587
  bgConfig: { default: () => ({
18578
18588
  index_head: "",
18579
18589
  detail_top: "",
@@ -18624,7 +18634,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18624
18634
  case SceneValue.aiHome:
18625
18635
  case SceneValue.aiRepo:
18626
18636
  case SceneValue.aiGuide:
18627
- return [...usualItems, HeaderDisplayItem.CUSTOM_CONTENT, HeaderDisplayItem.DOCUMENT_CENTER];
18637
+ return [HeaderDisplayItem.LOGIN_AND_AVATAR, HeaderDisplayItem.MESSAGE_CENTER, HeaderDisplayItem.DEEPSEEK_BUTTON, HeaderDisplayItem.SEARCH_BUTTON, HeaderDisplayItem.ASIDE_BUTTON, HeaderDisplayItem.CUSTOM_CONTENT];
18628
18638
  default:
18629
18639
  return [HeaderDisplayItem.LOGIN_AND_AVATAR, HeaderDisplayItem.NAME_AND_ICON];
18630
18640
  }
@@ -18676,10 +18686,6 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18676
18686
  }
18677
18687
  return false;
18678
18688
  });
18679
- const handleHamburgerClick = () => {
18680
- emitEvent("toggleAsideMenuByHamburger");
18681
- useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.ASIDEBTNCLICK });
18682
- };
18683
18689
  const handleLogin = (type) => {
18684
18690
  emitEvent("login", { type, triggerType: "主动注册", loginTriggerSource: type === "login" ? "toolbar_login" : "" });
18685
18691
  if (type === "register") {
@@ -18701,10 +18707,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18701
18707
  });
18702
18708
  const homeTabPage = ["/issues", "/pulls", "/kanban", "/discussions"];
18703
18709
  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;
18710
+ 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
18711
  });
18706
18712
  const detailToolbarImg = computed(() => {
18707
- return (currentTheme.value === ThemeType.WHITE ? props.bgConfig.detail_toolbar : props.bgConfig.detail_toolbar_black) || props.bgConfig.detail_toolbar;
18713
+ return (currentTheme.value === ThemeType.WHITE && props.sceneValue !== SceneValue.aiHome ? props.bgConfig.detail_toolbar : props.bgConfig.detail_toolbar_black) || props.bgConfig.detail_toolbar;
18708
18714
  });
18709
18715
  const detailTopImg = computed(() => {
18710
18716
  return (currentTheme.value === ThemeType.WHITE ? props.bgConfig.detail_top : props.bgConfig.detail_top_black) || props.bgConfig.detail_top;
@@ -18735,14 +18741,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18735
18741
  } : {};
18736
18742
  });
18737
18743
  const handleStickyNoticeClick = () => {
18738
- useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.STICKYNOTICECLICK });
18739
18744
  if (props.bgConfig.detail_top_url) {
18740
18745
  window.open(props.bgConfig.detail_top_url, "_blank");
18741
18746
  }
18742
18747
  };
18743
- const handleStickyNoticeExpo = (type) => {
18744
- useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.STICKYNOTICEEXPO });
18745
- };
18746
18748
  const handleHeaderClick = (e) => {
18747
18749
  console.log("handleHeaderClick", e);
18748
18750
  if (!e.target.classList.contains("allow-click-stop")) {
@@ -18752,11 +18754,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18752
18754
  window.open(props.bgConfig.index_head_url, "_blank");
18753
18755
  }
18754
18756
  };
18755
- const handleToolbarExpo = (type) => {
18756
- useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.TOOLBAREXPO });
18757
- };
18758
18757
  const handleToolbarClick = (e) => {
18759
- useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.TOOLBAR });
18758
+ console.log("handleToolbarClick", e);
18760
18759
  if (!e.target.classList.contains("allow-click-stop")) {
18761
18760
  return;
18762
18761
  }
@@ -18830,7 +18829,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18830
18829
  ref_key: "headerRef",
18831
18830
  ref: headerRef
18832
18831
  }, [
18833
- isShowStickyNoticeByClose.value ? withDirectives((openBlock(), createElementBlock("div", {
18832
+ isShowStickyNoticeByClose.value ? (openBlock(), createElementBlock("div", {
18834
18833
  key: 0,
18835
18834
  class: "sticky-notice w-full cursor-pointer",
18836
18835
  style: normalizeStyle(stickyNoticeStyle.value),
@@ -18841,10 +18840,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18841
18840
  name: "gt-close",
18842
18841
  onClick: withModifiers(handleCloseStickyNotice, ["stop"])
18843
18842
  })
18844
- ], 4)), [
18845
- [unref(vElementExposure), { trigger: (type) => handleStickyNoticeExpo() }]
18846
- ]) : createCommentVNode("", true),
18847
- withDirectives((openBlock(), createElementBlock("div", {
18843
+ ], 4)) : createCommentVNode("", true),
18844
+ createElementVNode("div", {
18848
18845
  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
18846
  style: normalizeStyle(detailBgStyle.value),
18850
18847
  onClick: withModifiers(handleToolbarClick, ["stop"])
@@ -18853,18 +18850,18 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18853
18850
  class: normalizeClass(["g-toolbar-left items-center allow-click-stop", { "flex-[1] min-w-0": !inAIHub.value }])
18854
18851
  }, [
18855
18852
  createElementVNode("div", {
18856
- onClick: _cache[0] || (_cache[0] = withModifiers(() => {
18853
+ onClick: _cache[1] || (_cache[1] = withModifiers(() => {
18857
18854
  }, ["stop"])),
18858
18855
  class: "flex flex-center gap-[12px] g-header-ailog"
18859
18856
  }, [
18860
18857
  isModuleVisible(unref(HeaderDisplayItem).ASIDE_BUTTON) ? (openBlock(), createBlock(GIcon, {
18861
18858
  key: 0,
18862
- onClick: handleHamburgerClick,
18863
- name: "gt-hamburger",
18859
+ onClick: _cache[0] || (_cache[0] = ($event) => unref(emitEvent)("toggleAsideMenuByHamburger")),
18860
+ name: _ctx.sceneValue === unref(SceneValue).aiHome ? "gt-a-hamburgermenu" : "gt-hamburger",
18864
18861
  size: "24px",
18865
18862
  class: "cursor-pointer hover:!text-[var(--theme-stress-text)] g-toolbar-left-asideicon",
18866
18863
  color: "var(--theme-aide-text)"
18867
- })) : createCommentVNode("", true),
18864
+ }, null, 8, ["name"])) : createCommentVNode("", true),
18868
18865
  showNameAndIcon.value && _ctx.independence ? (openBlock(), createBlock(GLink, {
18869
18866
  key: 1,
18870
18867
  class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
@@ -18888,12 +18885,14 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18888
18885
  orgProps: (_b = _ctx.headerCustomProps) == null ? void 0 : _b.orgProps,
18889
18886
  repoProps: (_c = _ctx.headerCustomProps) == null ? void 0 : _c.repoProps,
18890
18887
  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"))
18888
+ onFollowDevCommunity: _cache[2] || (_cache[2] = ($event) => emit("followDevCommunity", $event)),
18889
+ onFollowUser: _cache[3] || (_cache[3] = ($event) => emit("followUser"))
18893
18890
  }, null, 8, ["scene", "isLogin", "errorCode", "orgProps", "repoProps", "userProps"])) : createCommentVNode("", true)
18894
18891
  ], 2)) : createCommentVNode("", true)
18895
18892
  ], 2),
18896
- createElementVNode("div", _hoisted_1$j, [
18893
+ createElementVNode("div", {
18894
+ class: normalizeClass(["search-avatar flex-1 flex items-center", inAIHub.value ? "ml-[auto] justify-end" : "justify-center"])
18895
+ }, [
18897
18896
  isModuleVisible(unref(HeaderDisplayItem).SEARCH_BUTTON) ? renderSlot(_ctx.$slots, "search", { key: 0 }, () => [
18898
18897
  (openBlock(), createBlock(Search, {
18899
18898
  inAIHub: inAIHub.value,
@@ -18902,9 +18901,9 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18902
18901
  isShowStickyNotice: isShowStickyNoticeByClose.value
18903
18902
  }, null, 8, ["inAIHub", "sceneValue", "isShowStickyNotice"]))
18904
18903
  ], true) : createCommentVNode("", true)
18905
- ]),
18904
+ ], 2),
18906
18905
  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" : ""])
18906
+ class: normalizeClass(["g-toolbar-right gap-[16px] flex-[1] justify-end max-md:gap-[12px] allow-click-stop", inAIHub.value ? "flex-none" : ""])
18908
18907
  }, [
18909
18908
  isModuleVisible(unref(HeaderDisplayItem).DEEPSEEK_BUTTON) ? (openBlock(), createBlock(ChatBot, { key: 0 })) : createCommentVNode("", true),
18910
18909
  !_ctx.isLogin ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -18912,7 +18911,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18912
18911
  unref(isMobile) ? (openBlock(), createElementBlock("section", {
18913
18912
  key: 0,
18914
18913
  class: "app-login-warp border-none login-icon",
18915
- onClick: _cache[3] || (_cache[3] = ($event) => handleLogin("login"))
18914
+ onClick: _cache[4] || (_cache[4] = ($event) => handleLogin("login"))
18916
18915
  }, [
18917
18916
  createVNode(GIcon, {
18918
18917
  name: "gt-line-NotLoggedIn",
@@ -18924,7 +18923,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18924
18923
  createVNode(unref(Button), {
18925
18924
  variant: "solid",
18926
18925
  color: "primary",
18927
- onClick: _cache[4] || (_cache[4] = withModifiers(($event) => handleLogin("login"), ["stop"]))
18926
+ onClick: _cache[5] || (_cache[5] = withModifiers(($event) => handleLogin("login"), ["stop"]))
18928
18927
  }, {
18929
18928
  default: withCtx(() => [
18930
18929
  createTextVNode(toDisplayString$1(unref(t2)("gitCodeLayout.header.login")), 1)
@@ -18932,7 +18931,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18932
18931
  _: 1
18933
18932
  }),
18934
18933
  createVNode(unref(Button), {
18935
- onClick: _cache[5] || (_cache[5] = withModifiers(($event) => handleLogin("register"), ["stop"])),
18934
+ onClick: _cache[6] || (_cache[6] = withModifiers(($event) => handleLogin("register"), ["stop"])),
18936
18935
  class: "min-w-[64px]"
18937
18936
  }, {
18938
18937
  default: withCtx(() => [
@@ -18951,24 +18950,23 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18951
18950
  isChatBot: isChatBot.value,
18952
18951
  loginOutFinish: _ctx.loginOutFinish,
18953
18952
  inAIHub: inAIHub.value,
18954
- independence: _ctx.independence
18955
- }, null, 8, ["isChatBot", "loginOutFinish", "inAIHub", "independence"])) : createCommentVNode("", true)
18953
+ independence: _ctx.independence,
18954
+ userMenus: _ctx.userMenus
18955
+ }, null, 8, ["isChatBot", "loginOutFinish", "inAIHub", "independence", "userMenus"])) : createCommentVNode("", true)
18956
18956
  ], 64))
18957
18957
  ], 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, [
18958
+ ], 6),
18959
+ _ctx.$slots.info || _ctx.$slots.menu || _ctx.$slots.bodyHeader ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
18962
18960
  renderSlot(_ctx.$slots, "bodyHeader", {}, () => [
18963
- createElementVNode("div", _hoisted_3$a, [
18961
+ createElementVNode("div", _hoisted_2$d, [
18964
18962
  renderSlot(_ctx.$slots, "info", {}, void 0, true)
18965
18963
  ]),
18966
- createElementVNode("div", _hoisted_4$7, [
18964
+ createElementVNode("div", _hoisted_3$a, [
18967
18965
  renderSlot(_ctx.$slots, "menu", {}, void 0, true)
18968
18966
  ])
18969
18967
  ], true)
18970
18968
  ])) : createCommentVNode("", true),
18971
- _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18969
+ _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
18972
18970
  renderSlot(_ctx.$slots, "headerBottom", {}, void 0, true)
18973
18971
  ])) : createCommentVNode("", true)
18974
18972
  ], 2)
@@ -20063,12 +20061,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20063
20061
  const openMode = (parentNode == null ? void 0 : parentNode.getAttribute("data-openBlank")) ? "_blank" : "_self";
20064
20062
  const url = (parentNode == null ? void 0 : parentNode.getAttribute("data-href")) || "";
20065
20063
  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
20064
  if (host === layoutConfig2.VITE_AI_HOST) {
20073
20065
  useReport2(AsideReportEvent.AI_CLICK, {});
20074
20066
  }
@@ -20102,9 +20094,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20102
20094
  }
20103
20095
  emits("onMenuClick");
20104
20096
  };
20105
- const handleAsideMenuExpo = (type) => {
20106
- useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.ASIDEEXPO });
20107
- };
20108
20097
  function checkMenu() {
20109
20098
  if (!route) return;
20110
20099
  const name = route == null ? void 0 : route.name;
@@ -20178,7 +20167,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20178
20167
  key: 0,
20179
20168
  class: normalizeClass(["side-bar-content", { "side-bar-content-shot": _ctx.asideSetShowLittle, "shot-isCh": !isEn.value }])
20180
20169
  }, [
20181
- withDirectives((openBlock(), createElementBlock("div", {
20170
+ createElementVNode("div", {
20182
20171
  class: normalizeClass(["flex-1 flex flex-col justify-between min-w-0 overflow-y-auto aside-menus", { scroll: isScroll.value }]),
20183
20172
  onScroll: handleScroll,
20184
20173
  onMouseleave: handleMouseLeave
@@ -20206,7 +20195,6 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20206
20195
  default: withCtx(() => [
20207
20196
  (openBlock(), createBlock(unref(MenuItem), {
20208
20197
  key: item.key,
20209
- "data-key": item.key,
20210
20198
  "data-openBlank": item.openBlank,
20211
20199
  "data-route": item.route ? JSON.stringify(item.route) : "",
20212
20200
  "data-href": item.href,
@@ -20230,12 +20218,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20230
20218
  createElementVNode("span", _hoisted_1$e, toDisplayString$1(item.label), 1)
20231
20219
  ]),
20232
20220
  _: 2
20233
- }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20221
+ }, 1032, ["data-openBlank", "data-route", "data-href", "data-host"]))
20234
20222
  ]),
20235
20223
  _: 2
20236
20224
  }, 1024)) : (openBlock(), createBlock(unref(MenuItem), {
20237
20225
  key: item.key,
20238
- "data-key": item.key,
20239
20226
  "data-openBlank": item.openBlank,
20240
20227
  "data-route": item.route ? JSON.stringify(item.route) : "",
20241
20228
  "data-href": item.href,
@@ -20259,14 +20246,13 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20259
20246
  createElementVNode("span", _hoisted_2$8, toDisplayString$1(item.label), 1)
20260
20247
  ]),
20261
20248
  _: 2
20262
- }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20249
+ }, 1032, ["data-openBlank", "data-route", "data-href", "data-host"]))
20263
20250
  ], 64);
20264
20251
  }), 256)),
20265
20252
  !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$5)) : createCommentVNode("", true),
20266
20253
  (openBlock(true), createElementBlock(Fragment, null, renderList(externalRoutes.value, (item) => {
20267
20254
  return openBlock(), createBlock(unref(MenuItem), {
20268
20255
  key: `${item.key}-${item.logo}`,
20269
- "data-key": item.key,
20270
20256
  "data-route": item.route ? JSON.stringify(item.route) : "",
20271
20257
  "data-href": item.href,
20272
20258
  "data-host": item.host,
@@ -20301,7 +20287,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20301
20287
  createElementVNode("span", _hoisted_6$2, toDisplayString$1(item.label), 1)
20302
20288
  ]),
20303
20289
  _: 2
20304
- }, 1032, ["data-key", "data-route", "data-href", "data-host", "data-openBlank"]);
20290
+ }, 1032, ["data-route", "data-href", "data-host", "data-openBlank"]);
20305
20291
  }), 128)),
20306
20292
  !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_7$2)) : createCommentVNode("", true),
20307
20293
  !_ctx.asideSetShowLittle ? (openBlock(), createBlock(ProjectMenuListV2, {
@@ -20415,9 +20401,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20415
20401
  ])
20416
20402
  ])
20417
20403
  ])) : createCommentVNode("", true)
20418
- ], 34)), [
20419
- [unref(vElementExposure), { trigger: (type) => handleAsideMenuExpo() }]
20420
- ]),
20404
+ ], 34),
20421
20405
  showPreferencesSetting.value ? (openBlock(), createElementBlock("div", _hoisted_20$1, [
20422
20406
  createVNode(unref(Dropdown), {
20423
20407
  position: ["bottom-end"],
@@ -20480,6 +20464,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
20480
20464
  },
20481
20465
  setup(__props) {
20482
20466
  const route = useRoute();
20467
+ const layoutConfig2 = useLayoutConfig();
20483
20468
  const props = __props;
20484
20469
  const { useReport: useReport2 } = useRequestReport(props.request, props.globalStore);
20485
20470
  provide("globalStore", computed(() => props.globalStore));
@@ -20591,8 +20576,9 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
20591
20576
  createElementVNode("div", _hoisted_1$d, [
20592
20577
  createVNode(GLink, {
20593
20578
  class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
20594
- to: { name: "home" }
20595
- }, null, 8, ["class"]),
20579
+ to: _ctx.independence ? "" : { name: "home" },
20580
+ href: _ctx.independence ? unref(layoutConfig2).VITE_HOST : ""
20581
+ }, null, 8, ["class", "to", "href"]),
20596
20582
  createVNode(unref(Button), {
20597
20583
  class: "cursor-pointer draw-side-bar-close",
20598
20584
  icon: "close",
@@ -21414,7 +21400,7 @@ const routes = [
21414
21400
  }
21415
21401
  ];
21416
21402
  const router = createRouter({
21417
- history: createWebHistory(),
21403
+ history: typeof window !== "undefined" ? createWebHistory() : createMemoryHistory(),
21418
21404
  routes
21419
21405
  });
21420
21406
  async function csdnloginCheck(route, loginCallback, request) {
@@ -25173,7 +25159,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25173
25159
  }
25174
25160
  });
25175
25161
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-gitcode-layout-lib"]]);
25176
- const SlidCaptcha = defineAsyncComponent(() => import("./index-k9V8PYfj.js"));
25162
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-ErVr-3Lw.js"));
25177
25163
  const useSlidCaptcha = () => {
25178
25164
  const { mount, unMount } = usePopup("slid-captcha-popup");
25179
25165
  const open = (config) => {
@@ -26756,16 +26742,15 @@ const index = {
26756
26742
  }
26757
26743
  };
26758
26744
  export {
26759
- GitCodeAside as A,
26760
- GitCodeHeader as B,
26761
- useLogin as C,
26762
- setLayoutConfig as D,
26745
+ GitCodeHeader as A,
26746
+ useLogin as B,
26747
+ setLayoutConfig as C,
26748
+ GitCodeLayoutEmitter as D,
26763
26749
  EVENT_NAME as E,
26764
- GitCodeLayoutEmitter as F,
26750
+ currentTheme as F,
26765
26751
  GIcon as G,
26766
- currentTheme as H,
26767
- setTheme as I,
26768
- index as J,
26752
+ setTheme as H,
26753
+ index as I,
26769
26754
  LANG_KEY as L,
26770
26755
  REPO_MODULE as R,
26771
26756
  SceneValue as S,
@@ -26792,9 +26777,9 @@ export {
26792
26777
  setLoginTriggerSource as s,
26793
26778
  transferNumber as t,
26794
26779
  useModel as u,
26795
- vElementExposure as v,
26796
- _frEventTrack as w,
26797
- useLayoutConfig as x,
26798
- ToolsFloat as y,
26799
- _sfc_main as z
26780
+ _frEventTrack as v,
26781
+ useLayoutConfig as w,
26782
+ ToolsFloat as x,
26783
+ _sfc_main as y,
26784
+ GitCodeAside as z
26800
26785
  };