vue-layout-gitcode 1.11.2 → 1.11.4

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,10 +1,10 @@
1
1
  import { defineComponent, inject, createElementBlock, openBlock, Fragment, createElementVNode, toDisplayString, createVNode, unref, renderList, withDirectives, createBlock, ref, watch, onMounted, createCommentVNode } from "vue";
2
2
  import "vue-devui-lal/icon";
3
3
  import "vue-devui-lal/icon/style.css";
4
- import { h as headRequest, R as REPO_MODULE, a as i18n, G as GIcon, v as vElementExposure, b as REPO_EVENT, _ as _export_sfc, c as REPO_TYPE, e as extractRepoInfoWithURL } from "./index-DkKSX98l.js";
4
+ import { h as headRequest, R as REPO_MODULE, a as i18n, G as GIcon, v as vElementExposure, b as REPO_EVENT, _ as _export_sfc, c as REPO_TYPE, e as extractRepoInfoWithURL } from "./index-cAirjewC.js";
5
5
  import "lodash/debounce";
6
- import { u as useReportRepo, S as SearchRepoCard, f as formatNameSpace } from "./index-CA_2xRmu.js";
7
- import "./transWebUrl-BamtM6RT.js";
6
+ import { u as useReportRepo, S as SearchRepoCard, f as formatNameSpace } from "./index-De6ZTtoF.js";
7
+ import "./transWebUrl-DiF2KJIa.js";
8
8
  import "vue-devui-lal/tooltip";
9
9
  import "vue-devui-lal/tooltip/style.css";
10
10
  import "vue-router";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, inject, useSlots, ref, computed, createBlock, openBlock, unref, withCtx, createElementVNode, normalizeClass, createElementBlock, createTextVNode, createCommentVNode, toDisplayString, renderSlot } from "vue";
2
- import { a as i18n, y as useLayoutConfig, A as ThemeType, B as currentTheme, L as LANG_ZH, C as LANG_EN, D as getLocaleLang, G as GIcon, F as emitEvent, H as isHttps, b as REPO_EVENT, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { a as i18n, y as useLayoutConfig, A as ThemeType, B as currentTheme, L as LANG_ZH, C as LANG_EN, D as getLocaleLang, G as GIcon, F as emitEvent, H as isHttps, b as REPO_EVENT, _ as _export_sfc } from "./index-cAirjewC.js";
3
3
  import { useRouter } from "vue-router";
4
4
  import { Popover } from "vue-devui-lal/popover";
5
5
  import "vue-devui-lal/popover/style.css";
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, inject, ref, reactive, watch, computed, createElementBlock, openBlock, createCommentVNode, createBlock, withDirectives, Fragment, createElementVNode, createVNode, toDisplayString, unref, withModifiers, normalizeClass, withCtx, renderList, createTextVNode, vShow } from "vue";
2
- import { a as i18n, y as useLayoutConfig, G as GIcon, t as transformUrl, J as _sfc_main$1, K as loadAsideData, F as emitEvent, s as setLoginTriggerSource, f as useRequestReport, I as asideRequest, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { a as i18n, y as useLayoutConfig, G as GIcon, t as transformUrl, J as _sfc_main$1, K as loadAsideData, F as emitEvent, s as setLoginTriggerSource, f as useRequestReport, I as asideRequest, _ as _export_sfc } from "./index-cAirjewC.js";
3
3
  import { useRouter } from "vue-router";
4
- import { t as transWebUrl } from "./transWebUrl-BamtM6RT.js";
4
+ import { t as transWebUrl } from "./transWebUrl-DiF2KJIa.js";
5
5
  import { Select, Option } from "vue-devui-lal/select";
6
6
  import { Input } from "vue-devui-lal/input";
7
7
  import { Skeleton } from "vue-devui-lal/skeleton";
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, inject, ref, reactive, computed, watch, createElementBlock, openBlock, createElementVNode, createVNode, createBlock, createCommentVNode, withDirectives, toDisplayString, unref, withModifiers, normalizeClass, withCtx, Fragment, renderList, createTextVNode, vShow } from "vue";
2
- import { a as i18n, y as useLayoutConfig, t as transformUrl, I as asideRequest, G as GIcon, F as emitEvent, s as setLoginTriggerSource, f as useRequestReport, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { a as i18n, y as useLayoutConfig, t as transformUrl, I as asideRequest, G as GIcon, F as emitEvent, s as setLoginTriggerSource, f as useRequestReport, _ as _export_sfc } from "./index-cAirjewC.js";
3
3
  import { useRouter } from "vue-router";
4
- import { t as transWebUrl } from "./transWebUrl-BamtM6RT.js";
4
+ import { t as transWebUrl } from "./transWebUrl-DiF2KJIa.js";
5
5
  import { Input } from "vue-devui-lal/input";
6
6
  import { Skeleton } from "vue-devui-lal/skeleton";
7
7
  import { MenuItem } from "vue-devui-lal/menu";
@@ -1,5 +1,5 @@
1
1
  import { ref, inject, computed, withDirectives, createElementBlock, openBlock, createElementVNode, toDisplayString, unref, Fragment, renderList, createVNode, vShow } from "vue";
2
- import { a as i18n, h as headRequest, G as GIcon, r as reqCatch } from "./index-DkKSX98l.js";
2
+ import { a as i18n, h as headRequest, G as GIcon, r as reqCatch } from "./index-cAirjewC.js";
3
3
  import { useRoute, useRouter } from "vue-router";
4
4
  import "vue-devui-lal/icon";
5
5
  import "vue-devui-lal/icon/style.css";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, createElementBlock, openBlock, createCommentVNode, Fragment, renderList, normalizeClass, createElementVNode, createVNode, toDisplayString, withModifiers } from "vue";
