vue-layout-gitcode 1.3.39 → 1.3.41

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, guardReactiveProps, onBeforeUnmount, nextTick, defineAsyncComponent, withDirectives, 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, withDirectives, guardReactiveProps, onBeforeUnmount, nextTick, defineAsyncComponent, 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";
@@ -40,6 +40,8 @@ import "vue-devui-lal/layout/style.css";
40
40
  import { RadioGroup, Radio } from "vue-devui-lal/radio";
41
41
  import "@devui-design/icons/icomoon/devui-icon.css";
42
42
  import "vue-devui-lal/radio/style.css";
43
+ import { EditableSelect } from "vue-devui-lal/editable-select";
44
+ import "vue-devui-lal/editable-select/style.css";
43
45
  import { Checkbox } from "vue-devui-lal/checkbox";
44
46
  import "vue-devui-lal/checkbox/style.css";
45
47
  import { Modal } from "vue-devui-lal/modal";
@@ -469,6 +471,7 @@ const OAUTH_CANCEL = "oauth_cancel";
469
471
  const OAUTH_LOGIN_TYPE_KEY = "oauthType";
470
472
  const REGISTER_SOURCE_TAB = "register_source_tab";
471
473
  const LOGIN_MODAL_TRIGGER_SOURCE = "login_trigger_source";
474
+ const REGISTER_CLICK_TO_LOGIN = "register_click_to_login";
472
475
  /*! @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 */
473
476
  const {
474
477
  entries,
@@ -7740,12 +7743,16 @@ const gitCodeLayout$1 = {
7740
7743
  phone: "手机号码",
7741
7744
  cipher: "密码",
7742
7745
  otherLogin: "其他登录方式",
7743
- useAgrAndPriPolTip: "用户协议与隐私政策提示"
7746
+ useAgrAndPriPolTip: "用户协议与隐私政策提示",
7747
+ desc: "代码有我,智能随行"
7744
7748
  },
7745
7749
  action: {
7746
7750
  oh: "鸿蒙开发者登录",
7747
7751
  login: "登 录",
7748
- registerAgain: "注册新账号",
7752
+ noAccount: "没有账号?",
7753
+ haveAccount: "已有账号?",
7754
+ registerAgain: "点击注册",
7755
+ backLogin: "返回登录",
7749
7756
  phone: "手机验证码",
7750
7757
  readAgree: "我已阅读并同意",
7751
7758
  verify: "确 认",
@@ -8024,12 +8031,16 @@ const gitCodeLayout = {
8024
8031
  phone: "Phone number",
8025
8032
  cipher: "Password",
8026
8033
  otherLogin: "Other login methods",
8027
- useAgrAndPriPolTip: "User Agreement and Privacy Policy Notice"
8034
+ useAgrAndPriPolTip: "User Agreement and Privacy Policy Notice",
8035
+ desc: "Code with me, intelligent companion"
8028
8036
  },
8029
8037
  action: {
8030
8038
  oh: "OpenHarmony Developers",
8031
8039
  login: "Log In",
8040
+ noAccount: "No account?",
8041
+ haveAccount: "Have an account?",
8032
8042
  registerAgain: "Sign up",
8043
+ backLogin: "Log in",
8033
8044
  phone: "SMS code",
8034
8045
  readAgree: "I have read and agree to",
8035
8046
  verify: "Confirm",
@@ -10903,12 +10914,12 @@ const proxyService = (params, customConfigs) => {
10903
10914
  };
10904
10915
  const _hoisted_1$u = { class: "home-nav-right" };
10905
10916
  const _hoisted_2$k = { class: "home-nav-item" };
10906
- const _hoisted_3$h = {
10917
+ const _hoisted_3$i = {
10907
10918
  key: 0,
10908
10919
  class: "tooltip-sign"
10909
10920
  };
10910
- const _hoisted_4$e = { class: "home-nav-tooltip-wrapper" };
10911
- const _hoisted_5$a = { class: "home-nav-text" };
10921
+ const _hoisted_4$g = { class: "home-nav-tooltip-wrapper" };
10922
+ const _hoisted_5$c = { class: "home-nav-text" };
10912
10923
  const _hoisted_6$8 = {
10913
10924
  key: 1,
10914
10925
  class: "tools-list"
@@ -10945,16 +10956,16 @@ const _hoisted_23$3 = {
10945
10956
  key: 0,
10946
10957
  class: "absolute top-0 right-0 text-[var(--theme-aide-text)]"
10947
10958
  };
10948
- const _hoisted_24 = { class: "font-[600] text-[var(--theme-aide-text)] mt-3 text-sm leading-[20px]" };
10949
- const _hoisted_25 = { class: "mt-3" };
10950
- const _hoisted_26 = {
10959
+ const _hoisted_24$1 = { class: "font-[600] text-[var(--theme-aide-text)] mt-3 text-sm leading-[20px]" };
10960
+ const _hoisted_25$1 = { class: "mt-3" };
10961
+ const _hoisted_26$1 = {
10951
10962
  key: 1,
10952
10963
  class: "finish flex items-center"
10953
10964
  };
10954
- const _hoisted_27 = { class: "flex justify-center items-center w-[30px] h-[30px] rounded-[50%] bg-[#0EB07B]" };
10955
- const _hoisted_28 = { class: "ml-2 font-[600] text-[var(--theme-aide-text)] text-sm leading-[20px]" };
10956
- const _hoisted_29 = { class: "home-nav-item" };
10957
- const _hoisted_30 = ["src", "alt"];
10965
+ const _hoisted_27$1 = { class: "flex justify-center items-center w-[30px] h-[30px] rounded-[50%] bg-[#0EB07B]" };
10966
+ const _hoisted_28$1 = { class: "ml-2 font-[600] text-[var(--theme-aide-text)] text-sm leading-[20px]" };
10967
+ const _hoisted_29$1 = { class: "home-nav-item" };
10968
+ const _hoisted_30$1 = ["src", "alt"];
10958
10969
  const _sfc_main$A = /* @__PURE__ */ defineComponent({
10959
10970
  __name: "index",
10960
10971
  props: {
@@ -11123,8 +11134,8 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11123
11134
  "overlay-class": "tools-tag-tooltip"
11124
11135
  }, {
11125
11136
  content: withCtx(() => [
11126
- createElementVNode("div", _hoisted_4$e, [
11127
- createElementVNode("div", _hoisted_5$a, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11137
+ createElementVNode("div", _hoisted_4$g, [
11138
+ createElementVNode("div", _hoisted_5$c, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11128
11139
  ])
11129
11140
  ]),
11130
11141
  default: withCtx(() => [
@@ -11138,7 +11149,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11138
11149
  src: "https://cdn-static.gitcode.com/static/images/homeweb/czzx.svg",
11139
11150
  alt: ""
11140
11151
  }, null, -1)),
11141
- !_ctx.isLogin || !isSignIn.value ? (openBlock(), createElementBlock("div", _hoisted_3$h, toDisplayString$1(!_ctx.isLogin ? unref(t2)("gitCodeLayout.growthCenter.receive") : unref(t2)("gitCodeLayout.growthCenter.signIn")), 1)) : createCommentVNode("", true)
11152
+ !_ctx.isLogin || !isSignIn.value ? (openBlock(), createElementBlock("div", _hoisted_3$i, toDisplayString$1(!_ctx.isLogin ? unref(t2)("gitCodeLayout.growthCenter.receive") : unref(t2)("gitCodeLayout.growthCenter.signIn")), 1)) : createCommentVNode("", true)
11142
11153
  ])
11143
11154
  ])
11144
11155
  ]),
@@ -11261,10 +11272,10 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11261
11272
  rateNow.value !== null ? (openBlock(), createElementBlock("div", _hoisted_23$3, [
11262
11273
  createElementVNode("span", null, toDisplayString$1(rateIcon[rateNow.value].title), 1)
11263
11274
  ])) : createCommentVNode("", true),
11264
- createElementVNode("div", _hoisted_24, [
11275
+ createElementVNode("div", _hoisted_24$1, [
11265
11276
  createElementVNode("span", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.improveQuestion")) + "?", 1)
11266
11277
  ]),
11267
- createElementVNode("div", _hoisted_25, [
11278
+ createElementVNode("div", _hoisted_25$1, [
11268
11279
  createVNode(unref(Textarea), {
11269
11280
  modelValue: opinionText.value,
11270
11281
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => opinionText.value = $event),
@@ -11288,15 +11299,15 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11288
11299
  ])
11289
11300
  ])) : createCommentVNode("", true)
11290
11301
  ])
11291
- ])) : (openBlock(), createElementBlock("div", _hoisted_26, [
11292
- createElementVNode("div", _hoisted_27, [
11302
+ ])) : (openBlock(), createElementBlock("div", _hoisted_26$1, [
11303
+ createElementVNode("div", _hoisted_27$1, [
11293
11304
  createVNode(GIcon, {
11294
11305
  name: "gt-success",
11295
11306
  size: "14px",
11296
11307
  color: "#fff"
11297
11308
  })
11298
11309
  ]),
11299
- createElementVNode("div", _hoisted_28, [
11310
+ createElementVNode("div", _hoisted_28$1, [
11300
11311
  createElementVNode("span", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.thankFaceback")) + "!", 1)
11301
11312
  ])
11302
11313
  ]))
@@ -11341,7 +11352,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11341
11352
  onClick: _cache[2] || (_cache[2] = //@ts-ignore
11342
11353
  (...args) => unref(scrollToTop) && unref(scrollToTop)(...args))
11343
11354
  }, [
11344
- createElementVNode("div", _hoisted_29, [
11355
+ createElementVNode("div", _hoisted_29$1, [
11345
11356
  createVNode(GIcon, {
11346
11357
  name: "gt-plane-Topping1",
11347
11358
  size: "20px"
@@ -11364,7 +11375,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
11364
11375
  width: "200",
11365
11376
  src: activeAdItem.value.imgUrl,
11366
11377
  alt: activeAdItem.value.title
11367
- }, null, 8, _hoisted_30)
11378
+ }, null, 8, _hoisted_30$1)
11368
11379
  ])) : createCommentVNode("", true)
11369
11380
  ]);
11370
11381
  };
@@ -14442,6 +14453,13 @@ function headRequest(request) {
14442
14453
  url: `/aihub/api/v1/theme/label/config/list`,
14443
14454
  method: "get"
14444
14455
  }));
14456
+ },
14457
+ // 获取今日技术历史
14458
+ getTodayTechHistory() {
14459
+ return reqCatch(() => request({
14460
+ url: `/uc/api/v1/operation/tech-history`,
14461
+ method: "get"
14462
+ }));
14445
14463
  }
14446
14464
  };
14447
14465
  }
@@ -14463,9 +14481,9 @@ var RouteNameEnum = /* @__PURE__ */ ((RouteNameEnum2) => {
14463
14481
  })(RouteNameEnum || {});
14464
14482
  const _hoisted_1$s = ["href", "onMouseenter"];
14465
14483
  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" };
14484
+ const _hoisted_3$h = ["onMouseenter"];
14485
+ const _hoisted_4$f = { class: "ai-hub-menus-themetablist" };
14486
+ const _hoisted_5$b = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14469
14487
  const _hoisted_6$7 = { class: "flex items-center min-w-[90px] gap-[8px] font-semibold" };
14470
14488
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
14471
14489
  __name: "AiHubMenus",
@@ -14581,7 +14599,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14581
14599
  position: ["top-start"]
