vue-layout-gitcode 1.9.59 → 1.9.61

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-DqA5a0nA.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-8FTt5Pcm.js";
5
5
  import "lodash/debounce";
6
- import { u as useReportRepo, S as SearchRepoCard, f as formatNameSpace } from "./index-Ew6BP8P9.js";
7
- import "./transWebUrl-DQ_XjaaE.js";
6
+ import { u as useReportRepo, S as SearchRepoCard, f as formatNameSpace } from "./index-Ca_AUe6P.js";
7
+ import "./transWebUrl-BL8iFdTi.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, z as ThemeType, A as currentTheme, L as LANG_ZH, B as LANG_EN, x as getLocaleLang, G as GIcon, C as emitEvent, D as isHttps, b as REPO_EVENT, _ as _export_sfc } from "./index-DqA5a0nA.js";
2
+ import { a as i18n, y as useLayoutConfig, z as ThemeType, A as currentTheme, L as LANG_ZH, B as LANG_EN, x as getLocaleLang, G as GIcon, C as emitEvent, D as isHttps, b as REPO_EVENT, _ as _export_sfc } from "./index-8FTt5Pcm.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, F as _sfc_main$1, H as loadAsideData, C as emitEvent, s as setLoginTriggerSource, f as useRequestReport, I as asideRequest, _ as _export_sfc } from "./index-DqA5a0nA.js";
2
+ import { a as i18n, y as useLayoutConfig, G as GIcon, t as transformUrl, F as _sfc_main$1, H as loadAsideData, C as emitEvent, s as setLoginTriggerSource, f as useRequestReport, I as asideRequest, _ as _export_sfc } from "./index-8FTt5Pcm.js";
3
3
  import { useRouter } from "vue-router";
4
- import { t as transWebUrl } from "./transWebUrl-DQ_XjaaE.js";
4
+ import { t as transWebUrl } from "./transWebUrl-BL8iFdTi.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, G as GIcon, C as emitEvent, s as setLoginTriggerSource, f as useRequestReport, t as transformUrl, _ as _export_sfc } from "./index-DqA5a0nA.js";
2
+ import { a as i18n, y as useLayoutConfig, G as GIcon, C as emitEvent, s as setLoginTriggerSource, f as useRequestReport, t as transformUrl, _ as _export_sfc } from "./index-8FTt5Pcm.js";
3
3
  import { useRouter } from "vue-router";
4
- import { t as transWebUrl } from "./transWebUrl-DQ_XjaaE.js";
4
+ import { t as transWebUrl } from "./transWebUrl-BL8iFdTi.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-DqA5a0nA.js";
2
+ import { a as i18n, h as headRequest, G as GIcon, r as reqCatch } from "./index-8FTt5Pcm.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-DqA5a0nA.js";
2
+ import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-8FTt5Pcm.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-DqA5a0nA.js";
2
+ import { G as GIcon, _ as _export_sfc } from "./index-8FTt5Pcm.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-Ew6BP8P9.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-DqA5a0nA.js";
2
+ import { u as useReportRepo, S as SearchRepoCard } from "./index-Ca_AUe6P.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-8FTt5Pcm.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-DqA5a0nA.js";
2
+ import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-8FTt5Pcm.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-DqA5a0nA.js";
2
+ import { a as i18n, h as headRequest, G as GIcon, t as transformUrl } from "./index-8FTt5Pcm.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]" };
@@ -539,7 +539,7 @@ const LOGO_MAP = {
539
539
  aiLogoDark: "https://cdn-static.gitcode.com/static/images/gitcode-ai-logo-dark_atomgit.png"
540
540
  }
541
541
  };
542
- /*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */
542
+ /*! @license DOMPurify 3.2.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.6/LICENSE */
543
543
  const {
544
544
  entries,
545
545
  setPrototypeOf,
@@ -690,7 +690,7 @@ const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm);
690
690
  const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
691
691
  const ARIA_ATTR = seal(/^aria-[\-\w]+$/);