2
- import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-cAirjewC.js";
3
3
  import "vue-devui-lal/icon";
4
4
  import "vue-devui-lal/icon/style.css";
5
5
  const _hoisted_1 = { class: "history-list" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createElementBlock, openBlock, createElementVNode, withDirectives, toDisplayString, withModifiers, createVNode, vShow } from "vue";
2
- import { G as GIcon, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { G as GIcon, _ as _export_sfc } from "./index-cAirjewC.js";
3
3
  import "vue-devui-lal/icon";
4
4
  import "vue-devui-lal/icon/style.css";
5
5
  const _hoisted_1 = { class: "ellipsis" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, inject, ref, onMounted, createElementBlock, openBlock, createElementVNode, toDisplayString, unref, Fragment, renderList, renderSlot, createBlock, createVNode, withCtx } from "vue";
2
- import { u as useReportRepo, S as SearchRepoCard } from "./index-CA_2xRmu.js";
3
- import { a as i18n, h as headRequest, R as REPO_MODULE, b as REPO_EVENT, l as localStorage, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { u as useReportRepo, S as SearchRepoCard } from "./index-De6ZTtoF.js";
3
+ import { a as i18n, h as headRequest, R as REPO_MODULE, b as REPO_EVENT, l as localStorage, _ as _export_sfc } from "./index-cAirjewC.js";
4
4
  import { Row, Col } from "vue-devui-lal/grid";
5
5
  import { SkeletonItem } from "vue-devui-lal/skeleton";
6
6
  import "vue-devui-lal/grid/style.css";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, createElementBlock, openBlock, Fragment, renderList, createElementVNode, createVNode, createCommentVNode, toDisplayString, unref } from "vue";
2
- import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-cAirjewC.js";
3
3
  import "vue-devui-lal/icon";
4
4
  import "vue-devui-lal/icon/style.css";
5
5
  const _hoisted_1 = ["onClick"];
@@ -1,5 +1,5 @@
1
1
  import { inject, ref, watch, withDirectives, createElementBlock, openBlock, createElementVNode, toDisplayString, unref, Fragment, renderList, createVNode, vShow } from "vue";
2
- import { a as i18n, h as headRequest, G as GIcon, t as transformUrl } from "./index-DkKSX98l.js";
2
+ import { a as i18n, h as headRequest, G as GIcon, t as transformUrl } from "./index-cAirjewC.js";
3
3
  import "vue-devui-lal/icon";
4
4
  import "vue-devui-lal/icon/style.css";
5
5
  const _hoisted_1 = { class: "px-[8px] history-list-project pl-[8px]" };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, onMounted, nextTick, onUnmounted, createBlock, openBlock, unref, withCtx, createElementVNode } from "vue";