14582
14600
  }, {
14583
14601
  menu: withCtx(() => [
14584
- createElementVNode("ul", _hoisted_4$d, [
14602
+ createElementVNode("ul", _hoisted_4$f, [
14585
14603
  (openBlock(true), createElementBlock(Fragment, null, renderList(themeTablist.value, (item, index22) => {
14586
14604
  return openBlock(), createBlock(GLink, {
14587
14605
  key: index22,
@@ -14617,7 +14635,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14617
14635
  createElementVNode("span", {
14618
14636
  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 }])
14619
14637
  }, toDisplayString$1(menu.label), 3)
14620
- ], 40, _hoisted_3$g)
14638
+ ], 40, _hoisted_3$h)
14621
14639
  ];
14622
14640
  }),
14623
14641
  _: 2
@@ -14630,7 +14648,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14630
14648
  href: activeMenu.value.url
14631
14649
  }, {
14632
14650
  default: withCtx(() => [
14633
- createElementVNode("div", _hoisted_5$9, [
14651
+ createElementVNode("div", _hoisted_5$b, [
14634
14652
  createVNode(GIcon, {
14635
14653
  size: "18px",
14636
14654
  name: "gt-line-down",
@@ -16471,9 +16489,9 @@ const _hoisted_2$i = {
16471
16489
  key: 1,
16472
16490
  class: "org-layout-toolbar"
16473
16491
  };
16474
- const _hoisted_3$f = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16475
- const _hoisted_4$c = { class: "text-xs" };
16476
- const _hoisted_5$8 = { class: "flex items-center w-full" };
16492
+ const _hoisted_3$g = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16493
+ const _hoisted_4$e = { class: "text-xs" };
16494
+ const _hoisted_5$a = { class: "flex items-center w-full" };
16477
16495
  const _hoisted_6$6 = {
16478
16496
  key: 1,
16479
16497
  class: "flex items-center min-w-[30px]"
@@ -16654,7 +16672,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16654
16672
  height: 28,
16655
16673
  is_round: false
16656
16674
  }, null, 8, ["src", "name"]),
16657
- createElementVNode("div", _hoisted_3$f, toDisplayString$1((_c = unref(orgInfo)) == null ? void 0 : _c.name), 1)
16675
+ createElementVNode("div", _hoisted_3$g, toDisplayString$1((_c = unref(orgInfo)) == null ? void 0 : _c.name), 1)
16658
16676
  ];
16659
16677
  }),
16660
16678
  _: 1
@@ -16669,7 +16687,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16669
16687
  default: withCtx(() => {
16670
16688
  var _a2;
16671
16689
  return [
16672
- createElementVNode("span", _hoisted_4$c, toDisplayString$1(((_a2 = _ctx.orgProps) == null ? void 0 : _a2.isOrgFollow) ? unref(t2)("gitCodeLayout.home.alreadyFollowed") : unref(t2)("gitCodeLayout.home.focusOn")), 1)
16690
+ createElementVNode("span", _hoisted_4$e, toDisplayString$1(((_a2 = _ctx.orgProps) == null ? void 0 : _a2.isOrgFollow) ? unref(t2)("gitCodeLayout.home.alreadyFollowed") : unref(t2)("gitCodeLayout.home.focusOn")), 1)
16673
16691
  ];
16674
16692
  }),
16675
16693
  _: 1
@@ -16691,7 +16709,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16691
16709
  default: withCtx(() => {
16692
16710
  var _a2, _b2, _c, _d, _e, _f, _g;
16693
16711
  return [
16694
- createElementVNode("h2", _hoisted_5$8, [
16712
+ createElementVNode("h2", _hoisted_5$a, [
16695
16713
  createVNode(GLink, {
16696
16714
  href: (_a2 = unref(breadcrumb)[0]) == null ? void 0 : _a2.path,
16697
16715
  class: "pr-[12px]"
@@ -16873,6 +16891,116 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16873
16891
  const HeaderCustom = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-gitcode-layout-lib"]]);
16874
16892
  const logoWhite = "data:image/png;base64,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";
16875
16893
  const logoBlack = "data:image/png;base64,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";
16894
+ const vElementExposure = {
16895
+ mounted(el, binding) {
16896
+ let observer = new IntersectionObserver(function(entries2, observer2) {
16897
+ entries2.forEach(function(entry) {
16898
+ var _a;
16899
+ if (entry.isIntersecting) {
16900
+ (_a = binding.value) == null ? void 0 : _a.trigger("expo");
16901
+ observer2.unobserve(entry.target);
16902
+ }
16903
+ });
16904
+ }, { threshold: 0 });
16905
+ observer.observe(el);
16906
+ },
16907
+ beforeUnmount() {
16908
+ }
16909
+ };
16910
+ var repoTypeEnum = /* @__PURE__ */ ((repoTypeEnum2) => {
16911
+ repoTypeEnum2["NORMAL"] = "0";
16912
+ repoTypeEnum2["MODEL"] = "1";
16913
+ repoTypeEnum2["DATASET"] = "2";
16914
+ repoTypeEnum2["SPACE"] = "3";
16915
+ return repoTypeEnum2;
16916
+ })(repoTypeEnum || {});
16917
+ var AuthTypeEnum = /* @__PURE__ */ ((AuthTypeEnum2) => {
16918
+ AuthTypeEnum2["CSDN"] = "csdn";
16919
+ AuthTypeEnum2["GITEE"] = "gitee";
16920
+ AuthTypeEnum2["GITHUB"] = "github";
16921
+ AuthTypeEnum2["WECHAT_OPEN"] = "wechat_open";
16922
+ AuthTypeEnum2["WECHAT_MP"] = "wechat_mp";
16923
+ AuthTypeEnum2["H_BUILDER"] = "hbuilder";
16924
+ AuthTypeEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
16925
+ AuthTypeEnum2["ATOMGIT"] = "atomgit";
16926
+ AuthTypeEnum2["PHONE_AND_PASSWORD"] = "phoneAndPassword";
16927
+ return AuthTypeEnum2;
16928
+ })(AuthTypeEnum || {});
16929
+ var LoginMethodEnum = /* @__PURE__ */ ((LoginMethodEnum2) => {
16930
+ LoginMethodEnum2["PHONE"] = "phone";
16931
+ LoginMethodEnum2["PASSWORD"] = "password";
16932
+ LoginMethodEnum2["MINI_PROGRAM"] = "miniProgram";
16933
+ LoginMethodEnum2["HARMONY"] = "harmony";
16934
+ LoginMethodEnum2["CSDN"] = "csdn";
16935
+ LoginMethodEnum2["ATOMGIT"] = "atomgit";
16936
+ LoginMethodEnum2["GITEE"] = "gitee";
16937
+ LoginMethodEnum2["GITHUB"] = "github";
16938
+ LoginMethodEnum2["WECHAT_OPEN"] = "wechat_open";
16939
+ LoginMethodEnum2["WECHAT_MP"] = "wechat_mp";
16940
+ LoginMethodEnum2["H_BUILDER"] = "hbuilder";
16941
+ LoginMethodEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
16942
+ return LoginMethodEnum2;
16943
+ })(LoginMethodEnum || {});
16944
+ var AuthResType = /* @__PURE__ */ ((AuthResType2) => {
16945
+ AuthResType2["SUCCESS"] = "success";
16946
+ AuthResType2["FAIL"] = "fail";
16947
+ AuthResType2["CANCEL"] = "cancel";
16948
+ return AuthResType2;
16949
+ })(AuthResType || {});
16950
+ var REPO_EVENT = /* @__PURE__ */ ((REPO_EVENT2) => {
16951
+ REPO_EVENT2["CLICK"] = "PC_PageClick";
16952
+ REPO_EVENT2["SHOW"] = "PC_PageShow";
16953
+ REPO_EVENT2["STAY"] = "page_stay";
16954
+ return REPO_EVENT2;
16955
+ })(REPO_EVENT || {});
16956
+ var REPO_MODULE = /* @__PURE__ */ ((REPO_MODULE2) => {
16957
+ REPO_MODULE2["SEARCH_SUGGESTION_CARD"] = "搜索联想卡片";
16958
+ REPO_MODULE2["SEARCH_RECOMMEND_CARD"] = "搜索推荐卡片";
16959
+ REPO_MODULE2["SEARCH_BAR_CLICK"] = "搜索框点击";
16960
+ REPO_MODULE2["SEARCH_BAR_EXPO"] = "搜索框曝光";
16961
+ REPO_MODULE2["REPO"] = "搜索结果_项目";
16962
+ REPO_MODULE2["MODEL"] = "搜索结果_模型";
16963
+ REPO_MODULE2["DATASET"] = "搜索结果_数据集";
16964
+ REPO_MODULE2["TOPIC"] = "topic";
16965
+ REPO_MODULE2["TAG"] = "搜索结果_标签";
16966
+ REPO_MODULE2["ISSUE"] = "搜索结果_issue";
16967
+ REPO_MODULE2["PULLREQUEST"] = "搜索结果_pr";
16968
+ REPO_MODULE2["GROUP"] = "搜索结果_组织";
16969
+ REPO_MODULE2["USER"] = "搜索结果_用户";
16970
+ REPO_MODULE2["COMMIT"] = "搜索结果_commit";
16971
+ REPO_MODULE2["SEARCH_SUFFIX_CLICK"] = "搜索按钮点击";
16972
+ return REPO_MODULE2;
16973
+ })(REPO_MODULE || {});
16974
+ var ASIDE_MENU_REPO = /* @__PURE__ */ ((ASIDE_MENU_REPO2) => {
16975
+ ASIDE_MENU_REPO2["HOME"] = "侧边栏_首页";
16976
+ ASIDE_MENU_REPO2["ISSUES"] = "侧边栏_ISSUE";
16977
+ ASIDE_MENU_REPO2["MERGE"] = "侧边栏_PR";
16978
+ ASIDE_MENU_REPO2["KANBAN"] = "侧边栏_KANBAN";
16979
+ ASIDE_MENU_REPO2["DISCUSSIONCREATED"] = "侧边栏_讨论";
16980
+ ASIDE_MENU_REPO2["NEWS"] = "侧边栏_资讯中心";
16981
+ ASIDE_MENU_REPO2["CHATBOT"] = "侧边栏_天启";
16982
+ ASIDE_MENU_REPO2["COMPETITION"] = "侧边栏_大赛平台";
16983
+ ASIDE_MENU_REPO2["ASIDEEXPO"] = "侧边栏_曝光";
16984
+ ASIDE_MENU_REPO2["CHATBOTEXPO"] = "头部天启入口_曝光";
16985
+ ASIDE_MENU_REPO2["CHATBOTCLICK"] = "头部天启入口_点击";
16986
+ ASIDE_MENU_REPO2["TOOLBAR"] = "toolbar_点击";
16987
+ ASIDE_MENU_REPO2["TOOLBAREXPO"] = "toolbar_曝光";
16988
+ ASIDE_MENU_REPO2["ASIDEBTNCLICK"] = "侧边栏按钮_点击";
16989
+ ASIDE_MENU_REPO2["STICKYNOTICECLICK"] = "吸顶公告_点击";
16990
+ ASIDE_MENU_REPO2["STICKYNOTICEEXPO"] = "吸顶公告_曝光";
16991
+ return ASIDE_MENU_REPO2;
16992
+ })(ASIDE_MENU_REPO || {});
16993
+ var TOPIC_TYPE = /* @__PURE__ */ ((TOPIC_TYPE2) => {
16994
+ TOPIC_TYPE2[TOPIC_TYPE2["OPERATION"] = 0] = "OPERATION";
16995
+ TOPIC_TYPE2[TOPIC_TYPE2["USER"] = 1] = "USER";
16996
+ return TOPIC_TYPE2;
16997
+ })(TOPIC_TYPE || {});
16998
+ var REPO_TYPE = /* @__PURE__ */ ((REPO_TYPE2) => {
16999
+ REPO_TYPE2[REPO_TYPE2["GITCODE"] = 0] = "GITCODE";
17000
+ REPO_TYPE2[REPO_TYPE2["GITHUB_MIRRORS"] = 1] = "GITHUB_MIRRORS";
17001
+ REPO_TYPE2[REPO_TYPE2["HUGGINGFACE_MIRRORS"] = 2] = "HUGGINGFACE_MIRRORS";
17002
+ return REPO_TYPE2;
17003
+ })(REPO_TYPE || {});
16876
17004
  const _hoisted_1$p = ["src"];
16877
17005
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
16878
17006
  ...{
@@ -16887,8 +17015,12 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
16887
17015
  url: ""
16888
17016
  });
16889
17017
  const request = inject("request");
17018
+ const useReport2 = inject("useReport");
16890
17019
  const API = asideRequest(request);
16891
17020
  const loaded = ref(false);
17021
+ const handleChatBotExpo = (type) => {
17022
+ useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.CHATBOTEXPO });
17023
+ };
16892
17024
  const getTianqiRouteConfig = async () => {
16893
17025
  var _a;
16894
17026
  try {
@@ -16922,10 +17054,11 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
16922
17054
  });
16923
17055
  function goPage() {
16924
17056
  const url = tianqiButtonConfig.value.url || layoutConfig2.VITE_HOST_TIANQI + "?utm_source=toolbar";
17057
+ useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.CHATBOTCLICK });
16925
17058
  window.open(url);
16926
17059
  }
16927
17060
  return (_ctx, _cache) => {
16928
- return openBlock(), createElementBlock("div", {
17061
+ return withDirectives((openBlock(), createElementBlock("div", {
16929
17062
  class: normalizeClass(["agent-tips", customClass.value]),
16930
17063
  onClick: withModifiers(goPage, ["stop"])
16931
17064
  }, [
@@ -16935,7 +17068,9 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
16935
17068
  alt: "logo",
16936
17069
  class: "w-[108px] cursor-pointer"
16937
17070
  }, null, 8, _hoisted_1$p)) : createCommentVNode("", true)
16938
- ], 2);
17071
+ ], 2)), [
17072
+ [unref(vElementExposure), { trigger: (type) => handleChatBotExpo() }]
17073
+ ]);
16939
17074
  };
16940
17075
  }
16941
17076
  });
@@ -17290,9 +17425,9 @@ const _hoisted_1$n = {
17290
17425
  class: "user-level-avatar-badge"
17291
17426
  };
17292
17427
  const _hoisted_2$h = { class: "flex items-center font-medium gap-[4px]" };
17293
- const _hoisted_3$e = ["src"];
17294
- const _hoisted_4$b = { class: "level-name" };
17295
- const _hoisted_5$7 = { class: "level-icon" };
17428
+ const _hoisted_3$f = ["src"];
17429
+ const _hoisted_4$d = { class: "level-name" };
17430
+ const _hoisted_5$9 = { class: "level-icon" };
17296
17431
  const _hoisted_6$5 = ["src"];
17297
17432
  const _hoisted_7$4 = { class: "custom-btn" };
17298
17433
  const _hoisted_8$4 = { class: "flex items-center justify-center" };
@@ -17349,10 +17484,10 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17349
17484
  class: "level-avatar",
17350
17485
  src: levelInfo.value.avatar,
17351
17486
  alt: ""
17352
- }, null, 8, _hoisted_3$e),
17353
- createElementVNode("div", _hoisted_4$b, [
17487
+ }, null, 8, _hoisted_3$f),
17488
+ createElementVNode("div", _hoisted_4$d, [
17354
17489
  createElementVNode("div", null, toDisplayString$1(levelInfo.value.name), 1),
17355
- createElementVNode("div", _hoisted_5$7, [
17490
+ createElementVNode("div", _hoisted_5$9, [
17356
17491
  createElementVNode("img", {
17357
17492
  src: levelInfo.value.level,
17358
17493
  alt: ""
@@ -17370,8 +17505,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17370
17505
  const UserLevel = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-gitcode-layout-lib"]]);
17371
17506
  const _hoisted_1$m = { class: "g-user-drawer-info-list pl-[16px]" };
17372
17507
  const _hoisted_2$g = { class: "max-w-[200px]" };
17373
- const _hoisted_3$d = ["title"];
17374
- const _hoisted_4$a = ["title"];
17508
+ const _hoisted_3$e = ["title"];
17509
+ const _hoisted_4$c = ["title"];
17375
17510
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
17376
17511
  __name: "UserAvatarMenu",
17377
17512
  props: ["isChatBot", "accountInfo", "loginOutFinish", "inAIHub", "independence", "userMenus"],
@@ -17542,11 +17677,11 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17542
17677
  createElementVNode("p", {
17543
17678
  class: "g-user-drawer-info-list-name ellipsis",
17544
17679
  title: __props.accountInfo.nickname
17545
- }, toDisplayString$1(__props.accountInfo.nickname), 9, _hoisted_3$d),
17680
+ }, toDisplayString$1(__props.accountInfo.nickname), 9, _hoisted_3$e),
17546
17681
  createElementVNode("p", {
17547
17682
  class: "g-user-drawer-info-list-id ellipsis",
17548
17683
  title: __props.accountInfo.username
17549
- }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$a)
17684
+ }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$c)
17550
17685
  ]),
17551
17686
  createVNode(GIcon, {
17552
17687
  name: "gt-line-right",
@@ -17592,12 +17727,12 @@ const _hoisted_2$f = {
17592
17727
  key: 0,
17593
17728
  class: "g-user-avatar__badge"
17594
17729
  };
17595
- const _hoisted_3$c = { class: "g-user-avatar flex-center ml-1" };
17596
- const _hoisted_4$9 = {
17730
+ const _hoisted_3$d = { class: "g-user-avatar flex-center ml-1" };
17731
+ const _hoisted_4$b = {
17597
17732
  key: 0,
17598
17733
  class: "g-user-avatar__badge"
17599
17734
  };
17600
- const _hoisted_5$6 = { class: "g-user-drawer" };
17735
+ const _hoisted_5$8 = { class: "g-user-drawer" };
17601
17736
  const _hoisted_6$4 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17602
17737
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
17603
17738
  ...{
@@ -17704,7 +17839,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17704
17839
  onToggle: handleToggle
17705
17840
  }, {
17706
17841
  menu: withCtx(() => [
17707
- createElementVNode("div", _hoisted_5$6, [
17842
+ createElementVNode("div", _hoisted_5$8, [
17708
17843
  createVNode(UserAvatarMenu, {
17709
17844
  independence: __props.independence,
17710
17845
  loginOutFinish: __props.loginOutFinish,
@@ -17716,12 +17851,12 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17716
17851
  ])
17717
17852
  ]),
17718
17853
  default: withCtx(() => [
17719
- createElementVNode("div", _hoisted_3$c, [
17854
+ createElementVNode("div", _hoisted_3$d, [
17720
17855
  createVNode(_sfc_main$y, {
17721
17856
  name: accountInfo.value.nickname,
17722
17857
  src: accountInfo.value.avatar
17723
17858
  }, null, 8, ["name", "src"]),
17724
- accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$9, _cache[4] || (_cache[4] = [
17859
+ accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$b, _cache[4] || (_cache[4] = [
17725
17860
  createElementVNode("div", null, null, -1)
17726
17861
  ]))) : createCommentVNode("", true)
17727
17862
  ])
@@ -17849,70 +17984,11 @@ const setlocalVistHistory = (data, localType) => {
17849
17984
  localStorage$2.setItem(storeName, JSON.stringify(cur));
17850
17985
  return cur;
17851
17986
  };
17852
- var repoTypeEnum = /* @__PURE__ */ ((repoTypeEnum2) => {
17853
- repoTypeEnum2["NORMAL"] = "0";
17854
- repoTypeEnum2["MODEL"] = "1";
17855
- repoTypeEnum2["DATASET"] = "2";
17856
- repoTypeEnum2["SPACE"] = "3";
17857
- return repoTypeEnum2;
17858
- })(repoTypeEnum || {});
17859
- var AuthTypeEnum = /* @__PURE__ */ ((AuthTypeEnum2) => {
17860
- AuthTypeEnum2["CSDN"] = "csdn";
17861
- AuthTypeEnum2["GITEE"] = "gitee";
17862
- AuthTypeEnum2["GITHUB"] = "github";
17863
- AuthTypeEnum2["WECHAT_OPEN"] = "wechat_open";
17864
- AuthTypeEnum2["WECHAT_MP"] = "wechat_mp";
17865
- AuthTypeEnum2["H_BUILDER"] = "hbuilder";
17866
- AuthTypeEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
17867
- AuthTypeEnum2["ATOMGIT"] = "atomgit";
17868
- AuthTypeEnum2["PHONE_AND_PASSWORD"] = "phoneAndPassword";
17869
- return AuthTypeEnum2;
17870
- })(AuthTypeEnum || {});
17871
- var AuthResType = /* @__PURE__ */ ((AuthResType2) => {
17872
- AuthResType2["SUCCESS"] = "success";
17873
- AuthResType2["FAIL"] = "fail";
17874
- AuthResType2["CANCEL"] = "cancel";
17875
- return AuthResType2;
17876
- })(AuthResType || {});
17877
- var REPO_EVENT = /* @__PURE__ */ ((REPO_EVENT2) => {
17878
- REPO_EVENT2["CLICK"] = "PC_PageClick";
17879
- REPO_EVENT2["SHOW"] = "PC_PageShow";
17880
- REPO_EVENT2["STAY"] = "page_stay";
17881
- return REPO_EVENT2;
17882
- })(REPO_EVENT || {});
17883
- var REPO_MODULE = /* @__PURE__ */ ((REPO_MODULE2) => {
17884
- REPO_MODULE2["SEARCH_SUGGESTION_CARD"] = "搜索联想卡片";
17885
- REPO_MODULE2["SEARCH_RECOMMEND_CARD"] = "搜索推荐卡片";
17886
- REPO_MODULE2["SEARCH_BAR_CLICK"] = "搜索框点击";
17887
- REPO_MODULE2["SEARCH_BAR_EXPO"] = "搜索框曝光";
17888
- REPO_MODULE2["REPO"] = "搜索结果_项目";
17889
- REPO_MODULE2["MODEL"] = "搜索结果_模型";
17890
- REPO_MODULE2["DATASET"] = "搜索结果_数据集";
17891
- REPO_MODULE2["TOPIC"] = "topic";
17892
- REPO_MODULE2["TAG"] = "搜索结果_标签";
17893
- REPO_MODULE2["ISSUE"] = "搜索结果_issue";
17894
- REPO_MODULE2["PULLREQUEST"] = "搜索结果_pr";
17895
- REPO_MODULE2["GROUP"] = "搜索结果_组织";
17896
- REPO_MODULE2["USER"] = "搜索结果_用户";
17897
- REPO_MODULE2["COMMIT"] = "搜索结果_commit";
17898
- return REPO_MODULE2;
17899
- })(REPO_MODULE || {});
17900
- var TOPIC_TYPE = /* @__PURE__ */ ((TOPIC_TYPE2) => {
17901
- TOPIC_TYPE2[TOPIC_TYPE2["OPERATION"] = 0] = "OPERATION";
17902
- TOPIC_TYPE2[TOPIC_TYPE2["USER"] = 1] = "USER";
17903
- return TOPIC_TYPE2;
17904
- })(TOPIC_TYPE || {});
17905
- var REPO_TYPE = /* @__PURE__ */ ((REPO_TYPE2) => {
17906
- REPO_TYPE2[REPO_TYPE2["GITCODE"] = 0] = "GITCODE";
17907
- REPO_TYPE2[REPO_TYPE2["GITHUB_MIRRORS"] = 1] = "GITHUB_MIRRORS";
17908
- REPO_TYPE2[REPO_TYPE2["HUGGINGFACE_MIRRORS"] = 2] = "HUGGINGFACE_MIRRORS";
17909
- return REPO_TYPE2;
17910
- })(REPO_TYPE || {});
17911
17987
  const _hoisted_1$k = { class: "g-header-search-prefix" };
17912
17988
  const _hoisted_2$e = { class: "g-header-search-suffix-splitline" };
17913
- const _hoisted_3$b = { class: "g-header-search-suffix-suffixIcon" };
17914
- const _hoisted_4$8 = { class: "history-list" };
17915
- const _hoisted_5$5 = {
17989
+ const _hoisted_3$c = { class: "g-header-search-suffix-suffixIcon" };
17990
+ const _hoisted_4$a = { class: "history-list" };
17991
+ const _hoisted_5$7 = {
17916
17992
  key: 1,
17917
17993
  class: "aireposearch flex-1"
17918
17994
  };
@@ -17927,13 +18003,13 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
17927
18003
  var _a;
17928
18004
  const layoutConfig2 = useLayoutConfig();
17929
18005
  const { t: $t } = i18n.global;
17930
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-BGA2HpRX.js"));
17931
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-D85D_u4a.js"));
17932
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-B1k-OmsR.js"));
17933
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DxfKIzxA.js"));
17934
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-d22K-SQJ.js"));
17935
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-DqUMt--r.js"));
17936
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BZxlt8p5.js"));
18006
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-B1zrQyDQ.js"));
18007
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-BQX10OlD.js"));
18008
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-C7LAcV05.js"));
18009
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-BuhqGED9.js"));
18010
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-Cgw8fkxu.js"));
18011
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-BCkplaHZ.js"));
18012
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-Bh1LqtOt.js"));
17937
18013
  const props = __props;
17938
18014
  const repoInfo = inject("repoInfo");
17939
18015
  const orgInfo = inject("orgInfo");
@@ -18125,6 +18201,10 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18125
18201
  }
18126
18202
  }
18127
18203
  };
18204
+ const handleSuffixClick = (type) => {
18205
+ useReport2(REPO_EVENT.CLICK, { module_name: REPO_MODULE.SEARCH_SUFFIX_CLICK });
18206
+ onSearch();
18207
+ };
18128
18208
  const handleSearchMore = (type) => {
18129
18209
  console.log(type);
18130
18210
  searchParams.type = type;
@@ -18361,7 +18441,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18361
18441
  return openBlock(), createElementBlock(Fragment, null, [
18362
18442
  !_ctx.inAIHub ? (openBlock(), createElementBlock("div", {
18363
18443
  key: 0,
18364
- class: normalizeClass([isFocus.value ? "focusSearch" : { "left-search": true }, Boolean(_ctx.isShowStickyNotice) ? "focusSearch-sticky-notice" : ""])
18444
+ class: normalizeClass([isFocus.value ? "focusSearch" : { "left-search": true }, Boolean(_ctx.isShowStickyNotice) ? "focusSearch-sticky-notice" : ""]),
18445
+ onClick: _cache[6] || (_cache[6] = withModifiers(() => {
18446
+ }, ["stop"]))
18365
18447
  }, [
18366
18448
  withDirectives(createElementVNode("div", {
18367
18449
  class: normalizeClass(["mark-search", searchDropDownVisible.value ? "mask-opacity-transition" : ""]),
@@ -18380,7 +18462,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18380
18462
  }, {
18381
18463
  menu: withCtx(() => [
18382
18464
  createElementVNode("div", null, [
18383
- withDirectives(createElementVNode("div", _hoisted_4$8, [
18465
+ withDirectives(createElementVNode("div", _hoisted_4$a, [
18384
18466
  createVNode(unref(SearchScopeList), {
18385
18467
  searchScopeList: searchScopeList.value,
18386
18468
  searchStr: searchStr.value,
@@ -18450,14 +18532,14 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18450
18532
  createVNode(GIcon, {
18451
18533
  name: "gt-search",
18452
18534
  class: "g-header-search-icon",
18453
- onClick: onInputClick
18535
+ onClick: withModifiers(onInputClick, ["stop"])
18454
18536
  })
18455
18537
  ]),
18456
18538
  showRecommendSearch.value ? (openBlock(), createElementBlock("div", {
18457
18539
  key: 0,
18458
18540
  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 }])
18459
18541
  }, [
18460
- _cache[7] || (_cache[7] = createElementVNode("div", { class: "absolute top-0 left-0 h-full flex items-center" }, "🔥", -1)),
18542
+ _cache[8] || (_cache[8] = createElementVNode("div", { class: "absolute top-0 left-0 h-full flex items-center" }, "🔥", -1)),
18461
18543
  (openBlock(true), createElementBlock(Fragment, null, renderList(searchHotWords.value, (item, index2) => {
18462
18544
  return openBlock(), createElementBlock("div", {
18463
18545
  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 }]),
@@ -18486,7 +18568,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18486
18568
  isFocus.value ? (openBlock(), createElementBlock("div", {
18487
18569
  key: 0,
18488
18570
  class: "g-header-search-suffix",
18489
- onClick: onSearch
18571
+ onClick: withModifiers(handleSuffixClick, ["stop"])
18490
18572
  }, [
18491
18573
  withDirectives(createVNode(GIcon, {
18492
18574
  name: "gt-line-close",
@@ -18498,7 +18580,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18498
18580
  withDirectives(createElementVNode("span", _hoisted_2$e, "|", 512), [
18499
18581
  [vShow, searchStr.value]
18500
18582
  ]),
18501
- createElementVNode("div", _hoisted_3$b, [
18583
+ createElementVNode("div", _hoisted_3$c, [
18502
18584
  createVNode(GIcon, {
18503
18585
  name: "search",
18504
18586
  class: "g-header-search-icon",
@@ -18516,12 +18598,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18516
18598
  _: 1
18517
18599
  }, 8, ["overlay-class", "visible"])
18518
18600
  ], 2)) : createCommentVNode("", true),
18519
- _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18601
+ _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$7, [
18520
18602
  createVNode(unref(Input), {
18521
18603
  placeholder: unref($t)("gitCodeLayout.home.searchPlaceholder"),
18522
18604
  onKeydown: withKeys(searchResult, ["enter"]),
18523
18605
  modelValue: searchStr.value,
18524
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => searchStr.value = $event)
18606
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => searchStr.value = $event)
18525
18607
  }, {
18526
18608
  prefix: withCtx(() => [
18527
18609
  createVNode(GIcon, {
@@ -18537,7 +18619,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18537
18619
  }
18538
18620
  });
18539
18621
  const Search = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-gitcode-layout-lib"]]);
18540
- const NoticeModal = defineAsyncComponent(() => import("./notice-Bik_QH8o.js"));
18622
+ const NoticeModal = defineAsyncComponent(() => import("./notice-CR0msS92.js"));
18541
18623
  function clearNotice() {
18542
18624
  if (localStorage$2.getItem("validator_email")) {
18543
18625
  localStorage$2.removeItem("validator_email");
@@ -18569,8 +18651,8 @@ const _hoisted_1$j = {
18569
18651
  class: "g-header-body"
18570
18652
  };
18571
18653
  const _hoisted_2$d = { class: "g-header-body-left h-full" };
18572
- const _hoisted_3$a = { class: "g-header-body-right h-full" };
18573
- const _hoisted_4$7 = { key: 2 };
18654
+ const _hoisted_3$b = { class: "g-header-body-right h-full" };
18655
+ const _hoisted_4$9 = { key: 2 };
18574
18656
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
18575
18657
  ...{
18576
18658
  name: "header"
@@ -18698,6 +18780,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18698
18780
  }
18699
18781
  return false;
18700
18782
  });
18783
+ const handleHamburgerClick = () => {
18784
+ emitEvent("toggleAsideMenuByHamburger");
18785
+ useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.ASIDEBTNCLICK });
18786
+ };
18701
18787
  const handleLogin = (type) => {
18702
18788
  emitEvent("login", { type, triggerType: "主动注册", loginTriggerSource: type === "login" ? "toolbar_login" : "" });
18703
18789
  if (type === "register") {
@@ -18753,10 +18839,14 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18753
18839
  } : {};
18754
18840
  });
18755
18841
  const handleStickyNoticeClick = () => {
18842
+ useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.STICKYNOTICECLICK });
18756
18843
  if (props.bgConfig.detail_top_url) {
18757
18844
  window.open(props.bgConfig.detail_top_url, "_blank");
18758
18845
  }
18759
18846
  };
18847
+ const handleStickyNoticeExpo = (type) => {
18848
+ useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.STICKYNOTICEEXPO });
18849
+ };
18760
18850
  const handleHeaderClick = (e) => {
18761
18851
  console.log("handleHeaderClick", e);
18762
18852
  if (!e.target.classList.contains("allow-click-stop")) {
@@ -18766,8 +18856,11 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18766
18856
  window.open(props.bgConfig.index_head_url, "_blank");
18767
18857
  }
18768
18858
  };
18859
+ const handleToolbarExpo = (type) => {
18860
+ useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.TOOLBAREXPO });
18861
+ };
18769
18862
  const handleToolbarClick = (e) => {
18770
- console.log("handleToolbarClick", e);
18863
+ useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.TOOLBAR });
18771
18864
  if (!e.target.classList.contains("allow-click-stop")) {
18772
18865
  return;
18773
18866
  }
@@ -18841,7 +18934,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18841
18934
  ref_key: "headerRef",
18842
18935
  ref: headerRef
18843
18936
  }, [
18844
- isShowStickyNoticeByClose.value ? (openBlock(), createElementBlock("div", {
18937
+ isShowStickyNoticeByClose.value ? withDirectives((openBlock(), createElementBlock("div", {
18845
18938
  key: 0,
18846
18939
  class: "sticky-notice w-full cursor-pointer",
18847
18940
  style: normalizeStyle(stickyNoticeStyle.value),
@@ -18852,8 +18945,10 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18852
18945
  name: "gt-close",
18853
18946
  onClick: withModifiers(handleCloseStickyNotice, ["stop"])
18854
18947
  })
18855
- ], 4)) : createCommentVNode("", true),
18856
- createElementVNode("div", {
18948
+ ], 4)), [
18949
+ [unref(vElementExposure), { trigger: (type) => handleStickyNoticeExpo() }]
18950
+ ]) : createCommentVNode("", true),
18951
+ withDirectives((openBlock(), createElementBlock("div", {
18857
18952
  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" : ""]]),
18858
18953
  style: normalizeStyle(detailBgStyle.value),
18859
18954
  onClick: withModifiers(handleToolbarClick, ["stop"])
@@ -18862,13 +18957,13 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18862
18957
  class: normalizeClass(["g-toolbar-left items-center allow-click-stop", { "flex-[1] min-w-0": !inAIHub.value }])
18863
18958
  }, [
18864
18959
  createElementVNode("div", {
18865
- onClick: _cache[1] || (_cache[1] = withModifiers(() => {
18960
+ onClick: _cache[0] || (_cache[0] = withModifiers(() => {
18866
18961
  }, ["stop"])),
18867
18962
  class: "flex flex-center gap-[12px] g-header-ailog"
18868
18963
  }, [
18869
18964
  isModuleVisible(unref(HeaderDisplayItem).ASIDE_BUTTON) ? (openBlock(), createBlock(GIcon, {
18870
18965
  key: 0,
18871
- onClick: _cache[0] || (_cache[0] = ($event) => unref(emitEvent)("toggleAsideMenuByHamburger")),
18966
+ onClick: handleHamburgerClick,
18872
18967
  name: _ctx.sceneValue === unref(SceneValue).aiHome ? "gt-a-hamburgermenu" : "gt-hamburger",
18873
18968
  size: "24px",
18874
18969
  class: "cursor-pointer hover:!text-[var(--theme-stress-text)] g-toolbar-left-asideicon",
@@ -18897,8 +18992,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18897
18992
  orgProps: (_b = _ctx.headerCustomProps) == null ? void 0 : _b.orgProps,
18898
18993
  repoProps: (_c = _ctx.headerCustomProps) == null ? void 0 : _c.repoProps,
18899
18994
  userProps: (_d = _ctx.headerCustomProps) == null ? void 0 : _d.userProps,
18900
- onFollowDevCommunity: _cache[2] || (_cache[2] = ($event) => emit("followDevCommunity", $event)),
18901
- onFollowUser: _cache[3] || (_cache[3] = ($event) => emit("followUser"))
18995
+ onFollowDevCommunity: _cache[1] || (_cache[1] = ($event) => emit("followDevCommunity", $event)),
18996
+ onFollowUser: _cache[2] || (_cache[2] = ($event) => emit("followUser"))
18902
18997
  }, null, 8, ["scene", "isLogin", "errorCode", "orgProps", "repoProps", "userProps"])) : createCommentVNode("", true)
18903
18998
  ], 2)) : createCommentVNode("", true)
18904
18999
  ], 2),
@@ -18923,7 +19018,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18923
19018
  unref(isMobile) ? (openBlock(), createElementBlock("section", {
18924
19019
  key: 0,
18925
19020
  class: "app-login-warp border-none login-icon",
18926
- onClick: _cache[4] || (_cache[4] = ($event) => handleLogin("login"))
19021
+ onClick: _cache[3] || (_cache[3] = ($event) => handleLogin("login"))
18927
19022
  }, [
18928
19023
  createVNode(GIcon, {
18929
19024
  name: "gt-line-NotLoggedIn",
@@ -18935,7 +19030,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18935
19030
  createVNode(unref(Button), {
18936
19031
  variant: "solid",
18937
19032
  color: "primary",
18938
- onClick: _cache[5] || (_cache[5] = withModifiers(($event) => handleLogin("login"), ["stop"]))
19033
+ onClick: _cache[4] || (_cache[4] = withModifiers(($event) => handleLogin("login"), ["stop"]))
18939
19034
  }, {
18940
19035
  default: withCtx(() => [
18941
19036
  createTextVNode(toDisplayString$1(unref(t2)("gitCodeLayout.header.login")), 1)
@@ -18943,7 +19038,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18943
19038
  _: 1
18944
19039
  }),
18945
19040
  createVNode(unref(Button), {
18946
- onClick: _cache[6] || (_cache[6] = withModifiers(($event) => handleLogin("register"), ["stop"])),
19041
+ onClick: _cache[5] || (_cache[5] = withModifiers(($event) => handleLogin("register"), ["stop"])),
18947
19042
  class: "min-w-[64px]"
18948
19043
  }, {
18949
19044
  default: withCtx(() => [
@@ -18967,18 +19062,20 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
18967
19062
  }, null, 8, ["isChatBot", "loginOutFinish", "inAIHub", "independence", "userMenus"])) : createCommentVNode("", true)
18968
19063
  ], 64))
18969
19064
  ], 2)
18970
- ], 6),
19065
+ ], 6)), [
19066
+ [unref(vElementExposure), { trigger: (type) => handleToolbarExpo() }]
19067
+ ]),
18971
19068
  _ctx.$slots.info || _ctx.$slots.menu || _ctx.$slots.bodyHeader ? (openBlock(), createElementBlock("div", _hoisted_1$j, [
18972
19069
  renderSlot(_ctx.$slots, "bodyHeader", {}, () => [
18973
19070
  createElementVNode("div", _hoisted_2$d, [
18974
19071
  renderSlot(_ctx.$slots, "info", {}, void 0, true)
18975
19072
  ]),
18976
- createElementVNode("div", _hoisted_3$a, [
19073
+ createElementVNode("div", _hoisted_3$b, [
18977
19074
  renderSlot(_ctx.$slots, "menu", {}, void 0, true)
18978
19075
  ])
18979
19076
  ], true)
18980
19077
  ])) : createCommentVNode("", true),
18981
- _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
19078
+ _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$9, [
18982
19079
  renderSlot(_ctx.$slots, "headerBottom", {}, void 0, true)
18983
19080
  ])) : createCommentVNode("", true)
18984
19081
  ], 2)
@@ -19008,7 +19105,7 @@ const createSetting = () => {
19008
19105
  };
19009
19106
  const _hoisted_1$i = { class: "tools-item-wrapper" };
19010
19107
  const _hoisted_2$c = { class: "tools-item-wrapper-checkbox" };
19011
- const _hoisted_3$9 = ["onClick", "title"];
19108
+ const _hoisted_3$a = ["onClick", "title"];
19012
19109
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
19013
19110
  __name: "Lang",
19014
19111
  setup(__props) {
@@ -19043,7 +19140,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
19043
19140
  color: "var(--theme-icon-fill-weak)",
19044
19141
  class: "checkbox-item-icon"
19045
19142
  }, null, 8, ["name"])
19046
- ], 16, _hoisted_3$9);
19143
+ ], 16, _hoisted_3$a);
19047
19144
  }), 128))
19048
19145
  ])
19049
19146
  ]);
@@ -19052,7 +19149,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
19052
19149
  });
19053
19150
  const _hoisted_1$h = { class: "tools-item-wrapper" };
19054
19151
  const _hoisted_2$b = { class: "tools-item-wrapper-checkbox" };
19055
- const _hoisted_3$8 = ["onClick", "title"];
19152
+ const _hoisted_3$9 = ["onClick", "title"];
19056
19153
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
19057
19154
  __name: "Theme",
19058
19155
  setup(__props) {
@@ -19096,7 +19193,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
19096
19193
  color: "var(--theme-icon-fill-weak)",
19097
19194
  class: "checkbox-item-icon"
19098
19195
  }, null, 8, ["name"])
19099
- ], 16, _hoisted_3$8);
19196
+ ], 16, _hoisted_3$9);
19100
19197
  }), 128))
19101
19198
  ])
19102
19199
  ]);
@@ -19206,12 +19303,12 @@ const _hoisted_2$a = {
19206
19303
  class: "devui-submenu-title layer_2",
19207
19304
  style: { "padding": "0px 24px" }
19208
19305
  };
19209
- const _hoisted_3$7 = { class: "devui-submenu-title-content cursor-auto" };
19210
- const _hoisted_4$6 = {
19306
+ const _hoisted_3$8 = { class: "devui-submenu-title-content cursor-auto" };
19307
+ const _hoisted_4$8 = {
19211
19308
  class: "devui-submenu-title layer_2",
19212
19309
  style: { "padding": "0px 24px" }
19213
19310
  };
19214
- const _hoisted_5$4 = { class: "devui-submenu-title-content cursor-auto" };
19311
+ const _hoisted_5$6 = { class: "devui-submenu-title-content cursor-auto" };
19215
19312
  const _hoisted_6$3 = { key: 0 };
19216
19313
  const _hoisted_7$3 = { class: "project-label" };
19217
19314
  const _hoisted_8$3 = { class: "project-label flex-1 min-w-0 ellipsis" };
@@ -19410,7 +19507,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19410
19507
  _ctx.type === "project" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
19411
19508
  createElementVNode("div", _hoisted_2$a, [
19412
19509
  _cache[13] || (_cache[13] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19413
- createElementVNode("span", _hoisted_3$7, [
19510
+ createElementVNode("span", _hoisted_3$8, [
19414
19511
  createElementVNode("div", {
19415
19512
  class: "fast-click-button",
19416
19513
  onClick: _cache[0] || (_cache[0] = ($event) => fastToLink("project"))
@@ -19469,9 +19566,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19469
19566
  ], 2)
19470
19567
  ], 64)) : createCommentVNode("", true),
19471
19568
  _ctx.type === "team" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
19472
- createElementVNode("div", _hoisted_4$6, [
19569
+ createElementVNode("div", _hoisted_4$8, [
19473
19570
  _cache[14] || (_cache[14] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19474
- createElementVNode("span", _hoisted_5$4, [
19571
+ createElementVNode("span", _hoisted_5$6, [
19475
19572
  createElementVNode("div", {
19476
19573
  class: "fast-click-button",
19477
19574
  onClick: _cache[7] || (_cache[7] = ($event) => fastToLink("team"))
@@ -19578,9 +19675,9 @@ const _hoisted_2$9 = {
19578
19675
  class: "devui-submenu-title layer_2",
19579
19676
  style: { "padding": "0px 24px" }
19580
19677
  };
19581
- const _hoisted_3$6 = { class: "devui-submenu-title-content cursor-auto" };
19582
- const _hoisted_4$5 = { class: "project-label" };
19583
- const _hoisted_5$3 = { class: "project-label flex-1 min-w-0 ellipsis" };
19678
+ const _hoisted_3$7 = { class: "devui-submenu-title-content cursor-auto" };
19679
+ const _hoisted_4$7 = { class: "project-label" };
19680
+ const _hoisted_5$5 = { class: "project-label flex-1 min-w-0 ellipsis" };
19584
19681
  const INIT_SHOW_COUNT = 4;
19585
19682
  const LOAD_MORE_COUNT = 10;
19586
19683
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
@@ -19675,7 +19772,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19675
19772
  return openBlock(), createElementBlock("ul", _hoisted_1$f, [
19676
19773
  createElementVNode("div", _hoisted_2$9, [
19677
19774
  _cache[6] || (_cache[6] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19678
- createElementVNode("span", _hoisted_3$6, [
19775
+ createElementVNode("span", _hoisted_3$7, [
19679
19776
  createElementVNode("div", {
19680
19777
  class: "fast-click-button",
19681
19778
  onClick: _cache[0] || (_cache[0] = ($event) => fastToLink())
@@ -19730,8 +19827,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19730
19827
  ]),
19731
19828
  default: withCtx(() => [
19732
19829
  createElementVNode("span", null, [
19733
- createElementVNode("span", _hoisted_4$5, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19734
- createElementVNode("span", _hoisted_5$3, "/" + toDisplayString$1(item.label), 1)
19830
+ createElementVNode("span", _hoisted_4$7, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19831
+ createElementVNode("span", _hoisted_5$5, "/" + toDisplayString$1(item.label), 1)
19735
19832
  ])
19736
19833
  ]),
19737
19834
  _: 2
@@ -19769,12 +19866,12 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19769
19866
  const ProjectMenuListV2 = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-gitcode-layout-lib"]]);
19770
19867
  const _hoisted_1$e = { class: "side-bar-label" };
19771
19868
  const _hoisted_2$8 = { class: "side-bar-label" };
19772
- const _hoisted_3$5 = {
19869
+ const _hoisted_3$6 = {
19773
19870
  key: 0,
19774
19871
  class: "line mt-[16px] mb-[6px]"
19775
19872
  };
19776
- const _hoisted_4$4 = ["src"];
19777
- const _hoisted_5$2 = ["src"];
19873
+ const _hoisted_4$6 = ["src"];
19874
+ const _hoisted_5$4 = ["src"];
19778
19875
  const _hoisted_6$2 = { class: "side-bar-label" };
19779
19876
  const _hoisted_7$2 = {
19780
19877
  key: 1,
@@ -20073,6 +20170,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20073
20170
  const openMode = (parentNode == null ? void 0 : parentNode.getAttribute("data-openBlank")) ? "_blank" : "_self";
20074
20171
  const url = (parentNode == null ? void 0 : parentNode.getAttribute("data-href")) || "";
20075
20172
  const host = (parentNode == null ? void 0 : parentNode.getAttribute("data-host")) || "";
20173
+ const key = (parentNode == null ? void 0 : parentNode.getAttribute("data-key")) || "";
20174
+ const REPOKEY = (key || "").toUpperCase();
20175
+ const reportName = ASIDE_MENU_REPO[REPOKEY] || "";
20176
+ if (reportName) {
20177
+ useReport2(REPO_EVENT.CLICK, { module_name: reportName });
20178
+ }
20076
20179
  if (host === layoutConfig2.VITE_AI_HOST) {
20077
20180
  useReport2(AsideReportEvent.AI_CLICK, {});
20078
20181
  }
@@ -20106,6 +20209,9 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20106
20209
  }
20107
20210
  emits("onMenuClick");
20108
20211
  };
20212
+ const handleAsideMenuExpo = (type) => {
20213
+ useReport2(REPO_EVENT.SHOW, { module_name: ASIDE_MENU_REPO.ASIDEEXPO });
20214
+ };
20109
20215
  function checkMenu() {
20110
20216
  if (!route) return;
20111
20217
  const name = route == null ? void 0 : route.name;
@@ -20179,7 +20285,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20179
20285
  key: 0,
20180
20286
  class: normalizeClass(["side-bar-content", { "side-bar-content-shot": _ctx.asideSetShowLittle, "shot-isCh": !isEn.value }])
20181
20287
  }, [
20182
- createElementVNode("div", {
20288
+ withDirectives((openBlock(), createElementBlock("div", {
20183
20289
  class: normalizeClass(["flex-1 flex flex-col justify-between min-w-0 overflow-y-auto aside-menus", { scroll: isScroll.value }]),
20184
20290
  onScroll: handleScroll,
20185
20291
  onMouseleave: handleMouseLeave
@@ -20207,6 +20313,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20207
20313
  default: withCtx(() => [
20208
20314
  (openBlock(), createBlock(unref(MenuItem), {
20209
20315
  key: item.key,
20316
+ "data-key": item.key,
20210
20317
  "data-openBlank": item.openBlank,
20211
20318
  "data-route": item.route ? JSON.stringify(item.route) : "",
20212
20319
  "data-href": item.href,
@@ -20230,11 +20337,12 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20230
20337
  createElementVNode("span", _hoisted_1$e, toDisplayString$1(item.label), 1)
20231
20338
  ]),
20232
20339
  _: 2
20233
- }, 1032, ["data-openBlank", "data-route", "data-href", "data-host"]))
20340
+ }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20234
20341
  ]),
20235
20342
  _: 2
20236
20343
  }, 1024)) : (openBlock(), createBlock(unref(MenuItem), {
20237
20344
  key: item.key,
20345
+ "data-key": item.key,
20238
20346
  "data-openBlank": item.openBlank,
20239
20347
  "data-route": item.route ? JSON.stringify(item.route) : "",
20240
20348
  "data-href": item.href,
@@ -20258,13 +20366,14 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20258
20366
  createElementVNode("span", _hoisted_2$8, toDisplayString$1(item.label), 1)
20259
20367
  ]),
20260
20368
  _: 2
20261
- }, 1032, ["data-openBlank", "data-route", "data-href", "data-host"]))
20369
+ }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20262
20370
  ], 64);
20263
20371
  }), 256)),
20264
- !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$5)) : createCommentVNode("", true),
20372
+ !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$6)) : createCommentVNode("", true),
20265
20373
  (openBlock(true), createElementBlock(Fragment, null, renderList(externalRoutes.value, (item) => {
20266
20374
  return openBlock(), createBlock(unref(MenuItem), {
20267
20375
  key: `${item.key}-${item.logo}`,
20376
+ "data-key": item.key,
20268
20377
  "data-route": item.route ? JSON.stringify(item.route) : "",
20269
20378
  "data-href": item.href,
20270
20379
  "data-host": item.host,
@@ -20275,11 +20384,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20275
20384
  createElementVNode("img", {
20276
20385
  src: item.logo,
20277
20386
  class: "default-icon w-[16px] h-[16px]"
20278
- }, null, 8, _hoisted_4$4),
20387
+ }, null, 8, _hoisted_4$6),
20279
20388
  createElementVNode("img", {
20280
20389
  src: item.logo_hover,
20281
20390
  class: "active-icon w-[16px] h-[16px]"
20282
- }, null, 8, _hoisted_5$2)
20391
+ }, null, 8, _hoisted_5$4)
20283
20392
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
20284
20393
  createVNode(GIcon, {
20285
20394
  name: item.icon,
@@ -20299,7 +20408,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20299
20408
  createElementVNode("span", _hoisted_6$2, toDisplayString$1(item.label), 1)
20300
20409
  ]),
20301
20410
  _: 2
20302
- }, 1032, ["data-route", "data-href", "data-host", "data-openBlank"]);
20411
+ }, 1032, ["data-key", "data-route", "data-href", "data-host", "data-openBlank"]);
20303
20412
  }), 128)),
20304
20413
  !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_7$2)) : createCommentVNode("", true),
20305
20414
  !_ctx.asideSetShowLittle ? (openBlock(), createBlock(ProjectMenuListV2, {
@@ -20413,7 +20522,9 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20413
20522
  ])
20414
20523
  ])
20415
20524
  ])) : createCommentVNode("", true)
20416
- ], 34),
20525
+ ], 34)), [
20526
+ [unref(vElementExposure), { trigger: (type) => handleAsideMenuExpo() }]
20527
+ ]),
20417
20528
  showPreferencesSetting.value ? (openBlock(), createElementBlock("div", _hoisted_20$1, [
20418
20529
  createVNode(unref(Dropdown), {
20419
20530
  position: ["bottom-end"],
@@ -21126,8 +21237,8 @@ const headerCustomPropsData = {
21126
21237
  };
21127
21238
  const _hoisted_1$c = { class: "home-wrapper" };
21128
21239
  const _hoisted_2$7 = { class: "home-content" };
21129
- const _hoisted_3$4 = { class: "home-left-side" };
21130
- const _hoisted_4$3 = { class: "home-main" };
21240
+ const _hoisted_3$5 = { class: "home-left-side" };
21241
+ const _hoisted_4$5 = { class: "home-main" };
21131
21242
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
21132
21243
  __name: "home",
21133
21244
  setup(__props) {
@@ -21218,7 +21329,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
21218
21329
  onFollowUser: followUser
21219
21330
  }, null, 8, ["sceneValue", "independence", "isLogin", "request", "globalStore", "userInfo", "repoInfo", "orgInfo", "otherUserInfo", "headerCustomProps"]),
21220
21331
  createElementVNode("div", _hoisted_2$7, [
21221
- createElementVNode("div", _hoisted_3$4, [
21332
+ createElementVNode("div", _hoisted_3$5, [
21222
21333
  createVNode(GitCodeAside, {
21223
21334
  sceneValue: sceneSelected.value,
21224
21335
  userInfo: userInfo.value,
@@ -21238,7 +21349,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
21238
21349
  _: 1
21239
21350
  }, 8, ["sceneValue", "userInfo", "isLogin", "request", "globalStore", "independence", "collapseMode"])
21240
21351
  ]),
21241
- createElementVNode("div", _hoisted_4$3, [
21352
+ createElementVNode("div", _hoisted_4$5, [
21242
21353
  _cache[6] || (_cache[6] = createElementVNode("h1", null, "控制 Header 值传入", -1)),
21243
21354
  _cache[7] || (_cache[7] = createElementVNode("h2", null, "场景值 SceneValue", -1)),
21244
21355
  createVNode(unref(RadioGroup), {
@@ -21448,6 +21559,7 @@ const layoutConfig = useLayoutConfig();
21448
21559
  const { t: t$2 } = i18n.global;
21449
21560
  const GRAPH_CODE = 400007;
21450
21561
  const REMOTE_LOGIN_CODE = 400015;
21562
+ const MAX_MOBILE_COUNT = 10;
21451
21563
  const createLoginConfig = (request) => {
21452
21564
  const API = headRequest(request);
21453
21565
  return {
@@ -21455,14 +21567,15 @@ const createLoginConfig = (request) => {
21455
21567
  async phone(param, loginParams) {
21456
21568
  const { validFunc, successFunc = () => {
21457
21569
  }, failFunc = () => {
21458
- } } = param;
21570
+ }, country = "" } = param;
21459
21571
  const check = validFunc ? await validFunc() : true;
21460
21572
  if (!check) return;
21461
21573
  const result2 = await API.loginByMobile(loginParams);
21462
21574
  if (!result2.error) {
21463
21575
  const resultData = result2.data.data;
21576
+ saveLoginMobile(loginParams.mobile, country);
21464
21577
  successFunc(resultData, loginParams.mobile);
21465
- phoneAndPasswordLogin(resultData, API);
21578
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PHONE);
21466
21579
  } else {
21467
21580
  failFunc(result2.error.error_message);
21468
21581
  }
@@ -21489,7 +21602,7 @@ const createLoginConfig = (request) => {
21489
21602
  const { user_status_enum } = resultData;
21490
21603
  await successFunc(resultData);
21491
21604
  if (user_status_enum !== "MFA_CHECK") {
21492
- phoneAndPasswordLogin(resultData, API);
21605
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PASSWORD);
21493
21606
  }
21494
21607
  } else {
21495
21608
  failFunc(result2.error.error_message);
@@ -21513,7 +21626,7 @@ const createLoginConfig = (request) => {
21513
21626
  scene_id
21514
21627
  });
21515
21628
  if (!result2.error) {
21516
- phoneAndPasswordLogin(result2.data.data, API);
21629
+ phoneAndPasswordLogin(result2.data.data, API, LoginMethodEnum.MINI_PROGRAM);
21517
21630
  return { success: true, data: result2.data.data };
21518
21631
  }
21519
21632
  return { success: false, error: result2.error };
@@ -21640,11 +21753,12 @@ function bindResultResolve(params, API) {
21640
21753
  function sendMessageToParent(message) {
21641
21754
  window.parent && window.parent.postMessage(message, "*");
21642
21755
  }
21643
- function phoneAndPasswordLogin(userInfo, API) {
21756
+ function phoneAndPasswordLogin(userInfo, API, loginMethod) {
21644
21757
  successResolve({
21645
21758
  path: new URLSearchParams(window.location.search).get("returnUrl") || "",
21646
21759
  userInfo,
21647
- type: AuthTypeEnum.PHONE_AND_PASSWORD
21760
+ type: AuthTypeEnum.PHONE_AND_PASSWORD,
21761
+ loginMethod
21648
21762
  }, API);
21649
21763
  const params = {
21650
21764
  access_token: userInfo.access_token,
@@ -21679,12 +21793,13 @@ async function checkUserRepositoryIssue(API) {
21679
21793
  }
21680
21794
  async function successResolve(params, API) {
21681
21795
  var _a;
21682
- const { path, userInfo, type } = params;
21796
+ const { path, userInfo, type, loginMethod } = params;
21683
21797
  if (userInfo) {
21684
21798
  emitEvent("updateUserInfo", userInfo);
21685
21799
  const { username, email } = userInfo;
21686
21800
  setEmailValid(username, email);
21687
21801
  }
21802
+ saveLastLoginType(loginMethod);
21688
21803
  if (type === AuthTypeEnum.PHONE_AND_PASSWORD) {
21689
21804
  const { unMount, isMounted } = usePopup();
21690
21805
  if (isMounted()) {
@@ -21790,6 +21905,21 @@ const HandleParentWindowGetLoginInfo = (request) => {
21790
21905
  }
21791
21906
  };
21792
21907
  };
21908
+ function saveLoginMobile(mobile, country) {
21909
+ const loginMobileList = JSON.parse(localStorage$2.getItem("loginMobileList") || "[]");
21910
+ const index2 = loginMobileList.findIndex((item) => item.mobile === mobile);
21911
+ if (index2 !== -1) {
21912
+ loginMobileList.splice(index2, 1);
21913
+ }
21914
+ loginMobileList.unshift({ mobile, country });
21915
+ if (loginMobileList.length > MAX_MOBILE_COUNT) {
21916
+ loginMobileList.pop();
21917
+ }
21918
+ localStorage$2.setItem("loginMobileList", JSON.stringify(loginMobileList));
21919
+ }
21920
+ function saveLastLoginType(loginMethod) {
21921
+ localStorage$2.setItem("lastLoginMethod", loginMethod);
21922
+ }
21793
21923
  const logoBack = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20width='24px'%20height='24px'%20viewBox='0%200%2024%2024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctitle%3eic/左备份%3c/title%3e%3cg%20id='PC端'%20stroke='none'%20stroke-width='1'%20fill='none'%20fill-rule='evenodd'%3e%3cg%20id='02-登录注册-登录、注册'%20transform='translate(-153,%20-1855)'%20fill='%238A8E99'%20fill-rule='nonzero'%3e%3cg%20id='编组-8'%20transform='translate(125,%201830)'%3e%3cg%20id='ic/左备份'%20transform='translate(31.1393,%2028.9697)'%3e%3cpolygon%20id='路径'%20points='8.03029121%203.55271368e-15%209.09102914%201.0605824%202.8725%207.2795%2017.8606602%207.2802912%2017.8606602%208.7802912%202.8695%208.7795%209.09102914%2014.9999222%208.03036898%2016.0606602%200%208.03146884'%3e%3c/polygon%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
21794
21924
  const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21795
21925
  __proto__: null,
@@ -21976,7 +22106,10 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
21976
22106
  }
21977
22107
  });
21978
22108
  const _hoisted_1$9 = { class: "flex flex-1 g-input-select" };
21979
- const _hoisted_2$6 = { class: "flex justify-between gap-[8px] flex-wrap" };
22109
+ const _hoisted_2$6 = { class: "login-phone" };
22110
+ const _hoisted_3$4 = { class: "flex justify-between gap-[8px] flex-wrap" };
22111
+ const _hoisted_4$4 = { class: "flex items-center justify-between" };
22112
+ const _hoisted_5$3 = { class: "flex justify-between gap-[8px] flex-wrap" };
21980
22113
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
21981
22114
  __name: "inputSelect",
21982
22115
  props: {
@@ -21984,7 +22117,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
21984
22117
  "onUpdate:modelValue": { type: Function },
21985
22118
  placeholder: {},
21986
22119
  prop: {},
21987
- country: {}
22120
+ country: {},
22121
+ editableSelect: { type: Boolean }
21988
22122
  },
21989
22123
  emits: ["change", "selectChange", "update:modelValue"],
21990
22124
  setup(__props, { emit: __emit }) {
@@ -21993,7 +22127,6 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
21993
22127
  const emits = __emit;
21994
22128
  const cache_countdown = JSON.parse(localStorage$2.getItem("cache_countdown"));
21995
22129
  const { vModels } = useModel(props, emits);
21996
- console.log(cache_countdown, "cache_countdown");
21997
22130
  const country = ref((cache_countdown == null ? void 0 : cache_countdown.country) || DEFAULT_COUNTRY);
21998
22131
  const options = ref([]);
21999
22132
  const handleChange = () => {
@@ -22011,25 +22144,50 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22011
22144
  };
22012
22145
  });
22013
22146
  };
22014
- onMounted(() => {
22015
- getAllCountries();
22016
- });
22147
+ const loginMobileList = ref([]);
22148
+ const mobileList = ref([]);
22149
+ const getHistoryMobile = () => {
22150
+ var _a, _b, _c, _d, _e;
22151
+ mobileList.value = JSON.parse(localStorage$2.getItem("loginMobileList")) || [];
22152
+ loginMobileList.value = (_a = mobileList.value) == null ? void 0 : _a.map((item) => {
22153
+ return {
22154
+ label: item.mobile,
22155
+ value: item.mobile
22156
+ };
22157
+ });
22158
+ country.value = ((_c = (_b = mobileList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.country) || country.value;
22159
+ emits("update:modelValue", (_e = (_d = mobileList.value) == null ? void 0 : _d[0]) == null ? void 0 : _e.mobile);
22160
+ };
22161
+ const deleteMobile = (mobile) => {
22162
+ loginMobileList.value = loginMobileList.value.filter((item) => item.value !== mobile);
22163
+ mobileList.value = mobileList.value.filter((item) => item.mobile !== mobile);
22164
+ localStorage$2.setItem("loginMobileList", JSON.stringify(mobileList.value));
22165
+ };
22166
+ const handleSelectChange = (value) => {
22167
+ var _a;
22168
+ country.value = ((_a = mobileList.value.find((item) => item.mobile === value)) == null ? void 0 : _a.country) || country.value;
22169
+ emits("change");
22170
+ };
22017
22171
  const handleCountryChange = () => {
22018
22172
  emits("selectChange", country.value);
22019
22173
  emits("change");
22020
22174
  };
22175
+ const handleInputSelectChange = (value) => {
22176
+ emits("update:modelValue", value);
22177
+ emits("change");
22178
+ };
22179
+ onMounted(() => {
22180
+ getAllCountries();
22181
+ if (props.editableSelect) {
22182
+ getHistoryMobile();
22183
+ }
22184
+ });
22021
22185
  return (_ctx, _cache) => {
22022
22186
  return openBlock(), createElementBlock("div", _hoisted_1$9, [
22023
- createVNode(unref(Input), mergeProps({
22024
- modelValue: unref(vModels),
22025
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22026
- }, _ctx.prop, {
22027
- placeholder: _ctx.placeholder,
22028
- onChange: handleChange
22029
- }), {
22030
- prepend: withCtx(() => [
22187
+ createElementVNode("div", _hoisted_2$6, [
22188
+ (props == null ? void 0 : props.editableSelect) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
22031
22189
  createVNode(unref(Select), {
22032
- class: "input-select",
22190
+ class: "login-country-select",
22033
22191
  modelValue: country.value,
22034
22192
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => country.value = $event),
22035
22193
  menuClass: "country-select",
@@ -22043,7 +22201,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22043
22201
  value: item.value
22044
22202
  }, {
22045
22203
  default: withCtx(() => [
22046
- createElementVNode("div", _hoisted_2$6, [
22204
+ createElementVNode("div", _hoisted_3$4, [
22047
22205
  createElementVNode("span", null, toDisplayString$1(item.name), 1),
22048
22206
  createElementVNode("span", null, toDisplayString$1(item.label), 1)
22049
22207
  ])
@@ -22053,10 +22211,70 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22053
22211
  }), 128))
22054
22212
  ]),
22055
22213
  _: 1
22056
- }, 8, ["modelValue"])
22057
- ]),
22058
- _: 1
22059
- }, 16, ["modelValue", "placeholder"])
22214
+ }, 8, ["modelValue"]),
22215
+ createVNode(unref(EditableSelect), mergeProps({
22216
+ modelValue: unref(vModels),
22217
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22218
+ }, props, {
22219
+ size: "lg",
22220
+ width: 292,
22221
+ options: loginMobileList.value,
22222
+ placeholder: props.placeholder,
22223
+ onInputChange: handleInputSelectChange,
22224
+ onChange: handleSelectChange,
22225
+ class: "login-phone-select"
22226
+ }), {
22227
+ item: withCtx((slotProps) => [
22228
+ createElementVNode("div", _hoisted_4$4, [
22229
+ createElementVNode("div", null, toDisplayString$1(slotProps.option.label), 1),
22230
+ createVNode(GIcon, {
22231
+ name: "gt-line-delete",
22232
+ class: "w-[16px] h-[16px] cursor-pointer",
22233
+ onClick: withModifiers(($event) => deleteMobile(slotProps.option.value), ["stop"])
22234
+ }, null, 8, ["onClick"])
22235
+ ])
22236
+ ]),
22237
+ _: 1
22238
+ }, 16, ["modelValue", "options", "placeholder"])
22239
+ ], 64)) : (openBlock(), createBlock(unref(Input), mergeProps({
22240
+ key: 1,
22241
+ modelValue: unref(vModels),
22242
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22243
+ }, _ctx.prop, {
22244
+ placeholder: _ctx.placeholder,
22245
+ onChange: handleChange
22246
+ }), {
22247
+ prepend: withCtx(() => [
22248
+ createVNode(unref(Select), {
22249
+ class: "input-select",
22250
+ modelValue: country.value,
22251
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => country.value = $event),
22252
+ menuClass: "country-select",
22253
+ onValueChange: handleCountryChange
22254
+ }, {
22255
+ default: withCtx(() => [
22256
+ (openBlock(true), createElementBlock(Fragment, null, renderList(options.value, (item, index2) => {
22257
+ return openBlock(), createBlock(unref(Option), {
22258
+ name: item.label,
22259
+ key: index2,
22260
+ value: item.value
22261
+ }, {
22262
+ default: withCtx(() => [
22263
+ createElementVNode("div", _hoisted_5$3, [
22264
+ createElementVNode("span", null, toDisplayString$1(item.name), 1),
22265
+ createElementVNode("span", null, toDisplayString$1(item.label), 1)
22266
+ ])
22267
+ ]),
22268
+ _: 2
22269
+ }, 1032, ["name", "value"]);
22270
+ }), 128))
22271
+ ]),
22272
+ _: 1
22273
+ }, 8, ["modelValue"])
22274
+ ]),
22275
+ _: 1
22276
+ }, 16, ["modelValue", "placeholder"]))
22277
+ ])
22060
22278
  ]);
22061
22279
  };
22062
22280
  }
@@ -22078,7 +22296,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22078
22296
  errors: { default: {
22079
22297
  msgError: false
22080
22298
  } },
22081
- isForget: { type: Boolean, default: false }
22299
+ isForget: { type: Boolean, default: false },
22300
+ formErrors: { default: {} }
22082
22301
  },
22083
22302
  emits: ["change", "countDown", "complete"],
22084
22303
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -22319,12 +22538,15 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22319
22538
  }), null, 16, ["modelValue", "onUpdate:modelValue", "onChange", "onClick", "placeholder", "hasMobile", "text", "error", "autocomplete"])) : formItem.type === "inputSelect" ? (openBlock(), createBlock(_sfc_main$b, mergeProps({
22320
22539
  key: 2,
22321
22540
  country: Data.country,
22541
+ class: _ctx.formErrors["mobile"] ? "input-select-error" : "",
22322
22542
  modelValue: Data[formItem.key],
22323
22543
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
22324
22544
  onSelectChange: _cache[0] || (_cache[0] = (evt) => handleSelectChange("country", evt)),
22325
22545
  onChange: ($event) => handleChange(formItem.key),
22326
22546
  placeholder: unref($t)("gitCodeLayout.LoginModal.rule.pleaseFill", { label: formItem.label })
22327
- }, { ref_for: true }, formItem.props), null, 16, ["country", "modelValue", "onUpdate:modelValue", "onChange", "placeholder"])) : (openBlock(), createBlock(resolveDynamicComponent(formItem.render), mergeProps({
22547
+ }, { ref_for: true }, formItem.props, {
22548
+ editableSelect: formItem.editableSelect
22549
+ }), null, 16, ["country", "class", "modelValue", "onUpdate:modelValue", "onChange", "placeholder", "editableSelect"])) : (openBlock(), createBlock(resolveDynamicComponent(formItem.render), mergeProps({
22328
22550
  key: formItem.key,
22329
22551
  modelValue: Data[formItem.key],
22330
22552
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
@@ -22345,32 +22567,40 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22345
22567
  };
22346
22568
  }
22347
22569
  });
22348
- const _hoisted_1$8 = { class: "tips text-[var(--devui-disabled-text)]" };
22349
- const _hoisted_2$5 = { class: "icons" };
22350
- const _hoisted_3$3 = ["src", "alt", "onClick"];
22570
+ const recentLoginImg = "data:image/png;base64,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";
22571
+ const _hoisted_1$8 = { class: "auth-container" };
22572
+ const _hoisted_2$5 = { class: "tips text-[var(--devui-disabled-text)]" };
22573
+ const _hoisted_3$3 = { class: "icons" };
22574
+ const _hoisted_4$3 = ["src", "alt", "onClick"];
22575
+ const _hoisted_5$2 = ["src"];
22351
22576
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
22352
22577
  __name: "auth",
22353
22578
  props: {
22354
- logos: {}
22579
+ logos: {},
22580
+ recentLoginType: {}
22355
22581
  },
22356
22582
  emits: ["auth"],
22357
22583
  setup(__props, { emit: __emit }) {
22358
22584
  const request = inject("request");
22359
22585
  const API = headRequest(request);
22360
22586
  const { t: $t } = i18n.global;
22587
+ const props = __props;
22361
22588
  const emits = __emit;
22362
22589
  const handleClick = (icon) => {
22363
22590
  useReport(LOGIN_MODAL_TAB_SWITCH, { source: `oauth_${icon.alt}` }, API.report);
22364
22591
  emits("auth", icon.alt);
22365
22592
  };
22593
+ const checkIsRecentLogin = (loginMethodList) => {
22594
+ return loginMethodList.includes(props.recentLoginType);
22595
+ };
22366
22596
  return (_ctx, _cache) => {
22367
- return openBlock(), createElementBlock(Fragment, null, [
22368
- createElementVNode("div", _hoisted_1$8, " —— " + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.otherLogin")) + " —— ", 1),
22369
- createElementVNode("div", _hoisted_2$5, [
22597
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
22598
+ createElementVNode("div", _hoisted_2$5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.otherLogin")), 1),
22599
+ createElementVNode("div", _hoisted_3$3, [
22370
22600
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.logos, (icon) => {
22371
22601
  return openBlock(), createElementBlock("div", {
22372
22602
  key: icon.alt,
22373
- class: "rounded-[50%] w-[40px] h-[40px] border-[1px] icon-wrap border-solid cursor-pointer mx-[12px] otherInfo-icon"
22603
+ class: "rounded-[50%] w-[40px] h-[40px] border-[1px] icon-wrap border-solid cursor-pointer otherInfo-icon"
22374
22604
  }, [
22375
22605
  createVNode(unref(Tooltip), {
22376
22606
  position: "top",
@@ -22383,14 +22613,19 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
22383
22613
  src: icon.src,
22384
22614
  alt: icon.alt,
22385
22615
  onClick: withModifiers(($event) => handleClick(icon), ["stop"])
22386
- }, null, 8, _hoisted_3$3)
22616
+ }, null, 8, _hoisted_4$3)
22387
22617
  ]),
22388
22618
  _: 2
22389
- }, 1032, ["content", "disabled"])
22619
+ }, 1032, ["content", "disabled"]),
22620
+ checkIsRecentLogin(icon.loginMethodList) ? (openBlock(), createElementBlock("img", {
22621
+ key: 0,
22622
+ src: unref(recentLoginImg),
22623
+ class: "w-[38px] h-[20px] recent-login-img"
22624
+ }, null, 8, _hoisted_5$2)) : createCommentVNode("", true)
22390
22625
  ]);
22391
22626
  }), 128))
22392
22627
  ])
22393
- ], 64);
22628
+ ]);
22394
22629
  };