692
692
  const IS_ALLOWED_URI = seal(
693
- /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
693
+ /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
694
694
  // eslint-disable-line no-useless-escape
695
695
  );
696
696
  const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
@@ -764,7 +764,7 @@ const _createHooksMap = function _createHooksMap2() {
764
764
  function createDOMPurify() {
765
765
  let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
766
766
  const DOMPurify = (root) => createDOMPurify(root);
767
- DOMPurify.version = "3.2.5";
767
+ DOMPurify.version = "3.2.6";
768
768
  DOMPurify.removed = [];
769
769
  if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
770
770
  DOMPurify.isSupported = false;
@@ -911,8 +911,8 @@ function createDOMPurify() {
911
911
  URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
912
912
  DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
913
913
  FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
914
- FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};
915
- FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};
914
+ FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});
915
+ FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});
916
916
  USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false;
917
917
  ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
918
918
  ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
@@ -1176,7 +1176,7 @@ function createDOMPurify() {
1176
1176
  tagName,
1177
1177
  allowedTags: ALLOWED_TAGS
1178
1178
  });
1179
- if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
1179
+ if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
1180
1180
  _forceRemove(currentNode);
1181
1181
  return true;
1182
1182
  }
@@ -1289,7 +1289,8 @@ function createDOMPurify() {
1289
1289
  value: attrValue
1290
1290
  } = attr;
1291
1291
  const lcName = transformCaseFunc(name);
1292
- let value = name === "value" ? attrValue : stringTrim(attrValue);
1292
+ const initValue = attrValue;
1293
+ let value = name === "value" ? initValue : stringTrim(initValue);
1293
1294
  hookEvent.attrName = lcName;
1294
1295
  hookEvent.attrValue = value;
1295
1296
  hookEvent.keepAttr = true;
@@ -1307,8 +1308,8 @@ function createDOMPurify() {
1307
1308
  if (hookEvent.forceKeepAttr) {
1308
1309
  continue;
1309
1310
  }
1310
- _removeAttribute(name, currentNode);
1311
1311
  if (!hookEvent.keepAttr) {
1312
+ _removeAttribute(name, currentNode);
1312
1313
  continue;
1313
1314
  }
1314
1315
  if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
@@ -1322,6 +1323,7 @@ function createDOMPurify() {
1322
1323
  }
1323
1324
  const lcTag = transformCaseFunc(currentNode.nodeName);
1324
1325
  if (!_isValidAttribute(lcTag, lcName, value)) {
1326
+ _removeAttribute(name, currentNode);
1325
1327
  continue;
1326
1328
  }
1327
1329
  if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") {
@@ -1339,18 +1341,21 @@ function createDOMPurify() {
1339
1341
  }
1340
1342
  }
1341
1343
  }