2
- import { x as slidCaptchaManager, y as useLayoutConfig, z as isZh, _ as _export_sfc } from "./index-DkKSX98l.js";
2
+ import { x as slidCaptchaManager, y as useLayoutConfig, z as isZh, _ as _export_sfc } from "./index-cAirjewC.js";
3
3
  import { FixedOverlay } from "vue-devui-lal/overlay";
4
4
  import "vue-devui-lal/overlay/style.css";
5
5
  const TARGET_TEXT = "Click in order:";
@@ -8,7 +8,7 @@ import { Message } from "vue-devui-lal/message";
8
8
  import "vue-devui-lal/message/style.css";
9
9
  import { FixedOverlay } from "vue-devui-lal/overlay";
10
10
  import "vue-devui-lal/overlay/style.css";
11
- import { a as i18n, k as usePageResize, z as isZh, _ as _export_sfc } from "./index-DkKSX98l.js";
11
+ import { a as i18n, k as usePageResize, z as isZh, _ as _export_sfc } from "./index-cAirjewC.js";
12
12
  const _YunpianCaptchaManager = class _YunpianCaptchaManager {
13
13
  // eslint-disable-next-line no-useless-constructor
14
14
  constructor() {
@@ -1,7 +1,7 @@
1
1
  import { ref, watchEffect, defineComponent, toDisplayString, unref, mergeModels, useModel, watch, createElementBlock, openBlock, createVNode, withDirectives, normalizeClass, createElementVNode, vShow, inject, withModifiers, createBlock, Fragment, computed, createCommentVNode, normalizeStyle, createTextVNode, onMounted, onUnmounted, renderList, withCtx, reactive } from "vue";
2
2
  import debounce from "lodash/debounce";
3
- import { d as transferNumber, G as GIcon, _ as _export_sfc, s as setLoginTriggerSource, f as useRequestReport, r as reqCatch, h as headRequest, a as i18n, T as TOPIC_TYPE, g as useTimeFormat, j as useCookie, k as usePageResize, L as LANG_ZH, m as isGstarRepo, n as _sfc_main$b, o as isIncubationRepo, p as highlightWords, t as transformUrl, q as _frEventTrack, E as EVENT_NAME, c as REPO_TYPE, e as extractRepoInfoWithURL, w as LANG_KEY } from "./index-DkKSX98l.js";
4
- import { t as transWebUrl } from "./transWebUrl-BamtM6RT.js";
3
+ import { d as transferNumber, G as GIcon, _ as _export_sfc, s as setLoginTriggerSource, f as useRequestReport, r as reqCatch, h as headRequest, a as i18n, T as TOPIC_TYPE, g as useTimeFormat, j as useCookie, k as usePageResize, L as LANG_ZH, m as isGstarRepo, n as _sfc_main$b, o as isIncubationRepo, p as highlightWords, t as transformUrl, q as _frEventTrack, E as EVENT_NAME, c as REPO_TYPE, e as extractRepoInfoWithURL, w as LANG_KEY } from "./index-cAirjewC.js";
4
+ import { t as transWebUrl } from "./transWebUrl-DiF2KJIa.js";
5
5
  import { useRouter } from "vue-router";
6
6
  import { Row, Col } from "vue-devui-lal/grid";
7
7
  import { Skeleton, SkeletonItem } from "vue-devui-lal/skeleton";
@@ -57,7 +57,7 @@ import { Checkbox } from "vue-devui-lal/checkbox";
57
57
  import "vue-devui-lal/checkbox/style.css";
58
58
  import { Modal } from "vue-devui-lal/modal";
59
59
  import "vue-devui-lal/modal/style.css";
60
- const _hoisted_1$z = ["xlink:href"];
60
+ const _hoisted_1$A = ["xlink:href"];
61
61
  const _hoisted_2$p = ["xlink:href"];
62
62
  const _sfc_main$H = /* @__PURE__ */ defineComponent({
63
63
  __name: "index",
@@ -88,7 +88,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
88
88
  }, [
89
89
  createElementVNode("use", {
90
90
  "xlink:href": `#${__props.name}`
91
- }, null, 8, _hoisted_1$z)
91
+ }, null, 8, _hoisted_1$A)
92
92
  ], 6)),