22395
22630
  }
22396
22631
  });
@@ -22480,12 +22715,16 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
22480
22715
  const _hoisted_1$5 = { class: "text-center text-[18px] leading-[26px] font-bold mb-[24px] flex items-center justify-center relative" };
22481
22716
  const _hoisted_2$3 = { class: "back-img absolute mr-[24px] left-0" };
22482
22717
  const _hoisted_3$2 = ["src"];
22483
- const _hoisted_4$2 = { class: "tracking-[.5px]" };
22718
+ const _hoisted_4$2 = {
22719
+ key: 0,
22720
+ class: "tracking-[.5px]"
22721
+ };
22484
22722
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
22485
22723
  __name: "title",
22486
22724
  props: {
22487
22725
  title: {},
22488
22726
  showBack: { type: Boolean },
22727
+ showTitle: { type: Boolean },
22489
22728
  icon: {}
22490
22729
  },
22491
22730
  emits: ["back"],
@@ -22504,7 +22743,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
22504
22743
  onClick: withModifiers(handleClick, ["stop"])
22505
22744
  }, null, 8, _hoisted_3$2)) : createCommentVNode("", true)
22506
22745
  ]),
22507
- createElementVNode("span", _hoisted_4$2, toDisplayString$1(_ctx.title), 1)
22746
+ _ctx.showTitle ? (openBlock(), createElementBlock("span", _hoisted_4$2, toDisplayString$1(_ctx.title), 1)) : createCommentVNode("", true)
22508
22747
  ]);