1342
- try {
1343
- if (namespaceURI) {
1344
- currentNode.setAttributeNS(namespaceURI, name, value);
1345
- } else {
1346
- currentNode.setAttribute(name, value);
1347
- }
1348
- if (_isClobbered(currentNode)) {
1349
- _forceRemove(currentNode);
1350
- } else {
1351
- arrayPop(DOMPurify.removed);
1344
+ if (value !== initValue) {
1345
+ try {
1346
+ if (namespaceURI) {
1347
+ currentNode.setAttributeNS(namespaceURI, name, value);
1348
+ } else {
1349
+ currentNode.setAttribute(name, value);
1350
+ }
1351
+ if (_isClobbered(currentNode)) {
1352
+ _forceRemove(currentNode);
1353
+ } else {
1354
+ arrayPop(DOMPurify.removed);
1355
+ }
1356
+ } catch (_) {
1357
+ _removeAttribute(name, currentNode);
1352
1358
  }
1353
- } catch (_) {
1354
1359
  }
1355
1360
  }
1356
1361
  _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
@@ -7862,6 +7867,7 @@ const gitCodeLayout$1 = {
7862
7867
  gitCodeProtocol: "GitCode用户协议",
7863
7868
  gitCodePrivacy: "GitCode隐私政策",
7864
7869
  dataShare: "我同意将账号、组织、仓库等信息提供给{name}进行数据共享",
7870
+ dataShare01: "我同意将账号、组织、仓库等信息提供给{name}进行",
7865
7871
  chiCloDevSerAgr: "华为云开发者服务协议",
7866
7872
  chiCloDevPriPolSta: "华为云开发者隐私政策声明",
7867
7873
  dataShareTip: "数据共享"
@@ -8187,6 +8193,7 @@ const gitCodeLayout = {
8187
8193
  gitCodeProtocol: "GitCode User Agreement",
8188
8194
  gitCodePrivacy: "GitCode Privacy Policy",
8189
8195
  dataShare: "I agree to share my account, organization, repository information with {name} for data sharing",
8196
+ dataShare01: "I agree to share my account, organization, repository information with {name} for",
8190
8197
  chiCloDevSerAgr: "Huawei Cloud Developer Service Agreement",
8191
8198
  chiCloDevPriPolSta: "Huawei Cloud Developer Privacy Policy Statement",
8192
8199
  dataShareTip: "Data Sharing"
@@ -17078,13 +17085,13 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17078
17085
  var _a;
17079
17086
  const layoutConfig2 = useLayoutConfig();
17080
17087
  const { t: $t } = i18n.global;
17081
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-ByVoVgeC.js"));
17082
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-BSoeTIPA.js"));
17083
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-D9KeuPfq.js"));
17084
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DpGtohnP.js"));
17085
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-Z1dVrTba.js"));
17086
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-CR3WCIkG.js"));
17087
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-CnxhLayZ.js"));
17088
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-DImtajxe.js"));
17089
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-Cp9zjzg0.js"));
17090
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-CbsAIrt6.js"));
17091
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DwOQMr4g.js"));
17092
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CeAYTCj4.js"));
17093
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-DHcyoXjq.js"));
17094
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-C_3RFVHA.js"));
17088
17095
  const props = __props;
17089
17096
  const repoInfo = inject("repoInfo");
17090
17097
  const orgInfo = inject("orgInfo");
@@ -17754,7 +17761,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17754
17761
  };
17755
17762
  const migrationAnnounceUrl = computed(() => {
17756
17763
  var _a, _b;
17757
- return ((_b = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a.hostname) == null ? void 0 : _b.includes("gitcode")) ? "https://gitcode.com/gitcode" : "https://atomgit.com/gitcode";
17764
+ return ((_b = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a.hostname) == null ? void 0 : _b.includes("gitcode")) ? "https://gitcode.com/org/gitcode/discussions/11" : "https://atomgit.com/org/gitcode/discussions/12";
17758
17765
  });
17759
17766
  const initShowStatus = () => {
17760
17767
  if (!SITE_STATUS.DISABLE) {
@@ -17833,7 +17840,7 @@ const autoAvokeLogin = ({ isLogin, loginFunc, openHarmonyGuide, loginSuccess, lo
17833
17840
  loginFunc({ type: "login", triggerType: "", loginTriggerSource: "router_login_auth", ...loginFuncOpts }, loginSuccess, openHarmonyGuide);
17834
17841
  }
17835
17842
  };
17836
- const NoticeModal = defineAsyncComponent(() => import("./notice-BWtOdaqP.js"));
17843
+ const NoticeModal = defineAsyncComponent(() => import("./notice-C36OUonn.js"));
17837
17844
  function clearNotice() {
17838
17845
  if (localStorage$2.getItem("validator_email")) {
17839
17846
  localStorage$2.removeItem("validator_email");
@@ -18635,9 +18642,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18635
18642
  const layoutConfig2 = useLayoutConfig();
18636
18643
  const { t: t2 } = i18n.global;
18637
18644
  const route = useRoute();
18638
- const MenuItem = defineAsyncComponent(() => import("./MenuItem-CQXqQ8xO.js"));
18639
- const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-CJrdAIsV.js"));
18640
- const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-DN4s_Mky.js"));
18645
+ const MenuItem = defineAsyncComponent(() => import("./MenuItem-p5m7K1-B.js"));
18646
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-B3Kzz_BB.js"));
18647
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-Bxj-RY0_.js"));
18641
18648
  const props = __props;
18642
18649
  console.log("slotKeys", props.slotKeys);
18643
18650
  console.log("props", props);
@@ -21628,7 +21635,48 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
21628
21635
  }
21629
21636
  });
21630
21637
  const GAuth = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-vue-layout-gitcode"]]);
21631
- const _hoisted_1$7 = { class: "flex-col items-center" };
21638
+ const LOGIN_DECLARE_KEY = "g-login-declare-status";
21639
+ const useDeclareStatus = () => {
21640
+ const declareNotClicked = ref({
21641
+ agreement: true,
21642
+ privacy: true,
21643
+ dataShare: true
21644
+ });
21645
+ const loadDeclareStatus = () => {
21646
+ const loginDeclare = localStorage$2.getItem(LOGIN_DECLARE_KEY);
21647
+ if (loginDeclare) {
21648
+ try {
21649
+ declareNotClicked.value = JSON.parse(loginDeclare);
21650
+ } catch (error) {
21651
+ console.error("解析声明状态失败:", error);
21652
+ }
21653
+ }
21654
+ };
21655
+ const saveDeclareStatus = () => {
21656
+ localStorage$2.setItem(LOGIN_DECLARE_KEY, JSON.stringify(declareNotClicked.value));
21657
+ };
21658
+ const markAsClicked = (type) => {
21659
+ declareNotClicked.value[type] = false;
21660
+ saveDeclareStatus();
21661
+ };
21662
+ const resetDeclareStatus = () => {
21663
+ declareNotClicked.value = {
21664
+ agreement: true,
21665
+ privacy: true,
21666
+ dataShare: true
21667
+ };
21668
+ saveDeclareStatus();
21669
+ };
21670
+ onMounted(() => {
21671
+ loadDeclareStatus();
21672
+ });
21673
+ return {
21674
+ declareNotClicked,
21675
+ markAsClicked,
21676
+ resetDeclareStatus
21677
+ };
21678
+ };
21679
+ const _hoisted_1$7 = { class: "flex-col items-center agreement" };
21632
21680
  const _hoisted_2$5 = { class: "text-[var(--theme-placeholder)]" };
21633
21681
  const _hoisted_3$5 = { class: "text-[var(--theme-placeholder)]" };
21634
21682
  const _hoisted_4$3 = { class: "text-[var(--theme-placeholder)]" };
@@ -21642,15 +21690,17 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
21642
21690
  setup(__props, { emit: __emit }) {
21643
21691
  const { t: $t } = i18n.global;
21644
21692
  const emits = __emit;
21693
+ const { declareNotClicked, markAsClicked } = useDeclareStatus();
21645
21694
  const handleClick = (type) => {
21646
21695
  emits("declares", type);
21696
+ markAsClicked(type);
21647
21697
  };
21648
21698
  const dataShareName = computed(() => {
21649
21699
  var _a, _b;
21650
21700
  if ((_b = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a.host) == null ? void 0 : _b.includes("gitcode")) {
21651
- return $t("gitCodeLayout.LoginModal.link.dataShare", { name: "AtomGit" });
21701
+ return $t("gitCodeLayout.LoginModal.link.dataShare01", { name: "AtomGit" });
21652
21702
  } else {
21653
- return $t("gitCodeLayout.LoginModal.link.dataShare", { name: "GitCode" });
21703
+ return $t("gitCodeLayout.LoginModal.link.dataShare01", { name: "GitCode" });
21654
21704
  }
21655
21705
  });
21656
21706
  return (_ctx, _cache) => {
@@ -21663,24 +21713,30 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
21663
21713
  default: withCtx(() => [
21664
21714
  createElementVNode("span", _hoisted_2$5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.agree")), 1),
21665
21715
  createElementVNode("span", {
21666
- class: "text-[var(--theme-link)] cursor-pointer mx-[1px]",
21716
+ class: normalizeClass(["text-[var(--theme-link)] cursor-pointer mx-[1px]", unref(declareNotClicked)["agreement"] ? "badge-dot-item" : ""]),
21667
21717
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleClick("agreement"), ["stop"]))
21668
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.agreement")), 1),
21718
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.agreement")), 3),
21669
21719
  createElementVNode("span", _hoisted_3$5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.and")), 1),
21670
21720
  createElementVNode("span", {
21671
- class: "text-[var(--theme-link)] cursor-pointer mx-[1px]",
21721
+ class: normalizeClass(["text-[var(--theme-link)] cursor-pointer mx-[1px]", unref(declareNotClicked)["privacy"] ? "badge-dot-item" : ""]),
21672
21722
  onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleClick("privacy"), ["stop"]))
21673
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")), 1)
21723
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")), 3)
21674
21724
  ]),
21675
21725
  _: 1
21676
21726
  }, 8, ["model-value"]),
21677
21727
  createVNode(unref(Checkbox), {
21678
21728
  "model-value": _ctx.dataShareChecked,
21679
- "onUpdate:modelValue": _cache[3] || (_cache[3] = (val) => emits("update:dataShareChecked", val)),
21729
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = (val) => emits("update:dataShareChecked", val)),
21680
21730
  size: "sm"
21681
21731
  }, {
21682
21732
  default: withCtx(() => [
21683
- createElementVNode("span", _hoisted_4$3, toDisplayString$1(dataShareName.value), 1)
21733
+ createElementVNode("span", _hoisted_4$3, [
21734
+ createTextVNode(toDisplayString$1(dataShareName.value) + " ", 1),
21735
+ createElementVNode("span", {
21736
+ class: "text-[var(--theme-link)] cursor-pointer mx-[1px]",
21737
+ onClick: _cache[3] || (_cache[3] = withModifiers(($event) => handleClick("dataShare"), ["stop"]))
21738
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.dataShareTip")), 1)
21739
+ ])
21684
21740
  ]),
21685
21741
  _: 1
21686
21742
  }, 8, ["model-value"])
@@ -21688,6 +21744,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
21688
21744
  };
21689
21745
  }
21690
21746
  });
21747
+ const GAgreement = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-vue-layout-gitcode"]]);
21691
21748
  const _hoisted_1$6 = { class: "text-[var(--devui-aide-text)] text-[12px]" };
21692
21749
  const _hoisted_2$4 = { class: "text-[var(--devui-aide-text)]" };
21693
21750
  const _hoisted_3$4 = { class: "text-[var(--devui-aide-text)] text-[12px]" };
@@ -21701,15 +21758,17 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
21701
21758
  setup(__props, { emit: __emit }) {
21702
21759
  const { t: $t } = i18n.global;
21703
21760
  const emits = __emit;
21761
+ const { declareNotClicked, markAsClicked } = useDeclareStatus();
21704
21762
  const handleClick = (type) => {
21705
21763
  emits("declares", type);
21764
+ markAsClicked(type);
21706
21765
  };
21707
21766
  const dataShareName = computed(() => {
21708
21767
  var _a, _b;
21709
21768
  if ((_b = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a.host) == null ? void 0 : _b.includes("gitcode")) {
21710
- return $t("gitCodeLayout.LoginModal.link.dataShare", { name: "AtomGit" });
21769
+ return $t("gitCodeLayout.LoginModal.link.dataShare01", { name: "AtomGit" });
21711
21770
  } else {
21712
- return $t("gitCodeLayout.LoginModal.link.dataShare", { name: "GitCode" });
21771
+ return $t("gitCodeLayout.LoginModal.link.dataShare01", { name: "GitCode" });
21713
21772
  }
21714
21773
  });
21715
21774
  return (_ctx, _cache) => {
@@ -21723,26 +21782,30 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
21723
21782
  default: withCtx(() => [
21724
21783
  createElementVNode("span", _hoisted_1$6, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.readAgree")), 1),
21725
21784
  createElementVNode("a", {
21726
- class: "text-[var(--devui-link)] cursor-pointer mx-[1px] text-[12px]",
21785
+ class: normalizeClass(["text-[var(--devui-link)] cursor-pointer mx-[1px] text-[12px]", unref(declareNotClicked)["agreement"] ? "badge-dot-item" : ""]),
21727
21786
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleClick("agreement"), ["stop"]))
21728
- }, toDisplayString$1("《" + unref($t)("gitCodeLayout.LoginModal.link.agreement") + "》"), 1),
21787
+ }, toDisplayString$1("《" + unref($t)("gitCodeLayout.LoginModal.link.agreement") + "》"), 3),
21729
21788
  createElementVNode("span", _hoisted_2$4, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.and")), 1),
21730
21789
  createElementVNode("a", {
21731
- class: "text-[var(--devui-link)] cursor-pointer mx-[1px] text-[12px]",
21790
+ class: normalizeClass(["text-[var(--devui-link)] cursor-pointer mx-[1px] text-[12px]", unref(declareNotClicked)["privacy"] ? "badge-dot-item" : ""]),
21732
21791
  onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleClick("privacy"), ["stop"]))
21733
- }, toDisplayString$1("《" + unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy") + "》"), 1),
21792
+ }, toDisplayString$1("《" + unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy") + "》"), 3),
21734
21793
  renderSlot(_ctx.$slots, "default")
21735
21794
  ]),
21736
21795
  _: 3
21737
21796
  }, 8, ["model-value"]),