93
93
  renderSlot(_ctx.$slots, "suffix", {}, void 0, true)
94
94
  ], 2)) : (openBlock(), createElementBlock("svg", {
@@ -171,6 +171,13 @@ function asideRequest(request) {
171
171
  method: "get"
172
172
  }), {});
173
173
  },
174
+ // 获取头部入口配置
175
+ getHeaderEntryConfig() {
176
+ return reqCatch(() => request({
177
+ url: "/api/v1/search/common/config/header_entry_config",
178
+ method: "get"
179
+ }), {});
180
+ },
174
181
  // 获取天启路由配置
175
182
  getTianqiRouteConfig() {
176
183
  return reqCatch(() => request({
@@ -499,7 +506,6 @@ const AICopilot_ROUTE_NAME = "aiCopilot";
499
506
  const HELP_DOCS_URL_GITCODE = "https://docs.gitcode.com";
500
507
  const HELP_DOCS_URL_ATOMGIT = "https://docs.atomgit.com";
501
508
  const INFORMATION_CENTER_URL = "https://news.gitcode.com/news";
502
- const OPENCLAW_URL = "https://ai.gitcode.com/user/username/openclaw?source_module=home_toolbar";
503
509
  const AVATAR_VISITED_DATE = "avatar-visitedDate";
504
510
  const AVATAR_VISITED_USERNAME = "avatar-visited-username";
505
511
  var CLICK_TIME_MODULE = /* @__PURE__ */ ((CLICK_TIME_MODULE2) => {
@@ -9022,10 +9028,64 @@ const isGitCodeHost = () => {
9022
9028
  return location.hostname.includes("gitcode");
9023
9029
  };
9024
9030
  const currentSiteName = () => isGitCodeHost() ? "GitCode" : "AtomGit";
9025
- const currentHelpDocsUrl = () => isGitCodeHost() ? HELP_DOCS_URL_GITCODE : HELP_DOCS_URL_ATOMGIT;
9026
- const currentHelpDocsAboutUsUrl = () => isGitCodeHost() ? HELP_DOCS_URL_GITCODE + "/docs/help/home/aboutus/" : HELP_DOCS_URL_ATOMGIT + "/docs/help/home/aboutus/";
9027
- const currentHelpDocsAiCommunityUrl = () => isGitCodeHost() ? HELP_DOCS_URL_GITCODE + "/docs/help/home/ai-community/" : HELP_DOCS_URL_ATOMGIT + "/docs/help/home/ai-community/";
9028
- const _hoisted_1$y = { class: "home-nav-right" };
9031
+ const appendLangPathToHelpDocsUrl = (baseUrl) => {
9032
+ if (!baseUrl) {
9033
+ return baseUrl;
9034
+ }
9035
+ const currentLang = getLocaleLang();
9036
+ if (currentLang !== LANG_ZH) {
9037
+ try {
9038
+ const urlObj = new URL(baseUrl);
9039
+ if (urlObj.pathname.startsWith("/en")) {
9040
+ return baseUrl;
9041
+ }
9042
+ urlObj.pathname = "/en" + urlObj.pathname;
9043
+ return urlObj.toString();
9044
+ } catch (error) {
9045
+ console.warn("appendLangPathToHelpDocsUrl: URL 解析失败", error);
9046
+ if (baseUrl.includes("://")) {
9047
+ const parts = baseUrl.split("://");
9048
+ const protocol = parts[0];
9049
+ const rest = parts[1];
9050
+ const firstSlashIndex = rest.indexOf("/");
9051
+ if (firstSlashIndex === -1) {
9052
+ return `${protocol}://${rest}/en`;
9053
+ }
9054
+ const domain = rest.slice(0, firstSlashIndex);
9055
+ const path = rest.slice(firstSlashIndex);
9056
+ if (path.startsWith("/en")) {
9057
+ return baseUrl;
9058
+ }
9059
+ return `${protocol}://${domain}/en${path}`;
9060
+ }
9061
+ if (baseUrl && !baseUrl.startsWith("/en")) {
9062
+ const firstSlashIndex = baseUrl.indexOf("/");
9063
+ if (firstSlashIndex === -1) {
9064
+ return `${baseUrl}/en`;
9065
+ }
9066
+ const domain = baseUrl.slice(0, firstSlashIndex);
9067
+ const path = baseUrl.slice(firstSlashIndex);
9068
+ return `${domain}/en${path}`;
9069
+ }
9070
+ return baseUrl;
9071
+ }
9072
+ }
9073
+ return baseUrl;
9074
+ };
9075
+ const currentHelpDocsBaseUrl = () => isGitCodeHost() ? HELP_DOCS_URL_GITCODE : HELP_DOCS_URL_ATOMGIT;
9076
+ const currentHelpDocsUrl = () => {
9077
+ const baseUrl = currentHelpDocsBaseUrl();
9078
+ return appendLangPathToHelpDocsUrl(baseUrl);
9079
+ };
9080
+ const currentHelpDocsAboutUsUrl = () => {
9081
+ const baseUrl = isGitCodeHost() ? HELP_DOCS_URL_GITCODE + "/docs/help/home/aboutus/" : HELP_DOCS_URL_ATOMGIT + "/docs/help/home/aboutus/";
9082
+ return appendLangPathToHelpDocsUrl(baseUrl);
9083
+ };
9084
+ const currentHelpDocsAiCommunityUrl = () => {
9085
+ const baseUrl = isGitCodeHost() ? HELP_DOCS_URL_GITCODE + "/docs/help/home/ai-community/" : HELP_DOCS_URL_ATOMGIT + "/docs/help/home/ai-community/";
9086
+ return appendLangPathToHelpDocsUrl(baseUrl);
9087
+ };
9088
+ const _hoisted_1$z = { class: "home-nav-right" };
9029
9089
  const _hoisted_2$o = { class: "home-nav-item" };
9030
9090
  const _hoisted_3$n = { class: "tooltip-sign" };
9031
9091
  const _hoisted_4$i = { class: "home-nav-tooltip-wrapper" };
@@ -9318,7 +9378,7 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
9318
9378
  size: "18px"
9319
9379
  })
9320
9380
  ])) : createCommentVNode("", true),
9321
- createElementVNode("div", _hoisted_1$y, [
9381
+ createElementVNode("div", _hoisted_1$z, [
9322
9382
  inviteVisible.value ? (openBlock(), createBlock(unref(Tooltip), {
9323
9383
  key: 0,
9324
9384
  position: "left",
@@ -9760,7 +9820,7 @@ const collectRegisterLoginEvent = ({ isRegister, registerLoginMethod, success, e
9760
9820
  delete reportData["utm_source"];
9761
9821
  window.collectEvent("beconEvent", isRegister ? "register" : "login", reportData);
9762
9822
  };
9763
- const _hoisted_1$x = ["href", "target", "disabled"];
9823
+ const _hoisted_1$y = ["href", "target", "disabled"];
9764
9824
  const _sfc_main$F = /* @__PURE__ */ defineComponent({
9765
9825
  ...{
9766
9826
  name: "GLink"
@@ -9805,7 +9865,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
9805
9865
  disabled: __props.disabled || __props.noPointer
9806
9866
  }, [
9807
9867
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
9808
- ], 10, _hoisted_1$x));
9868
+ ], 10, _hoisted_1$y));
9809
9869
  };
9810
9870
  }
9811
9871
  });
@@ -10413,7 +10473,7 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
10413
10473
  };
10414
10474
  }