22509
22748
  };
22510
22749
  }
@@ -25171,7 +25410,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25171
25410
  }
25172
25411
  });
25173
25412
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-gitcode-layout-lib"]]);
25174
- const SlidCaptcha = defineAsyncComponent(() => import("./index-Br7X1o9p.js"));
25413
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-BhrxF7Ye.js"));
25175
25414
  const useSlidCaptcha = () => {
25176
25415
  const { mount, unMount } = usePopup("slid-captcha-popup");
25177
25416
  const open = (config) => {
@@ -25294,21 +25533,15 @@ function useVisibilityPoll(pollFunction, options = {}, shouldPoll) {
25294
25533
  stopPoll
25295
25534
  };
25296
25535
  }
25297
- const _hoisted_1$1 = { class: "flex items-center gap-1" };
25536
+ const _hoisted_1$1 = { class: "flex items-center gap-1 h-[48px]" };
25298
25537
  const _hoisted_2 = { class: "devui-icon__container devui-icon--operable devui-icon--no-slots self-start min-w-[34px] mt-[-6px]" };
25299
25538
  const _hoisted_3 = {
25300
- key: 0,
25301
- class: "text-[14px] leading-[20px] text-[var(--devui-placeholder)] font-normal"
25302
- };
25303
- const _hoisted_4 = {
25304
- key: 0,
25305
- class: "flex items-center justify-center mb-[24px] mt-[-2px]"
25306
- };
25307
- const _hoisted_5 = {
25308
25539
  key: 1,
25309
- class: "forget-tips text-[var(--devui-link)] my-[16px] min-h-[32px] leading-[32px] px-[12px] tracking-[.5px]"
25540
+ class: "login-modal-content"
25310
25541
  };
25311
- const _hoisted_6 = { class: "qrcode-container flex flex-col items-center justify-center my-4" };
25542
+ const _hoisted_4 = ["src"];
25543
+ const _hoisted_5 = { class: "text-[var(--theme-text)] mt-[6px]" };
25544
+ const _hoisted_6 = { class: "qrcode-container flex flex-col items-center justify-center" };
25312
25545
  const _hoisted_7 = ["src"];
25313
25546
  const _hoisted_8 = {
25314
25547
  key: 0,
@@ -25316,37 +25549,57 @@ const _hoisted_8 = {
25316
25549
  };
25317
25550
  const _hoisted_9 = {
25318
25551
  key: 0,
25319
- class: "flex flex-col gap-2 items-center justify-center"
25552
+ class: "flex flex-col gap-2 items-center justify-center gap-[40px]"
25320
25553
  };
25321
- const _hoisted_10 = {
25554
+ const _hoisted_10 = { class: "flex gap-1 items-center justify-center text-[16px] font-medium" };
25555
+ const _hoisted_11 = { class: "text-[#252B3A]" };
25556
+ const _hoisted_12 = {
25322
25557
  key: 1,
25323
25558
  class: "flex flex-col gap-3 items-center justify-center"
25324
25559
  };
25325
- const _hoisted_11 = { class: "text-[var(--color-success)]" };
25326
- const _hoisted_12 = { class: "text-center" };
25327
- const _hoisted_13 = {
25560
+ const _hoisted_13 = { class: "text-[var(--color-success)]" };
25561
+ const _hoisted_14 = { class: "text-center" };
25562
+ const _hoisted_15 = {
25328
25563
  key: 1,
25329
- class: "text-center mt-2 text-[var(--devui-text-weak)] font-bold"
25564
+ class: "text-center text-[16px] mt-[40px] text-[var(--devui-text-weak)] font-bold"
25330
25565
  };
25331
- const _hoisted_14 = {
25332
- key: 0,
25333
- class: "login-modal-info h-[20px]"
25334
- };
25335
- const _hoisted_15 = { class: "login-modal-info-left" };
25336
25566
  const _hoisted_16 = {
25337
25567
  key: 1,
25338
- class: "mt-[18px]"
25568
+ class: "ml-[44px] mt-[32px] mr-[44px] text-[var(--theme-text)] leading-[22px]"
25339
25569
  };
25340
- const _hoisted_17 = { class: "flex items-center justify-between pr-[16px]" };
25341
- const _hoisted_18 = { class: "mr-[16px]" };
25570
+ const _hoisted_17 = { class: "font-medium text-[20px]" };
25571
+ const _hoisted_18 = { class: "mt-[16px]" };
25342
25572
  const _hoisted_19 = {
25343
25573
  key: 0,
25344
- class: "login-modal-footer"
25574
+ class: "flex items-baseline justify-between mb-[24px]"
25575
+ };
25576
+ const _hoisted_20 = { class: "flex items-center" };
25577
+ const _hoisted_21 = ["src"];
25578
+ const _hoisted_22 = { class: "text-[12px] leading-[32px] text-center" };
25579
+ const _hoisted_23 = {
25580
+ key: 1,
25581
+ class: "forget-tips text-[var(--devui-link)] my-[16px] min-h-[32px] leading-[32px] px-[12px] tracking-[.5px]"
25582
+ };
25583
+ const _hoisted_24 = { key: 2 };
25584
+ const _hoisted_25 = { class: "flex items-center justify-between" };
25585
+ const _hoisted_26 = { class: "text-[var(--devui-text-weak)] font-bold text-[16px]" };
25586
+ const _hoisted_27 = { class: "text-[12px] leading-[32px]" };
25587
+ const _hoisted_28 = { class: "text-[12px] leading-[20px] mt-[16px] text-[var(--devui-placeholder)] font-normal" };
25588
+ const _hoisted_29 = {
25589
+ key: 0,
25590
+ class: "login-modal-info h-[20px]"
25345
25591
  };
25346
- const _hoisted_20 = { class: "flex justify-center" };
25347
- const _hoisted_21 = { key: 1 };
25348
- const _hoisted_22 = { class: "line-clamp-2" };
25349
- const _hoisted_23 = { class: "absolute-btn" };
25592
+ const _hoisted_30 = { class: "login-modal-info-left" };
25593
+ const _hoisted_31 = { class: "mt-[18px]" };
25594
+ const _hoisted_32 = { class: "flex justify-center" };
25595
+ const _hoisted_33 = { class: "flex items-center justify-center pr-[16px] mt-[16px]" };
25596
+ const _hoisted_34 = { class: "harmony-icon" };
25597
+ const _hoisted_35 = ["src"];
25598
+ const _hoisted_36 = { class: "ml-[8px] text-[12px]" };
25599
+ const _hoisted_37 = { class: "login-modal-footer flex items-center justify-center" };
25600
+ const _hoisted_38 = { key: 3 };
25601
+ const _hoisted_39 = { class: "line-clamp-2" };
25602
+ const _hoisted_40 = { class: "absolute-btn" };
25350
25603
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25351
25604
  ...{
25352
25605
  name: "GLoginModal"
@@ -25389,6 +25642,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25389
25642
  const IconB = TransAssetsUrl(IconSource, "logo-back");
25390
25643
  const IconW = TransAssetsUrl(IconSource, "logo-wechat");
25391
25644
  const IconHb = TransAssetsUrl(IconSource, "logo-hb");
25645
+ const logoType = {
25646
+ black: "https://cdn-static.gitcode.com/static/images/gitcode-logo-white.png",
25647
+ white: "https://cdn-static.gitcode.com/static/images/gitcode-logo-dark.png"
25648
+ };
25392
25649
  const formErrors = reactive({});
25393
25650
  const extraErrors = reactive({
25394
25651
  agreement: "",
@@ -25412,27 +25669,32 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25412
25669
  {
25413
25670
  src: IconC,
25414
25671
  alt: "csdn",
25415
- describe: "csdn" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25672
+ describe: "csdn" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25673
+ loginMethodList: ["csdn"]
25416
25674
  },
25417
25675
  {
25418
25676
  src: IconHb,
25419
25677
  alt: "hbuilder",
25420
- describe: "Hbuilder" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25678
+ describe: "Hbuilder" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25679
+ loginMethodList: ["hbuilder", "hbuilder_plugins"]
25421
25680
  },
25422
25681
  {
25423
25682
  src: currentTheme.value === ThemeType.WHITE ? IconG : IconGW,
25424
25683
  alt: "github",
25425
- describe: "github" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25684
+ describe: "github" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25685
+ loginMethodList: ["github"]
25426
25686
  },
25427
25687
  {
25428
25688
  src: IconH,
25429
25689
  alt: "gitee",
25430
- describe: "gitee" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25690
+ describe: "gitee" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25691
+ loginMethodList: ["gitee"]
25431
25692
  },
25432
25693
  {
25433
25694
  src: IconW,
25434
25695
  alt: "wechat_open",
25435
- describe: $t("gitCodeLayout.LoginModal.action.wechatScanCodeLogin")
25696
+ describe: $t("gitCodeLayout.LoginModal.action.wechatScanCodeLogin"),
25697
+ loginMethodList: ["wechat_open", "wechat_mp"]
25436
25698
  }
25437
25699
  ]);
25438
25700
  const emits = __emit;
@@ -25471,7 +25733,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25471
25733
  {
25472
25734
  type: "input",
25473
25735
  key: "username",
25474
- label: $t("gitCodeLayout.LoginModal.subtitle.name") + "/" + $t("gitCodeLayout.common.email"),
25736
+ label: $t("gitCodeLayout.userSetting.account.phone") + "/" + $t("gitCodeLayout.LoginModal.subtitle.name") + "/" + $t("gitCodeLayout.common.email"),
25475
25737
  required: true
25476
25738
  },
25477
25739
  {
@@ -25654,7 +25916,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25654
25916
  const status = ref(false);
25655
25917
  const hwStatus = ref(false);
25656
25918
  const FormRef = shallowRef(null);
25657
- const tabPanel = ref("miniProgram");
25919
+ const tabPanel = ref("verifyCode");
25658
25920
  const formType = ref(props.defaultType);
25659
25921
  const showProtoCheck = ref(false);
25660
25922
  const agreeAndLogin = () => {
@@ -25674,13 +25936,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25674
25936
  dict: RegisterForm.map((item) => {
25675
25937
  return {
25676
25938
  ...item,
25677
- defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : ""
25939
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : "",
25940
+ editableSelect: false
25678
25941
  };
25679
25942
  }),
25680
25943
  showLabel: true,
25681
25944
  layout: "horizontal",
25682
- title: `🎉${$t("gitCodeLayout.LoginModal.title.register")}`,
25683
- showBack: true
25945
+ showTitle: false,
25946
+ showBack: false
25684
25947
  };
25685
25948
  }
25686
25949
  if (formType.value === "forget") {
@@ -25697,12 +25960,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25697
25960
  dict: VerifyForm.map((item) => {
25698
25961
  return {
25699
25962
  ...item,
25700
- defaultValue: item.key === "mobile" ? cacheForm.mobile : ""
25963
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : "",
25964
+ editableSelect: true
25701
25965
  };
25702
25966
  }),
25703
25967
  showLabel: false,
25704
25968
  layout: "vertical",
25705
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
25969
+ showTitle: false,
25706
25970
  showBack: false
25707
25971
  };
25708
25972
  } else if (tabPanel.value === "password") {
@@ -25710,7 +25974,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25710
25974
  dict: PasswordForm,
25711
25975
  showLabel: false,
25712
25976
  layout: "vertical",
25713
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
25977
+ showTitle: false,
25714
25978
  showBack: false
25715
25979
  };
25716
25980
  } else {
@@ -25718,7 +25982,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25718
25982
  dict: MiniProgramForm,
25719
25983
  showLabel: false,
25720
25984
  layout: "vertical",
25721
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
25985
+ showTitle: false,
25722
25986
  showBack: false
25723
25987
  };
25724
25988
  }
@@ -25770,7 +26034,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25770
26034
  };
25771
26035
  const mfaCheck = ref(false);
25772
26036
  const handleMFALogin = (data) => {
25773
- phoneAndPasswordLogin(data, API);
26037
+ phoneAndPasswordLogin(data, API, LoginMethodEnum.PASSWORD);
25774
26038
  };
25775
26039
  const slidCaptcha = useSlidCaptcha();
25776
26040
  const LoginCheck = async () => {
@@ -25802,6 +26066,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25802
26066
  }
25803
26067
  };