21738
21797
  createVNode(unref(Checkbox), {
21739
21798
  "model-value": _ctx.dataShareChecked,
21740
- "onUpdate:modelValue": _cache[3] || (_cache[3] = (val) => emits("update:dataShareChecked", val)),
21799
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = (val) => emits("update:dataShareChecked", val)),
21741
21800
  size: "sm",
21742
21801
  class: "mb-[12px]"
21743
21802
  }, {
21744
21803
  default: withCtx(() => [
21745
- createElementVNode("span", _hoisted_3$4, toDisplayString$1(dataShareName.value), 1)
21804
+ createElementVNode("span", _hoisted_3$4, toDisplayString$1(dataShareName.value), 1),
21805
+ createElementVNode("span", {
21806
+ class: "text-[var(--theme-link)] cursor-pointer mx-[1px] text-[12px]",
21807
+ onClick: _cache[3] || (_cache[3] = withModifiers(($event) => handleClick("dataShare"), ["stop"]))
21808
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.dataShareTip")), 1)
21746
21809
  ]),
21747
21810
  _: 1
21748
21811
  }, 8, ["model-value"])
@@ -24127,8 +24190,10 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
24127
24190
  const { t: $t } = i18n.global;
24128
24191
  const visible = useModel$1(__props, "visible");
24129
24192
  const emits = __emit;
24193
+ const { declareNotClicked, markAsClicked } = useDeclareStatus();
24130
24194
  const handleClick = (type) => {
24131
24195
  emits("declares", type);
24196
+ markAsClicked(type);
24132
24197
  };
24133
24198
  const handleConfirm = () => {
24134
24199
  emits("confirm");
@@ -24136,9 +24201,9 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
24136
24201
  const dataShareName = computed(() => {
24137
24202
  var _a;
24138
24203
  if ((_a = window == null ? void 0 : window.location) == null ? void 0 : _a.host.includes("gitcode")) {
24139
- return $t("gitCodeLayout.LoginModal.link.dataShare", { name: "AtomGit" });
24204
+ return $t("gitCodeLayout.LoginModal.link.dataShare01", { name: "AtomGit" });
24140
24205
  } else {
24141
- return $t("gitCodeLayout.LoginModal.link.dataShare", { name: "GitCode" });
24206
+ return $t("gitCodeLayout.LoginModal.link.dataShare01", { name: "GitCode" });
24142
24207
  }
24143
24208
  });
24144
24209
  const close = () => {
@@ -24147,7 +24212,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
24147
24212
  return (_ctx, _cache) => {
24148
24213
  return openBlock(), createBlock(unref(Modal), {
24149
24214
  modelValue: visible.value,
24150
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => visible.value = $event),
24215
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => visible.value = $event),
24151
24216
  "close-on-click-overlay": false,
24152
24217
  "show-overlay": true,
24153
24218
  class: "second-sure-proto",
@@ -24182,14 +24247,14 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
24182
24247
  createElementVNode("div", null, [
24183
24248
  createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.youNeeToAgr")) + " ", 1),
24184
24249
  createElementVNode("span", {
24185
- class: "text-[var(--theme-link)] cursor-pointer mx-[1px]",
24250
+ class: normalizeClass(["text-[var(--theme-link)] cursor-pointer mx-[1px]", unref(declareNotClicked)["agreement"] ? "badge-dot-item" : ""]),
24186
24251
  onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleClick("agreement"), ["stop"]))
24187
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.agreement")), 1),
24252
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.agreement")), 3),
24188
24253
  createTextVNode(" " + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.and")) + " ", 1),
24189
24254
  createElementVNode("span", {
24190
- class: "text-[var(--theme-link)] cursor-pointer mx-[1px]",
24255
+ class: normalizeClass(["text-[var(--theme-link)] cursor-pointer mx-[1px]", unref(declareNotClicked)["privacy"] ? "badge-dot-item" : ""]),
24191
24256
  onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleClick("privacy"), ["stop"]))
24192
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")), 1),
24257
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")), 3),
24193
24258
  createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.toUseGit")), 1)
24194
24259
  ]),
24195
24260
  createElementVNode("div", null, [
@@ -24197,12 +24262,16 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
24197
24262
  ]),
24198
24263
  createVNode(unref(Checkbox), {
24199
24264
  "model-value": _ctx.dataShareChecked,
24200
- "onUpdate:modelValue": _cache[2] || (_cache[2] = (val) => emits("update:dataShareChecked", val)),
24265
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = (val) => emits("update:dataShareChecked", val)),
24201
24266
  size: "sm",
24202
24267
  class: "mt-[12px]"
24203
24268
  }, {
24204
24269
  default: withCtx(() => [
24205
- createElementVNode("span", _hoisted_2$2, toDisplayString$1(dataShareName.value), 1)
24270
+ createElementVNode("span", _hoisted_2$2, toDisplayString$1(dataShareName.value), 1),
24271
+ createElementVNode("span", {
24272
+ class: "text-[var(--theme-link)] cursor-pointer mx-[1px] text-[13px]",
24273
+ onClick: _cache[2] || (_cache[2] = withModifiers(($event) => handleClick("dataShare"), ["stop"]))
24274
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.link.dataShareTip")), 1)
24206
24275
  ]),
24207
24276
  _: 1
24208
24277
  }, 8, ["model-value"])
@@ -24470,7 +24539,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
24470
24539
  }
24471
24540
  });
24472
24541
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-vue-layout-gitcode"]]);
24473
- const SlidCaptcha = defineAsyncComponent(() => import("./index-BF2RytwW.js"));
24542
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-CMP-X9WR.js"));
24474
24543
  const useSlidCaptcha = () => {
24475
24544
  const { mount, unMount } = usePopup("slid-captcha-popup");
24476
24545
  const open = (config) => {
@@ -24489,7 +24558,7 @@ const useSlidCaptcha = () => {
24489
24558
  close: unMount
24490
24559
  };
24491
24560
  };
24492
- const YunpianCaptcha = defineAsyncComponent(() => import("./index-CztunOZI.js"));
24561
+ const YunpianCaptcha = defineAsyncComponent(() => import("./index-BRuk8RJN.js"));
24493
24562
  const useYunpianCaptcha = () => {
24494
24563
  const { mount, unMount } = usePopup("yunpian-captcha-popup");
24495
24564
  const open = (config) => {
@@ -25312,15 +25381,17 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25312
25381
  };
25313
25382
  const links = {
25314
25383
  agreement: currentHelpDocsUrl() + "/docs/help/home/protocol/terms-of-service",
25315
- privacy: currentHelpDocsUrl() + "/docs/help/home/protocol/privacy-policy"
25384
+ privacy: currentHelpDocsUrl() + "/docs/help/home/protocol/privacy-policy",
25385
+ dataShare: currentHelpDocsUrl() + "/docs/help/home/protocol/privacy-policy#八数据同步与账户整合"
25316
25386
  };
25317
25387
  const links_hw = {
25318
25388
  agreement: "https://www.huaweicloud.com/declaration/sa_cua.html",
25319
- privacy: "https://www.huaweicloud.com/declaration/sa_prp.html"
25389
+ privacy: "https://www.huaweicloud.com/declaration/sa_prp.html",
25390
+ dataShare: ""
25320
25391
  };
25321
25392
  const handleDisplay = (type, url = "gitcode") => {
25322
25393
  const link = url === "gitcode" ? links[type] : links_hw[type];
25323
- window.open(link);
25394
+ link && window.open(link);
25324
25395
  };
25325
25396
  const setFormErrorKey = (conf) => {
25326
25397
  let message = "";
@@ -26126,7 +26197,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26126
26197
  class: normalizeClass([["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""], "mt-[16px]"])
26127
26198
  }, [
26128
26199
  createElementVNode("div", _hoisted_39, [
26129
- createVNode(_sfc_main$8, {
26200
+ createVNode(GAgreement, {
26130
26201
  modelValue: status.value,
26131
26202
  "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => status.value = $event),
26132
26203
  dataShareChecked: dataShareChecked.value,
@@ -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, x as getLocaleLang, L as LANG_ZH, _ as _export_sfc } from "./index-DqA5a0nA.js";
11
+ import { a as i18n, k as usePageResize, x as getLocaleLang, L as LANG_ZH, _ as _export_sfc } from "./index-8FTt5Pcm.js";
12
12
  const _YunpianCaptchaManager = class _YunpianCaptchaManager {
13
13
  constructor() {
14
14
  __publicField(this, "ypRiddlerInstance", null);
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, onMounted, onUnmounted, createBlock, openBlock, unref, withCtx, createElementVNode } from "vue";
2
- import { x as getLocaleLang, L as LANG_ZH, y as useLayoutConfig, _ as _export_sfc } from "./index-DqA5a0nA.js";
2
+ import { x as getLocaleLang, L as LANG_ZH, y as useLayoutConfig, _ as _export_sfc } from "./index-8FTt5Pcm.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:";
@@ -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-DqA5a0nA.js";
4
- import { t as transWebUrl } from "./transWebUrl-DQ_XjaaE.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-8FTt5Pcm.js";
4
+ import { t as transWebUrl } from "./transWebUrl-BL8iFdTi.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";
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { M, N, U, K, S, O, J, A, W, Q, V, P } from "./index-DqA5a0nA.js";
1
+ import { M, N, U, K, S, O, J, A, W, Q, V, P } from "./index-8FTt5Pcm.js";
2
2
  export {
3
3
  M as GitCodeAside,
4
4
  N as GitCodeHeader,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, createBlock, openBlock, unref, isRef, withCtx, createElementVNode, normalizeClass, createVNode, createTextVNode } from "vue";
2
- import { i as isPhone, u as useModel } from "./index-DqA5a0nA.js";
2
+ import { i as isPhone, u as useModel } from "./index-8FTt5Pcm.js";
3
3
  import { Notification } from "vue-devui-lal/notification";
4
4
  import { Button } from "vue-devui-lal/button";
5
5
  import "vue-devui-lal/notification/style.css";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-layout-gitcode",
3
- "version": "1.9.59",
3
+ "version": "1.9.61",
4
4
  "description": "用于 gitcode 站点生产环境使用",
5
5
  "main": "index.js",
6
6
  "types": "./index.d.ts",