10415
10475
  });
10416
- const _hoisted_1$w = ["src"];
10476
+ const _hoisted_1$x = ["src"];
10417
10477
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
10418
10478
  ...{ name: "FlashTag" },
10419
10479
  __name: "FlashTag",
@@ -10459,7 +10519,7 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
10459
10519
  key: 0,
10460
10520
  class: "w-[16px] h-[16px]",
10461
10521
  src: iconUrl.value
10462
- }, null, 8, _hoisted_1$w)) : renderSlot(_ctx.$slots, "default", { key: 1 })
10522
+ }, null, 8, _hoisted_1$x)) : renderSlot(_ctx.$slots, "default", { key: 1 })
10463
10523
  ], 16)
10464
10524
  ]),
10465
10525
  _: 3
@@ -11264,7 +11324,7 @@ const useTimeFormat = () => {
11264
11324
  formatTime
11265
11325
  };
11266
11326
  };
11267
- const _hoisted_1$v = {
11327
+ const _hoisted_1$w = {
11268
11328
  key: 0,
11269
11329
  class: "org-layout-toolbar"
11270
11330
  };
@@ -11443,7 +11503,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
11443
11503
  });
11444
11504
  return (_ctx, _cache) => {
11445
11505
  var _a, _b;
11446
- return __props.scene === unref(SceneValue).org && !__props.errorCode ? (openBlock(), createElementBlock("div", _hoisted_1$v, [
11506
+ return __props.scene === unref(SceneValue).org && !__props.errorCode ? (openBlock(), createElementBlock("div", _hoisted_1$w, [
11447
11507
  createVNode(GLink, {
11448
11508
  to: { name: "homepage" },
11449
11509
  class: "flex flex-1 items-center gap-[8px]"
@@ -11674,24 +11734,53 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
11674
11734
  }
11675
11735
  });
11676
11736
  const HeaderCustom = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-vue-layout-gitcode"]]);
11737
+ const _hoisted_1$v = ["src"];
11677
11738
  const _sfc_main$B = /* @__PURE__ */ defineComponent({
11678
11739
  ...{ name: "OperationEntry" },
11679
11740
  __name: "OperationEntry",
11680
11741
  setup(__props) {
11742
+ const request = inject("request");
11743
+ const API = asideRequest(request);
11744
+ const headerEntryConfig = ref({
11745
+ img_white: "",
11746
+ img_black: "",
11747
+ url: ""
11748
+ });
11681
11749
  const handleClick = () => {
11682
- window.open(`${transformUrl(OPENCLAW_URL)}`, "_blank");
11750
+ var _a;
11751
+ window.open(`${transformUrl((_a = headerEntryConfig.value) == null ? void 0 : _a.url)}`, "_blank");
11683
11752
  };
11753
+ const img = computed(() => {
11754
+ const { img_white, img_black } = headerEntryConfig.value;
11755
+ return (currentTheme.value === ThemeType.BLACK ? img_black : img_white) || img_white;
11756
+ });
11757
+ const getHeaderEntryConfig = async () => {
11758
+ var _a;
11759
+ try {
11760
+ const res = await API.getHeaderEntryConfig();
11761
+ const data = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.data) || {};
11762
+ headerEntryConfig.value = {
11763
+ img_white: data.img_white,
11764
+ img_black: data.img_black,
11765
+ url: data.url
11766
+ };
11767
+ } catch (error) {
11768
+ console.error(error);
11769
+ }
11770
+ };
11771
+ getHeaderEntryConfig();
11684
11772
  return (_ctx, _cache) => {
11685
- return openBlock(), createElementBlock("div", {
11773
+ return img.value && headerEntryConfig.value.url ? (openBlock(), createElementBlock("div", {
11774
+ key: 0,
11686
11775
  class: "operation-entry cursor-pointer",
11687
11776
  onClick: handleClick
11688
- }, [..._cache[0] || (_cache[0] = [
11777
+ }, [
11689
11778
  createElementVNode("img", {
11690
11779
  class: "w-[71px]",
11691
- src: "https://cdn-static.gitcode.com/image/openclaw.png",
11780
+ src: img.value,
11692
11781
  alt: "operation-entry"
11693
- }, null, -1)
11694
- ])]);
11782
+ }, null, 8, _hoisted_1$v)
11783
+ ])) : createCommentVNode("", true);
11695
11784
  };
11696
11785
  }
11697
11786
  });
@@ -15708,13 +15797,13 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
15708
15797
  var _a;
15709
15798
  const layoutConfig2 = useLayoutConfig();
15710
15799
  const { t: $t } = i18n.global;
15711
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-9TTQl8nI.js"));
15712
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-DM0rS7aY.js"));
15713
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-C2ZT1wSb.js"));
15714
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DLT3Rynn.js"));
15715
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CkYeQCV8.js"));
15716
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-CEZJ3E1I.js"));
15717
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-B24zaKeM.js"));
15800
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-WQ-yhwd9.js"));
15801
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-DSPqr3C3.js"));
15802
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-Culg1crd.js"));
15803
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-BSZrf2yu.js"));
15804
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-zokWYoeW.js"));
15805
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-D8ry9GQ1.js"));
15806
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BuD0HbMu.js"));
15718
15807
  const props = __props;
15719
15808
  const repoInfo = inject("repoInfo");
15720
15809
  const orgInfo = inject("orgInfo");
@@ -16488,7 +16577,7 @@ const autoAvokeLogin = ({ isLogin, loginFunc, openHarmonyGuide, loginSuccess, lo
16488
16577
  loginFunc({ type: "login", triggerType: "", loginTriggerSource: "router_login_auth", ...loginFuncOpts }, loginSuccess, openHarmonyGuide);
16489
16578
  }
16490
16579
  };
16491
- const NoticeModal = defineAsyncComponent(() => import("./notice-17huVNIA.js"));
16580
+ const NoticeModal = defineAsyncComponent(() => import("./notice-D5tJXygv.js"));
16492
16581
  function clearNotice() {
16493
16582
  if (localStorage$2.getItem("validator_email")) {
16494
16583
  localStorage$2.removeItem("validator_email");
@@ -17295,9 +17384,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17295
17384
  const layoutConfig2 = useLayoutConfig();
17296
17385
  const { t: t2 } = i18n.global;
17297
17386
  const route = useRoute();
17298
- const MenuItem = defineAsyncComponent(() => import("./MenuItem-CZUrycMd.js"));
17299
- const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-B4LT4C9V.js"));
17300
- const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-CQuYAB44.js"));
17387
+ const MenuItem = defineAsyncComponent(() => import("./MenuItem-BBU1yNPa.js"));
17388
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-BT9uWfo1.js"));
17389
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-CFDCSWsY.js"));
17301
17390
  const props = __props;
17302
17391
  console.log("slotKeys", props.slotKeys);
17303
17392
  console.log("props", props);
@@ -17691,6 +17780,12 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
17691
17780
  });
17692
17781
  const linkList = computed(() => {
17693
17782
  return [
17783
+ {
17784
+ name: t2("gitCodeLayout.home.informationCenter"),
17785
+ icon: "gt-line-consulting",
17786
+ url: `${transformNewsUrl(INFORMATION_CENTER_URL)}?lang=${getLocaleLang() || "zh"}`,
17787
+ target: "_blank"
17788
+ },
17694
17789
  {
17695
17790
  name: t2("gitCodeLayout.header.helpDocument"),
17696
17791
  icon: "gt-line-file",
@@ -23502,7 +23597,7 @@ const _SlidCaptchaManager = class _SlidCaptchaManager {
23502
23597
  __publicField(_SlidCaptchaManager, "instance");
23503
23598
  let SlidCaptchaManager = _SlidCaptchaManager;
23504
23599
  const slidCaptchaManager = SlidCaptchaManager.getInstance();
23505
- const SlidCaptcha = defineAsyncComponent(() => import("./index-B0sltWOA.js"));
23600
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-BBqyN8Dg.js"));
23506
23601
  const useSlidCaptcha = () => {
23507
23602
  const { mount, unMount, isMounted } = usePopup("slid-captcha-popup");
23508
23603
  const open = (config) => {
@@ -23532,7 +23627,7 @@ const useSlidCaptcha = () => {
23532
23627
  close
23533
23628
  };
23534
23629
  };
23535
- const YunpianCaptcha = defineAsyncComponent(() => import("./index-CoZdoltb.js"));
23630
+ const YunpianCaptcha = defineAsyncComponent(() => import("./index-Dafdhx59.js"));
23536
23631
  const useYunpianCaptcha = () => {
23537
23632
  const { mount, unMount } = usePopup("yunpian-captcha-popup");
23538
23633
  const open = (config) => {
@@ -25073,10 +25168,32 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25073
25168
  close();
25074
25169
  }
25075
25170
  };
25171
+ const getHelpDocsUrlWithPath = (path, hash) => {
25172
+ const baseUrl = currentHelpDocsBaseUrl();
25173
+ const currentLang2 = getLocaleLang();
25174
+ let normalizedPath = path;
25175
+ if (normalizedPath && !normalizedPath.startsWith("/")) {
25176
+ normalizedPath = "/" + normalizedPath;
25177
+ }
25178
+ let fullPath = normalizedPath;
25179
+ if (currentLang2 !== LANG_ZH) {
25180
+ fullPath = "/en" + normalizedPath;
25181
+ }
25182
+ if (hash) {
25183
+ let normalizedHash = hash;
25184
+ if (!normalizedHash.startsWith("#")) {
25185
+ normalizedHash = "#" + normalizedHash;
25186
+ }
25187
+ fullPath += normalizedHash;
25188
+ }
25189
+ return baseUrl + fullPath;
25190
+ };
25191
+ const currentLang = getLocaleLang();
25192
+ const dataShareHash = currentLang !== LANG_ZH ? "#viii-data-synchronization-and-account-integration" : "#八数据同步与账户整合";
25076
25193
  const links = {
25077
- agreement: currentHelpDocsUrl() + "/docs/help/home/protocol/terms-of-service",
25078
- privacy: currentHelpDocsUrl() + "/docs/help/home/protocol/privacy-policy",
25079
- dataShare: currentHelpDocsUrl() + "/docs/help/home/protocol/privacy-policy#八数据同步与账户整合"
25194
+ agreement: getHelpDocsUrlWithPath("/docs/help/home/protocol/terms-of-service"),
25195
+ privacy: getHelpDocsUrlWithPath("/docs/help/home/protocol/privacy-policy"),
25196
+ dataShare: getHelpDocsUrlWithPath("/docs/help/home/protocol/privacy-policy", dataShareHash)
25080
25197
  };
25081
25198
  const links_hw = {
25082
25199
  agreement: "https://www.huaweicloud.com/declaration/sa_cua.html",