25804
26068
  const registerAction = async (res, mobile) => {
26069
+ var _a;
25805
26070
  const data = {
25806
26071
  username: res.username,
25807
26072
  password: res.password,
@@ -25817,7 +26082,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25817
26082
  cacheForm.user_id = user_id;
25818
26083
  cacheForm.mask = mask;
25819
26084
  cacheForm.mobile = res.mobile;
25820
- phoneAndPasswordLogin(result2.data.data, API);
26085
+ const { country } = ((_a = FormRef.value) == null ? void 0 : _a.Data) || {};
26086
+ saveLoginMobile(mobile, country);
26087
+ phoneAndPasswordLogin(result2.data.data, API, LoginMethodEnum.PHONE);
25821
26088
  } else {
25822
26089
  extraErrors.requestInfo = result2.error.error_message;
25823
26090
  }
@@ -25864,7 +26131,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25864
26131
  mobile,
25865
26132
  code: res.code
25866
26133
  };
25867
- await loginFunction({ validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc" }, params, graphValidate, handleRemoteLogin);
26134
+ await loginFunction({ validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc", country }, params, graphValidate, handleRemoteLogin);
25868
26135
  }
25869
26136
  setTimeout(() => {
25870
26137
  loading.value = false;
@@ -26137,10 +26404,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26137
26404
  const pcAuthLogin = (type) => {
26138
26405
  authType.value = type;
26139
26406
  saveOauthType(type);
26140
- if (tabPanel.value === "miniProgram") {
26141
- stopPoll();
26142
- miniProgramStatus.value = "TIMEOUT";
26143
- }
26407
+ stopPoll();
26408
+ miniProgramStatus.value = "TIMEOUT";
26144
26409
  if (localStorage$2.getItem("access_token")) {
26145
26410
  emits("close", true);
26146
26411
  } else {
@@ -26217,7 +26482,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26217
26482
  emits("directClose");
26218
26483
  return;
26219
26484
  }
26485
+ useReport(REGISTER_CLICK_TO_LOGIN, {}, API.report);
26220
26486
  formType.value = "login";
26487
+ checkMiniProgramStatus();
26221
26488
  };
26222
26489
  const miniProgramStatus = ref("WAITING");
26223
26490
  const miniProgramLoading = ref(false);
@@ -26233,7 +26500,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26233
26500
  };
26234
26501
  const fetchMiniProgramStatus = async () => {
26235
26502
  var _a;
26236
- if (tabPanel.value !== "miniProgram") {
26503
+ if (formType.value !== "login") {
26237
26504
  stopPoll();
26238
26505
  return;
26239
26506
  }
@@ -26276,11 +26543,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26276
26543
  tabPanel.value = val;
26277
26544
  authType.value = null;
26278
26545
  useReport(LOGIN_MODAL_TAB_SWITCH, { source: `tab_${val}` }, API.report);
26279
- if (val !== "miniProgram") {
26280
- stopPoll();
26281
- handleMiniProgramReset();
26282
- return;
26283
- }
26546
+ };
26547
+ const checkMiniProgramStatus = async () => {
26284
26548
  if (!miniProgramInfo.value.scene_id) {
26285
26549
  getMiniProgramQrCode();
26286
26550
  return;
@@ -26296,12 +26560,24 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26296
26560
  shouldMiniProgramPoll.value = true;
26297
26561
  startPoll();
26298
26562
  };
26563
+ const recentLoginType = ref(null);
26564
+ const getRecentLogin = async () => {
26565
+ recentLoginType.value = localStorage$2.getItem("lastLoginMethod") || null;
26566
+ };
26567
+ const todayTechHistory = ref(null);
26568
+ const getTodayTechHistory = async () => {
26569
+ var _a, _b, _c;
26570
+ const res = await API.getTodayTechHistory();
26571
+ todayTechHistory.value = ((_c = (_b = (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.data) == null ? void 0 : _b.data) == null ? void 0 : _c[0]) || {};
26572
+ };
26299
26573
  const resetPwdDirectly = ref(false);
26300
26574
  const resetPwdWhiteList = ["change_password"];
26301
26575
  onMounted(() => {
26302
- if (tabPanel.value === "miniProgram" && formType.value === "login") {
26303
- handleTabPanelChange(tabPanel.value);
26576
+ if (formType.value === "login") {
26577
+ getMiniProgramQrCode();
26304
26578
  }
26579
+ getRecentLogin();
26580
+ getTodayTechHistory();
26305
26581
  if (resetPwdWhiteList.includes(props.resetPwdSource) && formType.value === "forget") {
26306
26582
  resetPwdDirectly.value = true;
26307
26583
  }
@@ -26310,7 +26586,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26310
26586
  return openBlock(), createElementBlock(Fragment, null, [
26311
26587
  createVNode(unref(Modal), {
26312
26588
  modelValue: unref(vModels),
26313
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => isRef(vModels) ? vModels.value = $event : null),
26589
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => isRef(vModels) ? vModels.value = $event : null),
26314
26590
  "show-close": false,
26315
26591
  "lock-scroll": _ctx.lockScroll,
26316
26592
  draggable: _ctx.draggable,
@@ -26320,157 +26596,288 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26320
26596
  class: normalizeClass([
26321
26597
  "login-modal",
26322
26598
  formType.value === "login" ? "login-modal-l" : "login-modal-r",
26599
+ formType.value === "register" ? "login-modal-register" : "",
26323
26600
  mfaCheck.value ? "login-modal-mfa" : ""
26324
26601
  ]),
26325
26602
  onClose: onModalClose
26326
26603
  }, createSlots({
26327
- default: withCtx(() => [
26328
- mfaCheck.value ? (openBlock(), createBlock(MFA, {
26329
- key: 0,
26330
- API: unref(API),
26331
- onBack: handleBack,
26332
- onSuccess: handleMFALogin,
26333
- mask: cacheForm.mask
26334
- }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
26335
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_4, [
26336
- createElementVNode("div", {
26337
- class: normalizeClass([
26338
- "login-modal-tab mr-[18px]",
26339
- tabPanel.value === "miniProgram" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26340
- ]),
26341
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleTabPanelChange("miniProgram"), ["stop"]))
26342
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.title")), 3),
26343
- createElementVNode("div", {
26344
- class: normalizeClass([
26345
- "login-modal-tab mr-[18px] ml-[18px]",
26346
- tabPanel.value === "verifyCode" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26347
- ]),
26348
- onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleTabPanelChange("verifyCode"), ["stop"]))
26349
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.sms")), 3),
26350
- createElementVNode("div", {
26351
- class: normalizeClass([
26352
- "login-modal-tab ml-[18px]",
26353
- tabPanel.value === "password" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26354
- ]),
26355
- onClick: _cache[2] || (_cache[2] = withModifiers(($event) => handleTabPanelChange("password"), ["stop"]))
26356
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.password")), 3)
26357
- ])) : createCommentVNode("", true),
26358
- formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.bindMobileWithAccount")) + "/" + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.resetYourPassword")), 1)) : createCommentVNode("", true),
26359
- formType.value === "login" && tabPanel.value === "miniProgram" ? (openBlock(), createBlock(DataPanel, {
26360
- key: 2,
26361
- loading: miniProgramLoading.value,
26362
- empty: false,
26363
- card: false,
26364
- class: "mini-program-qrcode",
26365
- border: false,
26366
- animation: true
26367
- }, {
26368
- default: withCtx(() => [
26369
- createElementVNode("div", _hoisted_6, [
26604
+ default: withCtx(() => {
26605
+ var _a, _b;
26606
+ return [
26607
+ mfaCheck.value ? (openBlock(), createBlock(MFA, {
26608
+ key: 0,
26609
+ API: unref(API),
26610
+ onBack: handleBack,
26611
+ onSuccess: handleMFALogin,
26612
+ mask: cacheForm.mask
26613
+ }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock("div", _hoisted_3, [
26614
+ formType.value === "login" || formType.value === "register" ? (openBlock(), createElementBlock("div", {
26615
+ key: 0,
26616
+ class: normalizeClass(["w-[470px] login-modal-content-left", formType.value === "register" ? "login-modal-content-left-register" : "login-modal-content-left-login"])
26617
+ }, [
26618
+ createElementVNode("div", {
26619
+ class: normalizeClass(formType.value === "register" ? "login-modal-content-left-register-logo" : "flex flex-col items-center")
26620
+ }, [
26370
26621
  createElementVNode("img", {
26371
- src: miniProgramInfo.value.qrcode,
26372
- alt: "小程序二维码",
26373
- class: "w-[158px] h-[158px]"
26374
- }, null, 8, _hoisted_7),
26375
- miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_8, [
26376
- miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", _hoisted_9, [
26377
- createVNode(GIcon, {
26378
- name: "gt-line-Refresh",
26379
- size: "18"
26380
- }),
26381
- createElementVNode("div", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
26382
- createElementVNode("button", { onClick: getMiniProgramQrCode }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
26383
- ])) : createCommentVNode("", true),
26384
- ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_10, [
26385
- createElementVNode("div", _hoisted_11, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
26386
- createElementVNode("div", _hoisted_12, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
26387
- ])) : createCommentVNode("", true)
26388
- ])) : createCommentVNode("", true),
26389
- !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_13, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
26390
- key: 2,
26391
- onClick: getMiniProgramQrCode,
26392
- class: "mt-2"
26393
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip06")), 1))
26394
- ])
26395
- ]),
26396
- _: 1
26397
- }, 8, ["loading"])) : (openBlock(), createBlock(unref(_sfc_main$a), {
26398
- key: formType.value,
26399
- DataList: FormConfig.value.dict,
26400
- "show-label": FormConfig.value.showLabel,
26401
- ref_key: "FormRef",
26402
- ref: FormRef,
26403
- onCountDown: handleCountDown,
26404
- onChange: handleFormChange,
26405
- onComplete: handleFormInput,
26406
- layout: FormConfig.value.layout,
26407
- size: "lg",
26408
- "label-size": "md",
26409
- "message-type": "none",
26410
- "hide-required-mark": "",
26411
- onKeypress: withKeys(handleConfirm, ["enter"]),
26412
- class: normalizeClass(formType.value === "register" ? "mt-[20px] login-form-register-cell" : "login-form-common-cell"),
26413
- errors: { msgError: msgError.value },
26414
- "is-forget": formType.value === "forget"
26415
- }, {
26416
- submit: withCtx(() => [
26417
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_14, [
26418
- createElementVNode("div", _hoisted_15, [
26419
- createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
26420
- errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26421
- createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
26422
- createElementVNode("span", {
26423
- onClick: _cache[3] || (_cache[3] = ($event) => handleTabPanelChange("verifyCode")),
26424
- class: "login-modal-info-left__link"
26425
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
26426
- ], 64)) : createCommentVNode("", true)
26427
- ]),
26428
- withDirectives(createElementVNode("div", {
26429
- class: "login-modal-info-right",
26430
- onClick: _cache[4] || (_cache[4] = withModifiers(($event) => formType.value = "forget", ["stop"]))
26431
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
26432
- [vShow, tabPanel.value === "password" && formType.value === "login"]
26433
- ])
26434
- ])) : createCommentVNode("", true),
26435
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_16, [
26436
- createVNode(unref(Button), {
26437
- color: "primary",
26438
- variant: "solid",
26439
- size: "lg",
26440
- onClick: handleConfirm,
26441
- loading: loading.value,
26442
- disabled: disabled.value,
26443
- class: "login-modal-button"
26622
+ src: logoType[unref(currentTheme)],
26623
+ alt: "gitcode-logo",
26624
+ class: "w-[130px] h-[30px]"
26625
+ }, null, 8, _hoisted_4),
26626
+ createElementVNode("div", _hoisted_5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.desc")), 1)
26627
+ ], 2),
26628
+ createElementVNode("div", {
26629
+ class: normalizeClass(["login-modal-left-bg", "login-modal-left-bg-" + unref(currentTheme)])
26630
+ }, [
26631
+ formType.value === "login" ? (openBlock(), createBlock(DataPanel, {
26632
+ key: 0,
26633
+ loading: miniProgramLoading.value,
26634
+ empty: false,
26635
+ card: false,
26636
+ class: "mini-program-qrcode",
26637
+ border: false,
26638
+ animation: true
26444
26639
  }, {
26445
26640
  default: withCtx(() => [
26446
- createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.login")), 1)
26641
+ createElementVNode("div", _hoisted_6, [
26642
+ createElementVNode("img", {
26643
+ src: miniProgramInfo.value.qrcode,
26644
+ alt: "小程序二维码",
26645
+ class: "w-[180px] h-[180px]"
26646
+ }, null, 8, _hoisted_7),
26647
+ miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_8, [
26648
+ miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", _hoisted_9, [
26649
+ createVNode(GIcon, {
26650
+ name: "gt-line-update",
26651
+ size: "18",
26652
+ color: "#3B3E55"
26653
+ }),
26654
+ createElementVNode("div", _hoisted_10, [
26655
+ createElementVNode("div", _hoisted_11, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
26656
+ createElementVNode("button", {
26657
+ class: "text-[var(--theme-link)]",
26658
+ onClick: getMiniProgramQrCode
26659
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
26660
+ ])
26661
+ ])) : createCommentVNode("", true),
26662
+ ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_12, [
26663
+ createElementVNode("div", _hoisted_13, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
26664
+ createElementVNode("div", _hoisted_14, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
26665
+ ])) : createCommentVNode("", true)
26666
+ ])) : createCommentVNode("", true),
26667
+ !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_15, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
26668
+ key: 2,
26669
+ onClick: getMiniProgramQrCode,
26670
+ class: "mt-2"
26671
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip06")), 1))
26672
+ ])
26447
26673
  ]),
26448
26674
  _: 1
26449
- }, 8, ["loading", "disabled"]),
26450
- createElementVNode("div", _hoisted_17, [
26451
- _ctx.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
26452
- key: 0,
26453
- class: "text-[var(--theme-link)] text-center mt-[12px] cursor-pointer leading-[32px] openharmony-btn",
26454
- onClick: withModifiers(handleRegisterHarmony, ["stop"])
26675
+ }, 8, ["loading"])) : formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_16, [
26676
+ createElementVNode("div", _hoisted_17, toDisplayString$1((_a = todayTechHistory.value) == null ? void 0 : _a.title), 1),
26677
+ createElementVNode("div", _hoisted_18, toDisplayString$1((_b = todayTechHistory.value) == null ? void 0 : _b.content), 1)
26678
+ ])) : createCommentVNode("", true)
26679
+ ], 2)
26680
+ ], 2)) : createCommentVNode("", true),
26681
+ createElementVNode("div", {
26682
+ class: normalizeClass(formType.value === "forget" ? "w-[512px]" : "w-[370px]")
26683
+ }, [
26684
+ formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_19, [
26685
+ createElementVNode("div", _hoisted_20, [
26686
+ createElementVNode("div", {
26687
+ class: normalizeClass([
26688
+ "login-modal-tab",
26689
+ tabPanel.value === "verifyCode" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26690
+ ]),
26691
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleTabPanelChange("verifyCode"), ["stop"]))
26455
26692
  }, [
26456
- _cache[16] || (_cache[16] = createElementVNode("img", {
26457
- src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
26458
- alt: "",
26459
- class: "mr-[16px] inline-block"
26460
- }, null, -1)),
26461
- createElementVNode("span", _hoisted_18, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
26462
- ])) : createCommentVNode("", true),
26693
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.sms")) + " ", 1),
26694
+ recentLoginType.value === unref(LoginMethodEnum).PHONE ? (openBlock(), createElementBlock("img", {
26695
+ key: 0,
26696
+ src: unref(recentLoginImg),
26697
+ class: "w-[38px] h-[20px] last-login-img"
26698
+ }, null, 8, _hoisted_21)) : createCommentVNode("", true)
26699
+ ], 2),
26463
26700
  createElementVNode("div", {
26464
- class: "text-[var(--theme-link)] text-center mt-[12px] cursor-pointer leading-[32px] hover:underline",
26465
- onClick: withModifiers(clickRegister, ["stop"])
26701
+ class: normalizeClass([
26702
+ "login-modal-tab ml-[24px]",
26703
+ tabPanel.value === "password" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26704
+ ]),
26705
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleTabPanelChange("password"), ["stop"]))
26706
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.password")), 3)
26707
+ ]),
26708
+ createElementVNode("div", _hoisted_22, [
26709
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.noAccount")) + " ", 1),
26710
+ createElementVNode("span", {
26711
+ onClick: clickRegister,
26712
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
26466
26713
  }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.registerAgain")), 1)
26467
26714
  ])
26468
- ])) : createCommentVNode("", true)
26469
- ]),
26470
- _: 1
26471
- }, 8, ["DataList", "show-label", "layout", "class", "errors", "is-forget"]))
26472
- ], 64))
26473
- ]),
26715
+ ])) : createCommentVNode("", true),
26716
+ formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_23, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.bindMobileWithAccount")) + "/" + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.resetYourPassword")), 1)) : createCommentVNode("", true),
26717
+ formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_24, [
26718
+ createElementVNode("div", _hoisted_25, [
26719
+ createElementVNode("div", _hoisted_26, "🎉 " + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.title.register")), 1),
26720
+ createElementVNode("div", _hoisted_27, [
26721
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.haveAccount")) + " ", 1),
26722
+ createElementVNode("span", {
26723
+ onClick: handleTitleBackClick,
26724
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
26725
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.backLogin")), 1)
26726
+ ])
26727
+ ]),
26728
+ createElementVNode("div", _hoisted_28, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.registerDesc")), 1)
26729
+ ])) : createCommentVNode("", true),
26730
+ (openBlock(), createBlock(unref(_sfc_main$a), {
26731
+ key: formType.value,
26732
+ DataList: FormConfig.value.dict,
26733
+ "show-label": FormConfig.value.showLabel,
26734
+ ref_key: "FormRef",
26735
+ ref: FormRef,
26736
+ onCountDown: handleCountDown,
26737
+ onChange: handleFormChange,
26738
+ onComplete: handleFormInput,
26739
+ layout: FormConfig.value.layout,
26740
+ size: "lg",
26741
+ "label-size": "md",
26742
+ "message-type": "none",
26743
+ "hide-required-mark": "",
26744
+ onKeypress: withKeys(handleConfirm, ["enter"]),
26745
+ class: normalizeClass(formType.value === "register" ? "mt-[20px] login-form-register-cell" : "login-form-common-cell"),
26746
+ errors: { msgError: msgError.value },
26747
+ formErrors,
26748
+ "is-forget": formType.value === "forget"
26749
+ }, {
26750
+ submit: withCtx(() => {
26751
+ var _a2;
26752
+ return [
26753
+ formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_29, [
26754
+ createElementVNode("div", _hoisted_30, [
26755
+ createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
26756
+ errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26757
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
26758
+ createElementVNode("span", {
26759
+ onClick: _cache[2] || (_cache[2] = ($event) => handleTabPanelChange("verifyCode")),
26760
+ class: "login-modal-info-left__link"
26761
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
26762
+ ], 64)) : createCommentVNode("", true)
26763
+ ]),
26764
+ withDirectives(createElementVNode("div", {
26765
+ class: "login-modal-info-right",
26766
+ onClick: _cache[3] || (_cache[3] = withModifiers(($event) => formType.value = "forget", ["stop"]))
26767
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
26768
+ [vShow, tabPanel.value === "password" && formType.value === "login"]
26769
+ ])
26770
+ ])) : createCommentVNode("", true),
26771
+ formType.value === "login" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
26772
+ createElementVNode("div", _hoisted_31, [
26773
+ createVNode(unref(Button), {
26774
+ color: "primary",
26775
+ variant: "solid",
26776
+ size: "lg",
26777
+ onClick: handleConfirm,
26778
+ loading: loading.value,
26779
+ disabled: disabled.value,
26780
+ class: "login-modal-button"
26781
+ }, {
26782
+ default: withCtx(() => [
26783
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.login")), 1)
26784
+ ]),
26785
+ _: 1
26786
+ }, 8, ["loading", "disabled"]),
26787
+ createElementVNode("div", {
26788
+ class: normalizeClass([["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""], "mt-[16px]"])
26789
+ }, [
26790
+ createElementVNode("div", _hoisted_32, [
26791
+ createVNode(_sfc_main$8, {
26792
+ modelValue: status.value,
26793
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => status.value = $event),
26794
+ onDeclares: _cache[5] || (_cache[5] = (typ) => handleDisplay(typ))
26795
+ }, null, 8, ["modelValue"])
26796
+ ])
26797
+ ], 2),
26798
+ createElementVNode("div", _hoisted_33, [
26799
+ _ctx.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
26800
+ key: 0,
26801
+ class: "text-[var(--theme-link)] flex items-center mt-[12px] cursor-pointer openharmony-btn",
26802
+ onClick: withModifiers(handleRegisterHarmony, ["stop"])
26803
+ }, [
26804
+ createElementVNode("div", _hoisted_34, [
26805
+ _cache[15] || (_cache[15] = createElementVNode("img", {
26806
+ src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
26807
+ alt: "",
26808
+ class: "w-[32px] h-[32px] inline-block harmony-icon-img"
26809
+ }, null, -1)),
26810
+ recentLoginType.value === unref(LoginMethodEnum).HARMONY ? (openBlock(), createElementBlock("img", {
26811
+ key: 0,
26812
+ src: unref(recentLoginImg),
26813
+ class: "w-[38px] h-[20px] last-login-img"
26814
+ }, null, 8, _hoisted_35)) : createCommentVNode("", true)
26815
+ ]),
26816
+ createElementVNode("span", _hoisted_36, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
26817
+ ])) : createCommentVNode("", true)
26818
+ ])
26819
+ ]),
26820
+ createElementVNode("div", _hoisted_37, [
26821
+ createVNode(GAuth, {
26822
+ logos,
26823
+ onAuth: pcAuthLogin,
26824
+ recentLoginType: recentLoginType.value,
26825
+ class: "flex-1"
26826
+ }, null, 8, ["logos", "recentLoginType"])
26827
+ ])
26828
+ ], 64)) : createCommentVNode("", true),
26829
+ formType.value === "register" ? (openBlock(), createElementBlock("div", {
26830
+ key: 2,
26831
+ class: normalizeClass(["register-agree", [AgreementWarn.value ? "shaking-box" : ""]])
26832
+ }, [
26833
+ createVNode(_sfc_main$7, {
26834
+ modelValue: hwStatus.value,
26835
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => hwStatus.value = $event),
26836
+ onDeclares: _cache[7] || (_cache[7] = (typ) => handleDisplay(typ, "huawei")),
26837
+ "agreement-text": `《${unref($t)("gitCodeLayout.LoginModal.link.huaweiCloudAgreement")}》`,
26838
+ "privacy-text": `《${unref($t)("gitCodeLayout.LoginModal.link.agreementPrivacy")}》`,
26839
+ onClick: _cache[8] || (_cache[8] = ($event) => agreementReport("signup_select", `hw${hwStatus.value ? 1 : 0}`))
26840
+ }, null, 8, ["modelValue", "agreement-text", "privacy-text"]),
26841
+ createVNode(_sfc_main$7, {
26842
+ modelValue: status.value,
26843
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => status.value = $event),
26844
+ onDeclares: _cache[10] || (_cache[10] = (typ) => handleDisplay(typ)),
26845
+ "agreement-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
26846
+ "privacy-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
26847
+ onClick: _cache[11] || (_cache[11] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
26848
+ }, null, 8, ["modelValue", "agreement-text", "privacy-text"])
26849
+ ], 2)) : createCommentVNode("", true),
26850
+ formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_38, [
26851
+ createElementVNode("div", {
26852
+ class: normalizeClass(["text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px]", formType.value === "register" && ((_a2 = formErrors == null ? void 0 : formErrors.username) == null ? void 0 : _a2.length) > 42 ? "cursor-pointer" : ""])
26853
+ }, [
26854
+ createElementVNode("span", _hoisted_39, toDisplayString$1(errorMsg.value), 1)
26855
+ ], 2),
26856
+ createElementVNode("div", _hoisted_40, [
26857
+ createVNode(unref(Button), {
26858
+ color: "primary",
26859
+ variant: "solid",
26860
+ size: "lg",
26861
+ onClick: handleConfirm,
26862
+ disabled: disabled.value,
26863
+ loading: loading.value,
26864
+ class: "w-[100%] mb-[18px]"
26865
+ }, {
26866
+ default: withCtx(() => [
26867
+ createTextVNode(toDisplayString$1(formType.value === "forget" ? unref($t)("gitCodeLayout.userSetting.account.changePassword") : unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
26868
+ ]),
26869
+ _: 1
26870
+ }, 8, ["disabled", "loading"])
26871
+ ])
26872
+ ])) : createCommentVNode("", true)
26873
+ ];
26874
+ }),
26875
+ _: 1
26876
+ }, 8, ["DataList", "show-label", "layout", "class", "errors", "formErrors", "is-forget"]))
26877
+ ], 2)
26878
+ ]))
26879
+ ];
26880
+ }),
26474
26881
  _: 2
26475
26882
  }, [
26476
26883
  !mfaCheck.value ? {
@@ -26480,10 +26887,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26480
26887
  createVNode(GTitle, {
26481
26888
  icon: unref(IconB),
26482
26889
  title: FormConfig.value.title,
26890
+ "show-title": FormConfig.value.showTitle,
26483
26891
  onBack: handleTitleBackClick,
26484
26892
  "show-back": FormConfig.value.showBack,
26485
26893
  class: "login-modal-title flex-1"
26486
- }, null, 8, ["icon", "title", "show-back"]),
26894
+ }, null, 8, ["icon", "title", "show-title", "show-back"]),
26487
26895
  createElementVNode("div", _hoisted_2, [
26488
26896
  _ctx.showClose && !showProtoCheck.value ? (openBlock(), createBlock(GIcon, {
26489
26897
  key: 0,
@@ -26492,86 +26900,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26492
26900
  size: "18"
26493
26901
  })) : createCommentVNode("", true)
26494
26902
  ])
26495
- ]),
26496
- formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.registerDesc")), 1)) : createCommentVNode("", true)
26903
+ ])
26497
26904
  ]),
26498
26905
  key: "0"
26499
- } : void 0,
26500
- !mfaCheck.value ? {
26501
- name: "footer",
26502
- fn: withCtx(() => {
26503
- var _a;
26504
- return [
26505
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_19, [
26506
- createVNode(GAuth, {
26507
- logos,
26508
- onAuth: pcAuthLogin
26509
- }, null, 8, ["logos"]),
26510
- createElementVNode("div", {
26511
- class: normalizeClass(["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""])
26512
- }, [
26513
- createElementVNode("div", _hoisted_20, [
26514
- createVNode(_sfc_main$8, {
26515
- modelValue: status.value,
26516
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => status.value = $event),
26517
- onDeclares: _cache[6] || (_cache[6] = (typ) => handleDisplay(typ))
26518
- }, null, 8, ["modelValue"])
26519
- ])
26520
- ], 2)
26521
- ])) : formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_21, [
26522
- createElementVNode("div", {
26523
- class: normalizeClass(["text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px]", formType.value === "register" && ((_a = formErrors == null ? void 0 : formErrors.username) == null ? void 0 : _a.length) > 42 ? "cursor-pointer" : ""])
26524
- }, [
26525
- createElementVNode("span", _hoisted_22, toDisplayString$1(errorMsg.value), 1)
26526
- ], 2),
26527
- formType.value === "register" ? (openBlock(), createElementBlock("div", {
26528
- key: 0,
26529
- class: normalizeClass(["register-agree", [AgreementWarn.value ? "shaking-box" : ""]])
26530
- }, [
26531
- createVNode(_sfc_main$7, {
26532
- modelValue: hwStatus.value,
26533
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => hwStatus.value = $event),
26534
- onDeclares: _cache[8] || (_cache[8] = (typ) => handleDisplay(typ, "huawei")),
26535
- "agreement-text": `《${unref($t)("gitCodeLayout.LoginModal.link.huaweiCloudAgreement")}》`,
26536
- "privacy-text": `《${unref($t)("gitCodeLayout.LoginModal.link.agreementPrivacy")}》`,
26537
- onClick: _cache[9] || (_cache[9] = ($event) => agreementReport("signup_select", `hw${hwStatus.value ? 1 : 0}`))
26538
- }, null, 8, ["modelValue", "agreement-text", "privacy-text"]),
26539
- createVNode(_sfc_main$7, {
26540
- modelValue: status.value,
26541
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => status.value = $event),
26542
- onDeclares: _cache[11] || (_cache[11] = (typ) => handleDisplay(typ)),
26543
- "agreement-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
26544
- "privacy-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
26545
- onClick: _cache[12] || (_cache[12] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
26546
- }, null, 8, ["modelValue", "agreement-text", "privacy-text"])
26547
- ], 2)) : createCommentVNode("", true),
26548
- createElementVNode("div", _hoisted_23, [
26549
- createVNode(unref(Button), {
26550
- color: "primary",
26551
- variant: "solid",
26552
- size: "lg",
26553
- onClick: handleConfirm,
26554
- disabled: disabled.value,
26555
- loading: loading.value,
26556
- class: "w-[100%]"
26557
- }, {
26558
- default: withCtx(() => [
26559
- createTextVNode(toDisplayString$1(formType.value === "forget" ? unref($t)("gitCodeLayout.userSetting.account.changePassword") : unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
26560
- ]),
26561
- _: 1
26562
- }, 8, ["disabled", "loading"])
26563
- ])
26564
- ])) : createCommentVNode("", true)
26565
- ];
26566
- }),
26567
- key: "1"
26568
26906
  } : void 0
26569
26907
  ]), 1032, ["modelValue", "lock-scroll", "draggable", "escapable", "append-to-body", "class"]),
26570
26908
  createVNode(_sfc_main$5, {
26571
26909
  visible: showProtoCheck.value,
26572
- "onUpdate:visible": _cache[14] || (_cache[14] = ($event) => showProtoCheck.value = $event),
26910
+ "onUpdate:visible": _cache[13] || (_cache[13] = ($event) => showProtoCheck.value = $event),
26573
26911
  onConfirm: agreeAndLogin,
26574
- onDeclares: _cache[15] || (_cache[15] = (typ) => handleDisplay(typ))
26912
+ onDeclares: _cache[14] || (_cache[14] = (typ) => handleDisplay(typ))
26575
26913
  }, null, 8, ["visible"])
26576
26914
  ], 64);
26577
26915
  };
@@ -26754,15 +27092,16 @@ const index = {
26754
27092
  }
26755
27093
  };
26756
27094
  export {
26757
- GitCodeHeader as A,
26758
- useLogin as B,
26759
- setLayoutConfig as C,
26760
- GitCodeLayoutEmitter as D,
27095
+ GitCodeAside as A,
27096
+ GitCodeHeader as B,
27097
+ useLogin as C,
27098
+ setLayoutConfig as D,
26761
27099
  EVENT_NAME as E,
26762
- currentTheme as F,
27100
+ GitCodeLayoutEmitter as F,
26763
27101
  GIcon as G,
26764
- setTheme as H,
26765
- index as I,
27102
+ currentTheme as H,
27103
+ setTheme as I,
27104
+ index as J,
26766
27105
  LANG_KEY as L,
26767
27106
  REPO_MODULE as R,
26768
27107
  SceneValue as S,
@@ -26789,9 +27128,9 @@ export {
26789
27128
  setLoginTriggerSource as s,
26790
27129
  transferNumber as t,
26791
27130
  useModel as u,
26792
- _frEventTrack as v,
26793
- useLayoutConfig as w,
26794
- ToolsFloat as x,
26795
- _sfc_main as y,
26796
- GitCodeAside as z
27131
+ vElementExposure as v,
27132
+ _frEventTrack as w,
27133
+ useLayoutConfig as x,
27134
+ ToolsFloat as y,
27135
+ _sfc_main as z
26797
27136
  };