vue-layout-gitcode 1.3.49 → 1.3.51

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.
@@ -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";
@@ -476,6 +478,7 @@ const OAUTH_CANCEL = "oauth_cancel";
476
478
  const OAUTH_LOGIN_TYPE_KEY = "oauthType";
477
479
  const REGISTER_SOURCE_TAB = "register_source_tab";
478
480
  const LOGIN_MODAL_TRIGGER_SOURCE = "login_trigger_source";
481
+ const REGISTER_CLICK_TO_LOGIN = "register_click_to_login";
479
482
  /*! @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 */
480
483
  const {
481
484
  entries,
@@ -7747,12 +7750,16 @@ const gitCodeLayout$1 = {
7747
7750
  phone: "手机号码",
7748
7751
  cipher: "密码",
7749
7752
  otherLogin: "其他登录方式",
7750
- useAgrAndPriPolTip: "用户协议与隐私政策提示"
7753
+ useAgrAndPriPolTip: "用户协议与隐私政策提示",
7754
+ desc: "代码有我,智能随行"
7751
7755
  },
7752
7756
  action: {
7753
7757
  oh: "鸿蒙开发者登录",
7754
7758
  login: "登 录",
7755
- registerAgain: "注册新账号",
7759
+ noAccount: "没有账号?",
7760
+ haveAccount: "已有账号?",
7761
+ registerAgain: "点击注册",
7762
+ backLogin: "返回登录",
7756
7763
  phone: "手机验证码",
7757
7764
  readAgree: "我已阅读并同意",
7758
7765
  verify: "确 认",
@@ -7797,7 +7804,7 @@ const gitCodeLayout$1 = {
7797
7804
  },
7798
7805
  registerDesc: "GitCode 与华为云共同为用户提供代码托管服务,在使用代码托管相关服务时,将同步授权并开通华为云服务,并与重庆开源共创科技有限公司(GitCode的运营主体)关联及共享。",
7799
7806
  rule: {
7800
- username: "只允许字母、数字或者下划线(_)、中划线(-),350个字符,必须以字母开头。",
7807
+ username: "以字母开头,3-50个字符,仅含字母、数字、下划线(_)或中划线(-)",
7801
7808
  pleaseFill: "请填写{label}",
7802
7809
  passwordLetter: "密码最少包含一个大写字母、一个小写字母、一个数字",
7803
7810
  passwordLength: "密码最少包含一个大写字母、一个小写字母、一个数字, 长度为8~30之间"
@@ -8031,12 +8038,16 @@ const gitCodeLayout = {
8031
8038
  phone: "Phone number",
8032
8039
  cipher: "Password",
8033
8040
  otherLogin: "Other login methods",
8034
- useAgrAndPriPolTip: "User Agreement and Privacy Policy Notice"
8041
+ useAgrAndPriPolTip: "User Agreement and Privacy Policy Notice",
8042
+ desc: "Code with me, intelligent companion"
8035
8043
  },
8036
8044
  action: {
8037
8045
  oh: "OpenHarmony Developers",
8038
8046
  login: "Log In",
8047
+ noAccount: "No account?",
8048
+ haveAccount: "Have an account?",
8039
8049
  registerAgain: "Sign up",
8050
+ backLogin: "Log in",
8040
8051
  phone: "SMS code",
8041
8052
  readAgree: "I have read and agree to",
8042
8053
  verify: "Confirm",
@@ -8081,7 +8092,7 @@ const gitCodeLayout = {
8081
8092
  },
8082
8093
  registerDesc: "GitCode and Huawei Cloud jointly provide code hosting services for users. When using code hosting services, you will synchronize authorization and activate Huawei Cloud services, and share information with Chongqing Open Source Co-Creation Technology Co., Ltd. (the operator of GitCode).",
8083
8094
  rule: {
8084
- username: "Only letters, numbers, underscores (_), hyphens (-) are allowed, 3 to 20 characters, must start with a letter.",
8095
+ username: "Only letters, numbers, underscores (_), hyphens (-) are allowed, 3 to 50 characters, must start with a letter.",
8085
8096
  pleaseFill: "Please fill in {label}",
8086
8097
  passwordLetter: "Password must contain at least one uppercase letter, one lowercase letter, and one number",
8087
8098
  passwordLength: "Password must contain at least one uppercase letter, one lowercase letter, and one number, length 8-30 characters"
@@ -10910,13 +10921,13 @@ const proxyService = (params, customConfigs) => {
10910
10921
  };
10911
10922
  const _hoisted_1$v = { class: "home-nav-right" };
10912
10923
  const _hoisted_2$l = { class: "home-nav-item" };
10913
- const _hoisted_3$i = {
10924
+ const _hoisted_3$j = {
10914
10925
  key: 0,
10915
10926
  class: "tooltip-sign"
10916
10927
  };
10917
- const _hoisted_4$e = { class: "home-nav-tooltip-wrapper" };
10918
- const _hoisted_5$a = { class: "home-nav-text" };
10919
- const _hoisted_6$7 = {
10928
+ const _hoisted_4$g = { class: "home-nav-tooltip-wrapper" };
10929
+ const _hoisted_5$c = { class: "home-nav-text" };
10930
+ const _hoisted_6$8 = {
10920
10931
  key: 1,
10921
10932
  class: "tools-list"
10922
10933
  };
@@ -10952,16 +10963,16 @@ const _hoisted_23$3 = {
10952
10963
  key: 0,
10953
10964
  class: "absolute top-0 right-0 text-[var(--theme-aide-text)]"
10954
10965
  };
10955
- const _hoisted_24 = { class: "font-[600] text-[var(--theme-aide-text)] mt-3 text-sm leading-[20px]" };
10956
- const _hoisted_25 = { class: "mt-3" };
10957
- const _hoisted_26 = {
10966
+ const _hoisted_24$1 = { class: "font-[600] text-[var(--theme-aide-text)] mt-3 text-sm leading-[20px]" };
10967
+ const _hoisted_25$1 = { class: "mt-3" };
10968
+ const _hoisted_26$1 = {
10958
10969
  key: 1,
10959
10970
  class: "finish flex items-center"
10960
10971
  };
10961
- const _hoisted_27 = { class: "flex justify-center items-center w-[30px] h-[30px] rounded-[50%] bg-[#0EB07B]" };
10962
- const _hoisted_28 = { class: "ml-2 font-[600] text-[var(--theme-aide-text)] text-sm leading-[20px]" };
10963
- const _hoisted_29 = { class: "home-nav-item" };
10964
- const _hoisted_30 = ["src", "alt"];
10972
+ const _hoisted_27$1 = { class: "flex justify-center items-center w-[30px] h-[30px] rounded-[50%] bg-[#0EB07B]" };
10973
+ const _hoisted_28$1 = { class: "ml-2 font-[600] text-[var(--theme-aide-text)] text-sm leading-[20px]" };
10974
+ const _hoisted_29$1 = { class: "home-nav-item" };
10975
+ const _hoisted_30$1 = ["src", "alt"];
10965
10976
  const _sfc_main$B = /* @__PURE__ */ defineComponent({
10966
10977
  __name: "index",
10967
10978
  props: {
@@ -11130,8 +11141,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11130
11141
  "overlay-class": "tools-tag-tooltip"
11131
11142
  }, {
11132
11143
  content: withCtx(() => [
11133
- createElementVNode("div", _hoisted_4$e, [
11134
- createElementVNode("div", _hoisted_5$a, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11144
+ createElementVNode("div", _hoisted_4$g, [
11145
+ createElementVNode("div", _hoisted_5$c, toDisplayString$1(unref(t2)("gitCodeLayout.userSetting.menu.growthCenter")), 1)
11135
11146
  ])
11136
11147
  ]),
11137
11148
  default: withCtx(() => [
@@ -11145,13 +11156,13 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11145
11156
  src: "https://cdn-static.gitcode.com/static/images/homeweb/czzx.svg",
11146
11157
  alt: ""
11147
11158
  }, null, -1)),
11148
- !_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)
11159
+ !_ctx.isLogin || !isSignIn.value ? (openBlock(), createElementBlock("div", _hoisted_3$j, toDisplayString$1(!_ctx.isLogin ? unref(t2)("gitCodeLayout.growthCenter.receive") : unref(t2)("gitCodeLayout.growthCenter.signIn")), 1)) : createCommentVNode("", true)
11149
11160
  ])
11150
11161
  ])
11151
11162
  ]),
11152
11163
  _: 1
11153
11164
  })) : createCommentVNode("", true),
11154
- isModuleVisible(unref(ToolsFloatDisplayItem).ELSE) ? (openBlock(), createElementBlock("div", _hoisted_6$7, [
11165
+ isModuleVisible(unref(ToolsFloatDisplayItem).ELSE) ? (openBlock(), createElementBlock("div", _hoisted_6$8, [
11155
11166
  createVNode(unref(Tooltip), {
11156
11167
  position: "left",
11157
11168
  "overlay-class": "tools-tag-tooltip"
@@ -11268,10 +11279,10 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11268
11279
  rateNow.value !== null ? (openBlock(), createElementBlock("div", _hoisted_23$3, [
11269
11280
  createElementVNode("span", null, toDisplayString$1(rateIcon[rateNow.value].title), 1)
11270
11281
  ])) : createCommentVNode("", true),
11271
- createElementVNode("div", _hoisted_24, [
11282
+ createElementVNode("div", _hoisted_24$1, [
11272
11283
  createElementVNode("span", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.improveQuestion")) + "?", 1)
11273
11284
  ]),
11274
- createElementVNode("div", _hoisted_25, [
11285
+ createElementVNode("div", _hoisted_25$1, [
11275
11286
  createVNode(unref(Textarea), {
11276
11287
  modelValue: opinionText.value,
11277
11288
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => opinionText.value = $event),
@@ -11295,15 +11306,15 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11295
11306
  ])
11296
11307
  ])) : createCommentVNode("", true)
11297
11308
  ])
11298
- ])) : (openBlock(), createElementBlock("div", _hoisted_26, [
11299
- createElementVNode("div", _hoisted_27, [
11309
+ ])) : (openBlock(), createElementBlock("div", _hoisted_26$1, [
11310
+ createElementVNode("div", _hoisted_27$1, [
11300
11311
  createVNode(GIcon, {
11301
11312
  name: "gt-success",
11302
11313
  size: "14px",
11303
11314
  color: "#fff"
11304
11315
  })
11305
11316
  ]),
11306
- createElementVNode("div", _hoisted_28, [
11317
+ createElementVNode("div", _hoisted_28$1, [
11307
11318
  createElementVNode("span", null, toDisplayString$1(unref(t2)("gitCodeLayout.home.thankFaceback")) + "!", 1)
11308
11319
  ])
11309
11320
  ]))
@@ -11348,7 +11359,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11348
11359
  onClick: _cache[2] || (_cache[2] = //@ts-ignore
11349
11360
  (...args) => unref(scrollToTop) && unref(scrollToTop)(...args))
11350
11361
  }, [
11351
- createElementVNode("div", _hoisted_29, [
11362
+ createElementVNode("div", _hoisted_29$1, [
11352
11363
  createVNode(GIcon, {
11353
11364
  name: "gt-plane-Topping1",
11354
11365
  size: "20px"
@@ -11371,7 +11382,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11371
11382
  width: "200",
11372
11383
  src: activeAdItem.value.imgUrl,
11373
11384
  alt: activeAdItem.value.title
11374
- }, null, 8, _hoisted_30)
11385
+ }, null, 8, _hoisted_30$1)
11375
11386
  ])) : createCommentVNode("", true)
11376
11387
  ]);
11377
11388
  };
@@ -14449,6 +14460,13 @@ function headRequest(request) {
14449
14460
  url: `/aihub/api/v1/theme/label/config/list`,
14450
14461
  method: "get"
14451
14462
  }));
14463
+ },
14464
+ // 获取今日技术历史
14465
+ getTodayTechHistory() {
14466
+ return reqCatch(() => request({
14467
+ url: `/uc/api/v1/operation/tech-history`,
14468
+ method: "get"
14469
+ }));
14452
14470
  }
14453
14471
  };
14454
14472
  }
@@ -14473,7 +14491,7 @@ const _hoisted_1$t = {
14473
14491
  class: "ai-home-mb-menu-wrap md:!hidden"
14474
14492
  };
14475
14493
  const _hoisted_2$k = { class: "right-content cursor-pointer" };
14476
- const _hoisted_3$h = { class: "list-menu-ai-home" };
14494
+ const _hoisted_3$i = { class: "list-menu-ai-home" };
14477
14495
  const _sfc_main$y = /* @__PURE__ */ defineComponent({
14478
14496
  __name: "AiHubMenusMobile",
14479
14497
  props: ["activeMenu", "menuList", "isRouterLink"],
@@ -14499,7 +14517,7 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
14499
14517
  class: normalizeClass(["menu-bg", { "menu-bg-white": !isHome.value }])
14500
14518
  }, {
14501
14519
  menu: withCtx(() => [
14502
- createElementVNode("ul", _hoisted_3$h, [
14520
+ createElementVNode("ul", _hoisted_3$i, [
14503
14521
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.menuList, (item) => {
14504
14522
  var _a;
14505
14523
  return openBlock(), createElementBlock("li", {
@@ -14550,9 +14568,9 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
14550
14568
  const AiHubMenusMobile = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-gitcode-layout-lib"]]);
14551
14569
  const _hoisted_1$s = { class: "ai-hub-menus-item_label" };
14552
14570
  const _hoisted_2$j = ["onMouseenter"];
14553
- const _hoisted_3$g = { class: "ai-hub-menus-themetablist" };
14554
- const _hoisted_4$d = { class: "flex items-center gap-[8px] font-semibold" };
14555
- const _hoisted_5$9 = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14571
+ const _hoisted_3$h = { class: "ai-hub-menus-themetablist" };
14572
+ const _hoisted_4$f = { class: "flex items-center gap-[8px] font-semibold" };
14573
+ const _hoisted_5$b = { class: "w-[32px] h-[32px] flex items-center justify-center" };
14556
14574
  const _sfc_main$x = /* @__PURE__ */ defineComponent({
14557
14575
  __name: "AiHubMenus",
14558
14576
  props: ["scene"],
@@ -14687,7 +14705,7 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14687
14705
  position: ["top-start"]
14688
14706
  }, {
14689
14707
  menu: withCtx(() => [
14690
- createElementVNode("ul", _hoisted_3$g, [
14708
+ createElementVNode("ul", _hoisted_3$h, [
14691
14709
  (openBlock(true), createElementBlock(Fragment, null, renderList(themeTablist.value, (item, index22) => {
14692
14710
  return openBlock(), createBlock(GLink, {
14693
14711
  key: index22,
@@ -14745,14 +14763,14 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
14745
14763
  href: activeMenu.value.url
14746
14764
  }, {
14747
14765
  default: withCtx(() => [
14748
- createElementVNode("span", _hoisted_4$d, [
14766
+ createElementVNode("span", _hoisted_4$f, [
14749
14767
  createVNode(GIcon, {
14750
14768
  size: "24px",
14751
14769
  name: activeMenu.value.icon
14752
14770
  }, null, 8, ["name"]),
14753
14771
  createTextVNode(" " + toDisplayString$1(activeMenu.value.label), 1)
14754
14772
  ]),
14755
- createElementVNode("div", _hoisted_5$9, [
14773
+ createElementVNode("div", _hoisted_5$b, [
14756
14774
  createVNode(GIcon, {
14757
14775
  size: "18px",
14758
14776
  name: "gt-line-down",
@@ -16586,10 +16604,10 @@ const _hoisted_2$i = {
16586
16604
  key: 1,
16587
16605
  class: "org-layout-toolbar"
16588
16606
  };
16589
- const _hoisted_3$f = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16590
- const _hoisted_4$c = { class: "text-xs" };
16591
- const _hoisted_5$8 = { class: "flex items-center w-full" };
16592
- const _hoisted_6$6 = {
16607
+ const _hoisted_3$g = { class: "org-layout-toolbar-title flex-1 ellipsis-two-line" };
16608
+ const _hoisted_4$e = { class: "text-xs" };
16609
+ const _hoisted_5$a = { class: "flex items-center w-full" };
16610
+ const _hoisted_6$7 = {
16593
16611
  key: 1,
16594
16612
  class: "flex items-center min-w-[30px]"
16595
16613
  };
@@ -16769,7 +16787,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16769
16787
  height: 28,
16770
16788
  is_round: false
16771
16789
  }, null, 8, ["src", "name"]),
16772
- createElementVNode("div", _hoisted_3$f, toDisplayString$1((_c = unref(orgInfo)) == null ? void 0 : _c.name), 1)
16790
+ createElementVNode("div", _hoisted_3$g, toDisplayString$1((_c = unref(orgInfo)) == null ? void 0 : _c.name), 1)
16773
16791
  ];
16774
16792
  }),
16775
16793
  _: 1
@@ -16784,7 +16802,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16784
16802
  default: withCtx(() => {
16785
16803
  var _a2;
16786
16804
  return [
16787
- 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)
16805
+ 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)
16788
16806
  ];
16789
16807
  }),
16790
16808
  _: 1
@@ -16806,7 +16824,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16806
16824
  default: withCtx(() => {
16807
16825
  var _a2, _b2, _c, _d, _e, _f, _g;
16808
16826
  return [
16809
- createElementVNode("h2", _hoisted_5$8, [
16827
+ createElementVNode("h2", _hoisted_5$a, [
16810
16828
  createVNode(GLink, {
16811
16829
  href: (_a2 = unref(breadcrumb)[0]) == null ? void 0 : _a2.path,
16812
16830
  class: "pr-[12px]"
@@ -16822,7 +16840,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
16822
16840
  width: 28,
16823
16841
  height: 28,
16824
16842
  is_round: !isOrg.value
16825
- }, null, 8, ["class", "src", "name", "is_round"])) : (openBlock(), createElementBlock("div", _hoisted_6$6, [
16843
+ }, null, 8, ["class", "src", "name", "is_round"])) : (openBlock(), createElementBlock("div", _hoisted_6$7, [
16826
16844
  unref(isPhone)() ? (openBlock(), createElementBlock("img", _hoisted_7$5)) : (openBlock(), createElementBlock("img", _hoisted_8$5))
16827
16845
  ]))
16828
16846
  ];
@@ -17023,6 +17041,21 @@ var AuthTypeEnum = /* @__PURE__ */ ((AuthTypeEnum2) => {
17023
17041
  AuthTypeEnum2["PHONE_AND_PASSWORD"] = "phoneAndPassword";
17024
17042
  return AuthTypeEnum2;
17025
17043
  })(AuthTypeEnum || {});
17044
+ var LoginMethodEnum = /* @__PURE__ */ ((LoginMethodEnum2) => {
17045
+ LoginMethodEnum2["PHONE"] = "phone";
17046
+ LoginMethodEnum2["PASSWORD"] = "password";
17047
+ LoginMethodEnum2["MINI_PROGRAM"] = "miniProgram";
17048
+ LoginMethodEnum2["HARMONY"] = "harmony";
17049
+ LoginMethodEnum2["CSDN"] = "csdn";
17050
+ LoginMethodEnum2["ATOMGIT"] = "atomgit";
17051
+ LoginMethodEnum2["GITEE"] = "gitee";
17052
+ LoginMethodEnum2["GITHUB"] = "github";
17053
+ LoginMethodEnum2["WECHAT_OPEN"] = "wechat_open";
17054
+ LoginMethodEnum2["WECHAT_MP"] = "wechat_mp";
17055
+ LoginMethodEnum2["H_BUILDER"] = "hbuilder";
17056
+ LoginMethodEnum2["H_BUILDER_PLUGIN"] = "hbuilder_plugins";
17057
+ return LoginMethodEnum2;
17058
+ })(LoginMethodEnum || {});
17026
17059
  var AuthResType = /* @__PURE__ */ ((AuthResType2) => {
17027
17060
  AuthResType2["SUCCESS"] = "success";
17028
17061
  AuthResType2["FAIL"] = "fail";
@@ -17507,10 +17540,10 @@ const _hoisted_1$n = {
17507
17540
  class: "user-level-avatar-badge"
17508
17541
  };
17509
17542
  const _hoisted_2$h = { class: "flex items-center font-medium gap-[4px]" };
17510
- const _hoisted_3$e = ["src"];
17511
- const _hoisted_4$b = { class: "level-name" };
17512
- const _hoisted_5$7 = { class: "level-icon" };
17513
- const _hoisted_6$5 = ["src"];
17543
+ const _hoisted_3$f = ["src"];
17544
+ const _hoisted_4$d = { class: "level-name" };
17545
+ const _hoisted_5$9 = { class: "level-icon" };
17546
+ const _hoisted_6$6 = ["src"];
17514
17547
  const _hoisted_7$4 = { class: "custom-btn" };
17515
17548
  const _hoisted_8$4 = { class: "flex items-center justify-center" };
17516
17549
  const maxLevel = 3;
@@ -17566,14 +17599,14 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17566
17599
  class: "level-avatar",
17567
17600
  src: levelInfo.value.avatar,
17568
17601
  alt: ""
17569
- }, null, 8, _hoisted_3$e),
17570
- createElementVNode("div", _hoisted_4$b, [
17602
+ }, null, 8, _hoisted_3$f),
17603
+ createElementVNode("div", _hoisted_4$d, [
17571
17604
  createElementVNode("div", null, toDisplayString$1(levelInfo.value.name), 1),
17572
- createElementVNode("div", _hoisted_5$7, [
17605
+ createElementVNode("div", _hoisted_5$9, [
17573
17606
  createElementVNode("img", {
17574
17607
  src: levelInfo.value.level,
17575
17608
  alt: ""
17576
- }, null, 8, _hoisted_6$5)
17609
+ }, null, 8, _hoisted_6$6)
17577
17610
  ])
17578
17611
  ])
17579
17612
  ]),
@@ -17587,8 +17620,8 @@ const _sfc_main$p = /* @__PURE__ */ defineComponent({
17587
17620
  const UserLevel = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-gitcode-layout-lib"]]);
17588
17621
  const _hoisted_1$m = { class: "g-user-drawer-info-list pl-[16px]" };
17589
17622
  const _hoisted_2$g = { class: "max-w-[200px]" };
17590
- const _hoisted_3$d = ["title"];
17591
- const _hoisted_4$a = ["title"];
17623
+ const _hoisted_3$e = ["title"];
17624
+ const _hoisted_4$c = ["title"];
17592
17625
  const _sfc_main$o = /* @__PURE__ */ defineComponent({
17593
17626
  __name: "UserAvatarMenu",
17594
17627
  props: ["isChatBot", "accountInfo", "loginOutFinish", "inAIHub", "independence", "userMenus"],
@@ -17756,11 +17789,11 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17756
17789
  createElementVNode("p", {
17757
17790
  class: "g-user-drawer-info-list-name ellipsis",
17758
17791
  title: __props.accountInfo.nickname
17759
- }, toDisplayString$1(__props.accountInfo.nickname), 9, _hoisted_3$d),
17792
+ }, toDisplayString$1(__props.accountInfo.nickname), 9, _hoisted_3$e),
17760
17793
  createElementVNode("p", {
17761
17794
  class: "g-user-drawer-info-list-id ellipsis",
17762
17795
  title: __props.accountInfo.username
17763
- }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$a)
17796
+ }, "@" + toDisplayString$1(__props.accountInfo.username), 9, _hoisted_4$c)
17764
17797
  ]),
17765
17798
  createVNode(GIcon, {
17766
17799
  name: "gt-line-right",
@@ -17806,13 +17839,13 @@ const _hoisted_2$f = {
17806
17839
  key: 0,
17807
17840
  class: "g-user-avatar__badge"
17808
17841
  };
17809
- const _hoisted_3$c = { class: "g-user-avatar flex-center ml-1" };
17810
- const _hoisted_4$9 = {
17842
+ const _hoisted_3$d = { class: "g-user-avatar flex-center ml-1" };
17843
+ const _hoisted_4$b = {
17811
17844
  key: 0,
17812
17845
  class: "g-user-avatar__badge"
17813
17846
  };
17814
- const _hoisted_5$6 = { class: "g-user-drawer" };
17815
- const _hoisted_6$4 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17847
+ const _hoisted_5$8 = { class: "g-user-drawer" };
17848
+ const _hoisted_6$5 = { class: "p-[16px] pt-[8px] pb-0 flex justify-end items-center h-[48px]" };
17816
17849
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
17817
17850
  ...{
17818
17851
  name: "UserAvatar"
@@ -17917,7 +17950,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17917
17950
  onToggle: handleToggle
17918
17951
  }, {
17919
17952
  menu: withCtx(() => [
17920
- createElementVNode("div", _hoisted_5$6, [
17953
+ createElementVNode("div", _hoisted_5$8, [
17921
17954
  createVNode(UserAvatarMenu, {
17922
17955
  independence: __props.independence,
17923
17956
  loginOutFinish: __props.loginOutFinish,
@@ -17929,12 +17962,12 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17929
17962
  ])
17930
17963
  ]),
17931
17964
  default: withCtx(() => [
17932
- createElementVNode("div", _hoisted_3$c, [
17965
+ createElementVNode("div", _hoisted_3$d, [
17933
17966
  createVNode(_sfc_main$z, {
17934
17967
  name: accountInfo.value.nickname,
17935
17968
  src: accountInfo.value.avatar
17936
17969
  }, null, 8, ["name", "src"]),
17937
- accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$9, _cache[5] || (_cache[5] = [
17970
+ accountInfo.value.need_tips && !haveVisited.value ? (openBlock(), createElementBlock("div", _hoisted_4$b, _cache[5] || (_cache[5] = [
17938
17971
  createElementVNode("div", null, null, -1)
17939
17972
  ]))) : createCommentVNode("", true)
17940
17973
  ])
@@ -17950,7 +17983,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17950
17983
  }, {
17951
17984
  default: withCtx(() => [
17952
17985
  createElementVNode("div", null, [
17953
- createElementVNode("div", _hoisted_6$4, [
17986
+ createElementVNode("div", _hoisted_6$5, [
17954
17987
  createVNode(unref(Button), {
17955
17988
  class: "cursor-pointer draw-side-bar-close",
17956
17989
  icon: "close",
@@ -18065,9 +18098,9 @@ const setlocalVistHistory = (data, localType) => {
18065
18098
  };
18066
18099
  const _hoisted_1$k = { class: "g-header-search-prefix" };
18067
18100
  const _hoisted_2$e = { class: "g-header-search-suffix-splitline" };
18068
- const _hoisted_3$b = { class: "g-header-search-suffix-suffixIcon" };
18069
- const _hoisted_4$8 = { class: "history-list" };
18070
- const _hoisted_5$5 = {
18101
+ const _hoisted_3$c = { class: "g-header-search-suffix-suffixIcon" };
18102
+ const _hoisted_4$a = { class: "history-list" };
18103
+ const _hoisted_5$7 = {
18071
18104
  key: 1,
18072
18105
  class: "aireposearch flex-1"
18073
18106
  };
@@ -18082,13 +18115,13 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18082
18115
  var _a;
18083
18116
  const layoutConfig2 = useLayoutConfig();
18084
18117
  const { t: $t } = i18n.global;
18085
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-DB6xcwoP.js"));
18086
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-B1gIwefy.js"));
18087
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-xBXYbxaF.js"));
18088
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-U44SUR3B.js"));
18089
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-BqqLDz9Y.js"));
18090
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-BBrYPCOn.js"));
18091
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-DPquXtCK.js"));
18118
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-DKm29IN0.js"));
18119
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-C6tK2jK5.js"));
18120
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-CrEZC6wl.js"));
18121
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-ea4q1vjY.js"));
18122
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-BNf3P3Ld.js"));
18123
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-C5wNKs_U.js"));
18124
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-CpIKqAnL.js"));
18092
18125
  const props = __props;
18093
18126
  const repoInfo = inject("repoInfo");
18094
18127
  const orgInfo = inject("orgInfo");
@@ -18541,7 +18574,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18541
18574
  }, {
18542
18575
  menu: withCtx(() => [
18543
18576
  createElementVNode("div", null, [
18544
- withDirectives(createElementVNode("div", _hoisted_4$8, [
18577
+ withDirectives(createElementVNode("div", _hoisted_4$a, [
18545
18578
  createVNode(unref(SearchScopeList), {
18546
18579
  searchScopeList: searchScopeList.value,
18547
18580
  searchStr: searchStr.value,
@@ -18659,7 +18692,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18659
18692
  withDirectives(createElementVNode("span", _hoisted_2$e, "|", 512), [
18660
18693
  [vShow, searchStr.value]
18661
18694
  ]),
18662
- createElementVNode("div", _hoisted_3$b, [
18695
+ createElementVNode("div", _hoisted_3$c, [
18663
18696
  createVNode(GIcon, {
18664
18697
  name: "search",
18665
18698
  class: "g-header-search-icon",
@@ -18677,7 +18710,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18677
18710
  _: 1
18678
18711
  }, 8, ["overlay-class", "visible"])
18679
18712
  ], 2)) : createCommentVNode("", true),
18680
- _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$5, [
18713
+ _ctx.inAIHub ? (openBlock(), createElementBlock("div", _hoisted_5$7, [
18681
18714
  createVNode(unref(Input), {
18682
18715
  placeholder: unref($t)("gitCodeLayout.home.searchPlaceholder"),
18683
18716
  onKeydown: withKeys(searchResult, ["enter"]),
@@ -18698,7 +18731,7 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18698
18731
  }
18699
18732
  });
18700
18733
  const Search = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-gitcode-layout-lib"]]);
18701
- const NoticeModal = defineAsyncComponent(() => import("./notice-6jK_R0x7.js"));
18734
+ const NoticeModal = defineAsyncComponent(() => import("./notice-DqvvM9v_.js"));
18702
18735
  function clearNotice() {
18703
18736
  if (localStorage$2.getItem("validator_email")) {
18704
18737
  localStorage$2.removeItem("validator_email");
@@ -18730,8 +18763,8 @@ const _hoisted_1$j = {
18730
18763
  class: "g-header-body"
18731
18764
  };
18732
18765
  const _hoisted_2$d = { class: "g-header-body-left h-full" };
18733
- const _hoisted_3$a = { class: "g-header-body-right h-full" };
18734
- const _hoisted_4$7 = { key: 2 };
18766
+ const _hoisted_3$b = { class: "g-header-body-right h-full" };
18767
+ const _hoisted_4$9 = { key: 2 };
18735
18768
  const _sfc_main$l = /* @__PURE__ */ defineComponent({
18736
18769
  ...{
18737
18770
  name: "header"
@@ -19151,12 +19184,12 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
19151
19184
  createElementVNode("div", _hoisted_2$d, [
19152
19185
  renderSlot(_ctx.$slots, "info", {}, void 0, true)
19153
19186
  ]),
19154
- createElementVNode("div", _hoisted_3$a, [
19187
+ createElementVNode("div", _hoisted_3$b, [
19155
19188
  renderSlot(_ctx.$slots, "menu", {}, void 0, true)
19156
19189
  ])
19157
19190
  ], true)
19158
19191
  ])) : createCommentVNode("", true),
19159
- _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$7, [
19192
+ _ctx.$slots.headerBottom ? (openBlock(), createElementBlock("div", _hoisted_4$9, [
19160
19193
  renderSlot(_ctx.$slots, "headerBottom", {}, void 0, true)
19161
19194
  ])) : createCommentVNode("", true)
19162
19195
  ], 2)
@@ -19186,7 +19219,7 @@ const createSetting = () => {
19186
19219
  };
19187
19220
  const _hoisted_1$i = { class: "tools-item-wrapper" };
19188
19221
  const _hoisted_2$c = { class: "tools-item-wrapper-checkbox" };
19189
- const _hoisted_3$9 = ["onClick", "title"];
19222
+ const _hoisted_3$a = ["onClick", "title"];
19190
19223
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
19191
19224
  __name: "Lang",
19192
19225
  setup(__props) {
@@ -19221,7 +19254,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
19221
19254
  color: "var(--theme-icon-fill-weak)",
19222
19255
  class: "checkbox-item-icon"
19223
19256
  }, null, 8, ["name"])
19224
- ], 16, _hoisted_3$9);
19257
+ ], 16, _hoisted_3$a);
19225
19258
  }), 128))
19226
19259
  ])
19227
19260
  ]);
@@ -19230,7 +19263,7 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
19230
19263
  });
19231
19264
  const _hoisted_1$h = { class: "tools-item-wrapper" };
19232
19265
  const _hoisted_2$b = { class: "tools-item-wrapper-checkbox" };
19233
- const _hoisted_3$8 = ["onClick", "title"];
19266
+ const _hoisted_3$9 = ["onClick", "title"];
19234
19267
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
19235
19268
  __name: "Theme",
19236
19269
  setup(__props) {
@@ -19274,7 +19307,7 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
19274
19307
  color: "var(--theme-icon-fill-weak)",
19275
19308
  class: "checkbox-item-icon"
19276
19309
  }, null, 8, ["name"])
19277
- ], 16, _hoisted_3$8);
19310
+ ], 16, _hoisted_3$9);
19278
19311
  }), 128))
19279
19312
  ])
19280
19313
  ]);
@@ -19384,13 +19417,13 @@ const _hoisted_2$a = {
19384
19417
  class: "devui-submenu-title layer_2",
19385
19418
  style: { "padding": "0px 24px" }
19386
19419
  };
19387
- const _hoisted_3$7 = { class: "devui-submenu-title-content cursor-auto" };
19388
- const _hoisted_4$6 = {
19420
+ const _hoisted_3$8 = { class: "devui-submenu-title-content cursor-auto" };
19421
+ const _hoisted_4$8 = {
19389
19422
  class: "devui-submenu-title layer_2",
19390
19423
  style: { "padding": "0px 24px" }
19391
19424
  };
19392
- const _hoisted_5$4 = { class: "devui-submenu-title-content cursor-auto" };
19393
- const _hoisted_6$3 = { key: 0 };
19425
+ const _hoisted_5$6 = { class: "devui-submenu-title-content cursor-auto" };
19426
+ const _hoisted_6$4 = { key: 0 };
19394
19427
  const _hoisted_7$3 = { class: "project-label" };
19395
19428
  const _hoisted_8$3 = { class: "project-label flex-1 min-w-0 ellipsis" };
19396
19429
  const _hoisted_9$3 = {
@@ -19588,7 +19621,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19588
19621
  _ctx.type === "project" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
19589
19622
  createElementVNode("div", _hoisted_2$a, [
19590
19623
  _cache[13] || (_cache[13] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19591
- createElementVNode("span", _hoisted_3$7, [
19624
+ createElementVNode("span", _hoisted_3$8, [
19592
19625
  createElementVNode("div", {
19593
19626
  class: "fast-click-button",
19594
19627
  onClick: _cache[0] || (_cache[0] = ($event) => fastToLink("project"))
@@ -19647,9 +19680,9 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19647
19680
  ], 2)
19648
19681
  ], 64)) : createCommentVNode("", true),
19649
19682
  _ctx.type === "team" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
19650
- createElementVNode("div", _hoisted_4$6, [
19683
+ createElementVNode("div", _hoisted_4$8, [
19651
19684
  _cache[14] || (_cache[14] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19652
- createElementVNode("span", _hoisted_5$4, [
19685
+ createElementVNode("span", _hoisted_5$6, [
19653
19686
  createElementVNode("div", {
19654
19687
  class: "fast-click-button",
19655
19688
  onClick: _cache[7] || (_cache[7] = ($event) => fastToLink("team"))
@@ -19713,7 +19746,7 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
19713
19746
  }, null, 8, ["src", "name", "class"]))
19714
19747
  ]),
19715
19748
  default: withCtx(() => [
19716
- _ctx.type === "project" ? (openBlock(), createElementBlock("span", _hoisted_6$3, [
19749
+ _ctx.type === "project" ? (openBlock(), createElementBlock("span", _hoisted_6$4, [
19717
19750
  createElementVNode("span", _hoisted_7$3, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19718
19751
  createElementVNode("span", _hoisted_8$3, "/" + toDisplayString$1(item.label), 1)
19719
19752
  ])) : (openBlock(), createElementBlock("span", _hoisted_9$3, toDisplayString$1(item.label), 1))
@@ -19756,9 +19789,9 @@ const _hoisted_2$9 = {
19756
19789
  class: "devui-submenu-title layer_2",
19757
19790
  style: { "padding": "0px 24px" }
19758
19791
  };
19759
- const _hoisted_3$6 = { class: "devui-submenu-title-content cursor-auto" };
19760
- const _hoisted_4$5 = { class: "project-label" };
19761
- const _hoisted_5$3 = { class: "project-label flex-1 min-w-0 ellipsis" };
19792
+ const _hoisted_3$7 = { class: "devui-submenu-title-content cursor-auto" };
19793
+ const _hoisted_4$7 = { class: "project-label" };
19794
+ const _hoisted_5$5 = { class: "project-label flex-1 min-w-0 ellipsis" };
19762
19795
  const INIT_SHOW_COUNT = 4;
19763
19796
  const LOAD_MORE_COUNT = 10;
19764
19797
  const _sfc_main$h = /* @__PURE__ */ defineComponent({
@@ -19853,7 +19886,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19853
19886
  return openBlock(), createElementBlock("ul", _hoisted_1$f, [
19854
19887
  createElementVNode("div", _hoisted_2$9, [
19855
19888
  _cache[6] || (_cache[6] = createElementVNode("span", { class: "devui-menu-icon" }, null, -1)),
19856
- createElementVNode("span", _hoisted_3$6, [
19889
+ createElementVNode("span", _hoisted_3$7, [
19857
19890
  createElementVNode("div", {
19858
19891
  class: "fast-click-button",
19859
19892
  onClick: _cache[0] || (_cache[0] = ($event) => fastToLink())
@@ -19908,8 +19941,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19908
19941
  ]),
19909
19942
  default: withCtx(() => [
19910
19943
  createElementVNode("span", null, [
19911
- createElementVNode("span", _hoisted_4$5, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19912
- createElementVNode("span", _hoisted_5$3, "/" + toDisplayString$1(item.label), 1)
19944
+ createElementVNode("span", _hoisted_4$7, toDisplayString$1((item.namespace || "").slice(0, 10)) + toDisplayString$1((item.namespace || "").length > 10 ? "..." : ""), 1),
19945
+ createElementVNode("span", _hoisted_5$5, "/" + toDisplayString$1(item.label), 1)
19913
19946
  ])
19914
19947
  ]),
19915
19948
  _: 2
@@ -19945,15 +19978,15 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
19945
19978
  }
19946
19979
  });
19947
19980
  const ProjectMenuListV2 = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-gitcode-layout-lib"]]);
19948
- const _hoisted_1$e = { class: "side-bar-label" };
19981
+ const _hoisted_1$e = { class: "side-bar-label popup" };
19949
19982
  const _hoisted_2$8 = { class: "side-bar-label" };
19950
- const _hoisted_3$5 = {
19983
+ const _hoisted_3$6 = {
19951
19984
  key: 0,
19952
19985
  class: "line mt-[16px] mb-[6px]"
19953
19986
  };
19954
- const _hoisted_4$4 = ["src"];
19955
- const _hoisted_5$2 = ["src"];
19956
- const _hoisted_6$2 = { class: "side-bar-label" };
19987
+ const _hoisted_4$6 = ["src"];
19988
+ const _hoisted_5$4 = ["src"];
19989
+ const _hoisted_6$3 = { class: "side-bar-label" };
19957
19990
  const _hoisted_7$2 = {
19958
19991
  key: 1,
19959
19992
  class: "line mb-[16px] mt-[6px]"
@@ -20415,7 +20448,15 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20415
20448
  }, null, 8, ["name"])
20416
20449
  ]),
20417
20450
  default: withCtx(() => [
20418
- createElementVNode("span", _hoisted_1$e, toDisplayString$1(item.label), 1)
20451
+ createElementVNode("span", _hoisted_1$e, [
20452
+ createTextVNode(toDisplayString$1(item.label) + " ", 1),
20453
+ createVNode(GIcon, {
20454
+ class: "side-bar-icon",
20455
+ size: "12",
20456
+ name: "gt-line-right-tianqi",
20457
+ color: "var(--theme-text)"
20458
+ })
20459
+ ])
20419
20460
  ]),
20420
20461
  _: 2
20421
20462
  }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
@@ -20450,7 +20491,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20450
20491
  }, 1032, ["data-key", "data-openBlank", "data-route", "data-href", "data-host"]))
20451
20492
  ], 64);
20452
20493
  }), 256)),
20453
- !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$5)) : createCommentVNode("", true),
20494
+ !_ctx.asideSetShowLittle ? (openBlock(), createElementBlock("hr", _hoisted_3$6)) : createCommentVNode("", true),
20454
20495
  (openBlock(true), createElementBlock(Fragment, null, renderList(externalRoutes.value, (item) => {
20455
20496
  return openBlock(), createBlock(unref(MenuItem), {
20456
20497
  key: `${item.key}-${item.logo}`,
@@ -20465,11 +20506,11 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20465
20506
  createElementVNode("img", {
20466
20507
  src: item.logo,
20467
20508
  class: "default-icon w-[16px] h-[16px]"
20468
- }, null, 8, _hoisted_4$4),
20509
+ }, null, 8, _hoisted_4$6),
20469
20510
  createElementVNode("img", {
20470
20511
  src: item.logo_hover,
20471
20512
  class: "active-icon w-[16px] h-[16px]"
20472
- }, null, 8, _hoisted_5$2)
20513
+ }, null, 8, _hoisted_5$4)
20473
20514
  ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
20474
20515
  createVNode(GIcon, {
20475
20516
  name: item.icon,
@@ -20486,7 +20527,7 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
20486
20527
  ], 64))
20487
20528
  ]),
20488
20529
  default: withCtx(() => [
20489
- createElementVNode("span", _hoisted_6$2, toDisplayString$1(item.label), 1)
20530
+ createElementVNode("span", _hoisted_6$3, toDisplayString$1(item.label), 1)
20490
20531
  ]),
20491
20532
  _: 2
20492
20533
  }, 1032, ["data-key", "data-route", "data-href", "data-host", "data-openBlank"]);
@@ -21318,8 +21359,8 @@ const headerCustomPropsData = {
21318
21359
  };
21319
21360
  const _hoisted_1$c = { class: "home-wrapper" };
21320
21361
  const _hoisted_2$7 = { class: "home-content" };
21321
- const _hoisted_3$4 = { class: "home-left-side" };
21322
- const _hoisted_4$3 = { class: "home-main" };
21362
+ const _hoisted_3$5 = { class: "home-left-side" };
21363
+ const _hoisted_4$5 = { class: "home-main" };
21323
21364
  const _sfc_main$e = /* @__PURE__ */ defineComponent({
21324
21365
  __name: "home",
21325
21366
  setup(__props) {
@@ -21410,7 +21451,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
21410
21451
  onFollowUser: followUser
21411
21452
  }, null, 8, ["sceneValue", "independence", "isLogin", "request", "globalStore", "userInfo", "repoInfo", "orgInfo", "otherUserInfo", "headerCustomProps"]),
21412
21453
  createElementVNode("div", _hoisted_2$7, [
21413
- createElementVNode("div", _hoisted_3$4, [
21454
+ createElementVNode("div", _hoisted_3$5, [
21414
21455
  createVNode(GitCodeAside, {
21415
21456
  sceneValue: sceneSelected.value,
21416
21457
  userInfo: userInfo.value,
@@ -21430,7 +21471,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
21430
21471
  _: 1
21431
21472
  }, 8, ["sceneValue", "userInfo", "isLogin", "request", "globalStore", "independence", "collapseMode"])
21432
21473
  ]),
21433
- createElementVNode("div", _hoisted_4$3, [
21474
+ createElementVNode("div", _hoisted_4$5, [
21434
21475
  _cache[6] || (_cache[6] = createElementVNode("h1", null, "控制 Header 值传入", -1)),
21435
21476
  _cache[7] || (_cache[7] = createElementVNode("h2", null, "场景值 SceneValue", -1)),
21436
21477
  createVNode(unref(RadioGroup), {
@@ -21640,6 +21681,7 @@ const layoutConfig = useLayoutConfig();
21640
21681
  const { t: t$2 } = i18n.global;
21641
21682
  const GRAPH_CODE = 400007;
21642
21683
  const REMOTE_LOGIN_CODE = 400015;
21684
+ const MAX_MOBILE_COUNT = 10;
21643
21685
  const createLoginConfig = (request) => {
21644
21686
  const API = headRequest(request);
21645
21687
  return {
@@ -21647,14 +21689,15 @@ const createLoginConfig = (request) => {
21647
21689
  async phone(param, loginParams) {
21648
21690
  const { validFunc, successFunc = () => {
21649
21691
  }, failFunc = () => {
21650
- } } = param;
21692
+ }, country = "" } = param;
21651
21693
  const check = validFunc ? await validFunc() : true;
21652
21694
  if (!check) return;
21653
21695
  const result2 = await API.loginByMobile(loginParams);
21654
21696
  if (!result2.error) {
21655
21697
  const resultData = result2.data.data;
21698
+ saveLoginMobile(loginParams.mobile, country);
21656
21699
  successFunc(resultData, loginParams.mobile);
21657
- phoneAndPasswordLogin(resultData, API);
21700
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PHONE);
21658
21701
  } else {
21659
21702
  failFunc(result2.error.error_message);
21660
21703
  }
@@ -21681,7 +21724,7 @@ const createLoginConfig = (request) => {
21681
21724
  const { user_status_enum } = resultData;
21682
21725
  await successFunc(resultData);
21683
21726
  if (user_status_enum !== "MFA_CHECK") {
21684
- phoneAndPasswordLogin(resultData, API);
21727
+ phoneAndPasswordLogin(resultData, API, LoginMethodEnum.PASSWORD);
21685
21728
  }
21686
21729
  } else {
21687
21730
  failFunc(result2.error.error_message);
@@ -21705,7 +21748,7 @@ const createLoginConfig = (request) => {
21705
21748
  scene_id
21706
21749
  });
21707
21750
  if (!result2.error) {
21708
- phoneAndPasswordLogin(result2.data.data, API);
21751
+ phoneAndPasswordLogin(result2.data.data, API, LoginMethodEnum.MINI_PROGRAM);
21709
21752
  return { success: true, data: result2.data.data };
21710
21753
  }
21711
21754
  return { success: false, error: result2.error };
@@ -21832,11 +21875,12 @@ function bindResultResolve(params, API) {
21832
21875
  function sendMessageToParent(message) {
21833
21876
  window.parent && window.parent.postMessage(message, "*");
21834
21877
  }
21835
- function phoneAndPasswordLogin(userInfo, API) {
21878
+ function phoneAndPasswordLogin(userInfo, API, loginMethod) {
21836
21879
  successResolve({
21837
21880
  path: new URLSearchParams(window.location.search).get("returnUrl") || "",
21838
21881
  userInfo,
21839
- type: AuthTypeEnum.PHONE_AND_PASSWORD
21882
+ type: AuthTypeEnum.PHONE_AND_PASSWORD,
21883
+ loginMethod
21840
21884
  }, API);
21841
21885
  const params = {
21842
21886
  access_token: userInfo.access_token,
@@ -21871,12 +21915,13 @@ async function checkUserRepositoryIssue(API) {
21871
21915
  }
21872
21916
  async function successResolve(params, API) {
21873
21917
  var _a;
21874
- const { path, userInfo, type } = params;
21918
+ const { path, userInfo, type, loginMethod } = params;
21875
21919
  if (userInfo) {
21876
21920
  emitEvent("updateUserInfo", userInfo);
21877
21921
  const { username, email } = userInfo;
21878
21922
  setEmailValid(username, email);
21879
21923
  }
21924
+ saveLastLoginType(loginMethod);
21880
21925
  if (type === AuthTypeEnum.PHONE_AND_PASSWORD) {
21881
21926
  const { unMount, isMounted } = usePopup();
21882
21927
  if (isMounted()) {
@@ -21982,6 +22027,21 @@ const HandleParentWindowGetLoginInfo = (request) => {
21982
22027
  }
21983
22028
  };
21984
22029
  };
22030
+ function saveLoginMobile(mobile, country) {
22031
+ const loginMobileList = JSON.parse(localStorage$2.getItem("loginMobileList") || "[]");
22032
+ const index2 = loginMobileList.findIndex((item) => item.mobile === mobile);
22033
+ if (index2 !== -1) {
22034
+ loginMobileList.splice(index2, 1);
22035
+ }
22036
+ loginMobileList.unshift({ mobile, country });
22037
+ if (loginMobileList.length > MAX_MOBILE_COUNT) {
22038
+ loginMobileList.pop();
22039
+ }
22040
+ localStorage$2.setItem("loginMobileList", JSON.stringify(loginMobileList));
22041
+ }
22042
+ function saveLastLoginType(loginMethod) {
22043
+ localStorage$2.setItem("lastLoginMethod", loginMethod);
22044
+ }
21985
22045
  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";
21986
22046
  const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
21987
22047
  __proto__: null,
@@ -22065,7 +22125,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
22065
22125
  autocomplete: { default: "on" },
22066
22126
  error: { type: Boolean, default: false }
22067
22127
  },
22068
- emits: ["change", "update:modelValue", "click"],
22128
+ emits: ["change", "update:modelValue", "click", "update:countdown"],
22069
22129
  setup(__props, { emit: __emit }) {
22070
22130
  const { t: $t } = i18n.global;
22071
22131
  const props = __props;
@@ -22086,6 +22146,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
22086
22146
  CountDown.value -= 1;
22087
22147
  } else {
22088
22148
  CountDown.value = 59;
22149
+ emits("update:countdown", false);
22089
22150
  DisabledBtn.value = false;
22090
22151
  timer && clearInterval(timer);
22091
22152
  timer = null;
@@ -22168,7 +22229,10 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
22168
22229
  }
22169
22230
  });
22170
22231
  const _hoisted_1$9 = { class: "flex flex-1 g-input-select" };
22171
- const _hoisted_2$6 = { class: "flex justify-between gap-[8px] flex-wrap" };
22232
+ const _hoisted_2$6 = { class: "login-phone" };
22233
+ const _hoisted_3$4 = { class: "flex justify-between gap-[8px] flex-wrap" };
22234
+ const _hoisted_4$4 = { class: "flex items-center justify-between" };
22235
+ const _hoisted_5$3 = { class: "flex justify-between gap-[8px] flex-wrap" };
22172
22236
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
22173
22237
  __name: "inputSelect",
22174
22238
  props: {
@@ -22176,7 +22240,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22176
22240
  "onUpdate:modelValue": { type: Function },
22177
22241
  placeholder: {},
22178
22242
  prop: {},
22179
- country: {}
22243
+ country: {},
22244
+ editableSelect: { type: Boolean }
22180
22245
  },
22181
22246
  emits: ["change", "selectChange", "update:modelValue"],
22182
22247
  setup(__props, { emit: __emit }) {
@@ -22185,7 +22250,6 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22185
22250
  const emits = __emit;
22186
22251
  const cache_countdown = JSON.parse(localStorage$2.getItem("cache_countdown"));
22187
22252
  const { vModels } = useModel(props, emits);
22188
- console.log(cache_countdown, "cache_countdown");
22189
22253
  const country = ref((cache_countdown == null ? void 0 : cache_countdown.country) || DEFAULT_COUNTRY);
22190
22254
  const options = ref([]);
22191
22255
  const handleChange = () => {
@@ -22203,25 +22267,50 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22203
22267
  };
22204
22268
  });
22205
22269
  };
22206
- onMounted(() => {
22207
- getAllCountries();
22208
- });
22270
+ const loginMobileList = ref([]);
22271
+ const mobileList = ref([]);
22272
+ const getHistoryMobile = () => {
22273
+ var _a, _b, _c, _d, _e;
22274
+ mobileList.value = JSON.parse(localStorage$2.getItem("loginMobileList")) || [];
22275
+ loginMobileList.value = (_a = mobileList.value) == null ? void 0 : _a.map((item) => {
22276
+ return {
22277
+ label: item.mobile,
22278
+ value: item.mobile
22279
+ };
22280
+ });
22281
+ country.value = ((_c = (_b = mobileList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.country) || country.value;
22282
+ emits("update:modelValue", (_e = (_d = mobileList.value) == null ? void 0 : _d[0]) == null ? void 0 : _e.mobile);
22283
+ };
22284
+ const deleteMobile = (mobile) => {
22285
+ loginMobileList.value = loginMobileList.value.filter((item) => item.value !== mobile);
22286
+ mobileList.value = mobileList.value.filter((item) => item.mobile !== mobile);
22287
+ localStorage$2.setItem("loginMobileList", JSON.stringify(mobileList.value));
22288
+ };
22289
+ const handleSelectChange = (value) => {
22290
+ var _a;
22291
+ country.value = ((_a = mobileList.value.find((item) => item.mobile === value)) == null ? void 0 : _a.country) || country.value;
22292
+ emits("change");
22293
+ };
22209
22294
  const handleCountryChange = () => {
22210
22295
  emits("selectChange", country.value);
22211
22296
  emits("change");
22212
22297
  };
22298
+ const handleInputSelectChange = (value) => {
22299
+ emits("update:modelValue", value);
22300
+ emits("change");
22301
+ };
22302
+ onMounted(() => {
22303
+ getAllCountries();
22304
+ if (props.editableSelect) {
22305
+ getHistoryMobile();
22306
+ }
22307
+ });
22213
22308
  return (_ctx, _cache) => {
22214
22309
  return openBlock(), createElementBlock("div", _hoisted_1$9, [
22215
- createVNode(unref(Input), mergeProps({
22216
- modelValue: unref(vModels),
22217
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22218
- }, _ctx.prop, {
22219
- placeholder: _ctx.placeholder,
22220
- onChange: handleChange
22221
- }), {
22222
- prepend: withCtx(() => [
22310
+ createElementVNode("div", _hoisted_2$6, [
22311
+ (props == null ? void 0 : props.editableSelect) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
22223
22312
  createVNode(unref(Select), {
22224
- class: "input-select",
22313
+ class: "login-country-select",
22225
22314
  modelValue: country.value,
22226
22315
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => country.value = $event),
22227
22316
  menuClass: "country-select",
@@ -22235,7 +22324,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22235
22324
  value: item.value
22236
22325
  }, {
22237
22326
  default: withCtx(() => [
22238
- createElementVNode("div", _hoisted_2$6, [
22327
+ createElementVNode("div", _hoisted_3$4, [
22239
22328
  createElementVNode("span", null, toDisplayString$1(item.name), 1),
22240
22329
  createElementVNode("span", null, toDisplayString$1(item.label), 1)
22241
22330
  ])
@@ -22245,10 +22334,70 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
22245
22334
  }), 128))
22246
22335
  ]),
22247
22336
  _: 1
22248
- }, 8, ["modelValue"])
22249
- ]),
22250
- _: 1
22251
- }, 16, ["modelValue", "placeholder"])
22337
+ }, 8, ["modelValue"]),
22338
+ createVNode(unref(EditableSelect), mergeProps({
22339
+ modelValue: unref(vModels),
22340
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22341
+ }, props, {
22342
+ size: "lg",
22343
+ width: 292,
22344
+ options: loginMobileList.value,
22345
+ placeholder: props.placeholder,
22346
+ onInputChange: handleInputSelectChange,
22347
+ onChange: handleSelectChange,
22348
+ class: "login-phone-select"
22349
+ }), {
22350
+ item: withCtx((slotProps) => [
22351
+ createElementVNode("div", _hoisted_4$4, [
22352
+ createElementVNode("div", null, toDisplayString$1(slotProps.option.label), 1),
22353
+ createVNode(GIcon, {
22354
+ name: "gt-line-delete",
22355
+ class: "w-[16px] h-[16px] cursor-pointer",
22356
+ onClick: withModifiers(($event) => deleteMobile(slotProps.option.value), ["stop"])
22357
+ }, null, 8, ["onClick"])
22358
+ ])
22359
+ ]),
22360
+ _: 1
22361
+ }, 16, ["modelValue", "options", "placeholder"])
22362
+ ], 64)) : (openBlock(), createBlock(unref(Input), mergeProps({
22363
+ key: 1,
22364
+ modelValue: unref(vModels),
22365
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => isRef(vModels) ? vModels.value = $event : null)
22366
+ }, _ctx.prop, {
22367
+ placeholder: _ctx.placeholder,
22368
+ onChange: handleChange
22369
+ }), {
22370
+ prepend: withCtx(() => [
22371
+ createVNode(unref(Select), {
22372
+ class: "input-select",
22373
+ modelValue: country.value,
22374
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => country.value = $event),
22375
+ menuClass: "country-select",
22376
+ onValueChange: handleCountryChange
22377
+ }, {
22378
+ default: withCtx(() => [
22379
+ (openBlock(true), createElementBlock(Fragment, null, renderList(options.value, (item, index2) => {
22380
+ return openBlock(), createBlock(unref(Option), {
22381
+ name: item.label,
22382
+ key: index2,
22383
+ value: item.value
22384
+ }, {
22385
+ default: withCtx(() => [
22386
+ createElementVNode("div", _hoisted_5$3, [
22387
+ createElementVNode("span", null, toDisplayString$1(item.name), 1),
22388
+ createElementVNode("span", null, toDisplayString$1(item.label), 1)
22389
+ ])
22390
+ ]),
22391
+ _: 2
22392
+ }, 1032, ["name", "value"]);
22393
+ }), 128))
22394
+ ]),
22395
+ _: 1
22396
+ }, 8, ["modelValue"])
22397
+ ]),
22398
+ _: 1
22399
+ }, 16, ["modelValue", "placeholder"]))
22400
+ ])
22252
22401
  ]);
22253
22402
  };
22254
22403
  }
@@ -22270,7 +22419,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22270
22419
  errors: { default: {
22271
22420
  msgError: false
22272
22421
  } },
22273
- isForget: { type: Boolean, default: false }
22422
+ isForget: { type: Boolean, default: false },
22423
+ formErrors: { default: {} }
22274
22424
  },
22275
22425
  emits: ["change", "countDown", "complete"],
22276
22426
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -22444,6 +22594,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22444
22594
  return autoComplete ? "on" : "off";
22445
22595
  }
22446
22596
  };
22597
+ const updateCountdown = (formItem) => {
22598
+ formItem.props.countdown = false;
22599
+ };
22447
22600
  onBeforeMount(() => {
22448
22601
  if (timer) {
22449
22602
  clearTimeout(timer);
@@ -22502,21 +22655,25 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22502
22655
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
22503
22656
  onChange: ($event) => handleChange(formItem.key),
22504
22657
  onClick: ($event) => handleOperate(formItem),
22658
+ "onUpdate:countdown": ($event) => updateCountdown(formItem),
22505
22659
  placeholder: formItem.label
22506
22660
  }, { ref_for: true }, formItem.props, {
22507
22661
  hasMobile: !!Data[(_b = formItem.props) == null ? void 0 : _b.aliasKey],
22508
22662
  text: unref($t)("gitCodeLayout.userSetting.account.getVerificationCode"),
22509
22663
  error: _ctx.errors.msgError,
22510
22664
  autocomplete: autocompleteCalc((_c = formItem.props) == null ? void 0 : _c.autocomplete)
22511
- }), null, 16, ["modelValue", "onUpdate:modelValue", "onChange", "onClick", "placeholder", "hasMobile", "text", "error", "autocomplete"])) : formItem.type === "inputSelect" ? (openBlock(), createBlock(_sfc_main$b, mergeProps({
22665
+ }), null, 16, ["modelValue", "onUpdate:modelValue", "onChange", "onClick", "onUpdate:countdown", "placeholder", "hasMobile", "text", "error", "autocomplete"])) : formItem.type === "inputSelect" ? (openBlock(), createBlock(_sfc_main$b, mergeProps({
22512
22666
  key: 2,
22513
22667
  country: Data.country,
22668
+ class: _ctx.formErrors["mobile"] ? "input-select-error" : "",
22514
22669
  modelValue: Data[formItem.key],
22515
22670
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
22516
22671
  onSelectChange: _cache[0] || (_cache[0] = (evt) => handleSelectChange("country", evt)),
22517
22672
  onChange: ($event) => handleChange(formItem.key),
22518
22673
  placeholder: unref($t)("gitCodeLayout.LoginModal.rule.pleaseFill", { label: formItem.label })
22519
- }, { ref_for: true }, formItem.props), null, 16, ["country", "modelValue", "onUpdate:modelValue", "onChange", "placeholder"])) : (openBlock(), createBlock(resolveDynamicComponent(formItem.render), mergeProps({
22674
+ }, { ref_for: true }, formItem.props, {
22675
+ editableSelect: formItem.editableSelect
22676
+ }), null, 16, ["country", "class", "modelValue", "onUpdate:modelValue", "onChange", "placeholder", "editableSelect"])) : (openBlock(), createBlock(resolveDynamicComponent(formItem.render), mergeProps({
22520
22677
  key: formItem.key,
22521
22678
  modelValue: Data[formItem.key],
22522
22679
  "onUpdate:modelValue": ($event) => Data[formItem.key] = $event,
@@ -22537,32 +22694,41 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
22537
22694
  };
22538
22695
  }
22539
22696
  });
22540
- const _hoisted_1$8 = { class: "tips text-[var(--devui-disabled-text)]" };
22541
- const _hoisted_2$5 = { class: "icons" };
22542
- const _hoisted_3$3 = ["src", "alt", "onClick"];
22697
+ const recentLoginImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoCAYAAAAIeF9DAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAfgSURBVHgB7ZtLbFRlFMfPnU4LhbaMgAJCdJpYImwoK7vgMSwkGDckQgwrARduJNREE4nykhhJMKGNblxIuzOEElcGAptiWeCKuoFIMYykCEoLpQ9eZWY8v9v52tvbOzP33mlLDPefTDtzn993/uf8z/nO3LGkDNxIphJPRVIxyW7MipXUTY0xySVyIgl5gWCJDOTESuu80yK532MS62xId3ZKCFgSAj3JVConuYOW5BpfNOMHQFrN21kp1uH6dGfa70mBCPkjmdqqJBxXL0hKhACw2v0S44sQlabkqOTalIiURAiLtNrv8Mp0V3uxg2JSAn8mN+x9JtnLERllI6n+33YtueF4sYOKRkhPcsNBzRGHJMI0w+pWCdukEjbg3lMwQiIyZhK5Rk0BP3vt8SQkImM2kEt5ydcUySJnZERaJMKsICu5T95Md43bexIhVFMk8GhtMasYqJRYvcknkyQLXYvImHUkRiV70HwYJ+RaMrWTZCP/E8TqaiQsyjl3htBMG4o38YltuYN+z56z+g1J7NouQTB4+ow8utQ9aVvliqWy7Ievpb+1TUbOXZy0D6NV5A0X1+M4Nr6c/8tkXlOjvS29/n0Z7b0z5V5Lju3zHMOj3y7LnFUN9vh7d+y1t720e7vEamvsMRTC/LfXSc3m9eIX/3z2jQTFU8k2679DNiHXk+u3ZgO0QzBW3bYtcv/EKckODpc8flHzLnl46fKU7RjzyZXr8qqSwiQGO86O70vs2mafZ8B9Mvri+KFzXWrcbvuzFyDLDUjMDA7J8PkuSezeJvM3r5MqJXfx/o+lv6UwGaBiQY3nNd2owmn0FYYQTeZ4yBghOYl9wN+gwCh+CCkGBj966/a4VztJeagR9a/ux/B+70MkDbSdmhRxRAGEPGjrsJ0AR8IJAGTca22339e9t0UJuzjlXozJOa5CWLh35yQnCogETds42qVJZauEwMK9u8omBNxraZfK5ctsSXLDS5KKoVYjd5GOi2siQxBEFECCuRYE1KoE4YIDShLAkBg089EXU+QTIHOlcg9yWg4ykmmM659UyC683NHB+zFYw40LJY8JE+ZegAic5OX9e2z5IDIYY9+R78ePYT85ZMVPrfaL3IaM3T3ynScZgIjyI1vlwUrF9YullIQEk5lJzFWvLHUPigW3nAyc6FAXs+zIABBQ33VyyrnG4yHDncPcuKEFRCmUKVmUvGs0h1hrguYPPCrtY4BOeCVgEmuFQwa4rok4jMU5zghEfqrV44fPTei8+7ocQ3Rw7RFN/v0qT8hNsblAOjkM2XRWW85Kzw9idbXjY3DOO4CsJ5SQnO+FIEmv3LBlcEa3a7ScrG5aa79nEnc+1QTfO+alGAIynFLG/SGkT6WlULlL9ce+vx25gMqsGPD+hc1j3k0OuqVyxjXclZ5fJB3RONhxRudw1O+pibhmj6Tf+Ihp+UfiqlHvY5JOo+CFGHW4gAYbOD3aOVC3pHCfx1d6JAhYZzy52mNLD8R4yZQXhjWS7mqOGdLzFqh8mXkNnT5rV5KFsFQdYLT3th2FThBZJiqeBSxK4kFaJWgzmNd0Uh4o8wzYAP2s2/bOtCVnCMZQQeDMASz2MAyJuhiQN5NL7OT/1UTyN8SweB3S+d7PR7YTHONe8L72y49KxG2N0i8lIAbiEhKvHNgjix3hbDSfKEkW8EzWFbfyK+RiMCXmk6vXpRwwnlLrB0rkYsDgLCYXH9hj54ipOaZ20mcIrgy5ONR8ng5NCBEycn5Cnsb0fa09AbySid5898Px/eg7XuMHtGW8PC8oKvIdhWLw09eilEaibYnSRSyybCKL4oG5Uu0RSWyjpC6Vt7yg3ZK/QhOSGxxxbZlYy+CVDJIEzHtTHfXvaCt53cr82sGr1RIUGKdQXysoKBBuXhlzsNdVkog+8gM5BNIpCkbyuSjoYtZALdgdmhAGMbdpojlMH8cUByQ0QhsvwsvxHL8eX5WXq3uuRBkUnG8kr9Bij6YhfSo/bRFAg5FciTpwfYgZqwSP2qVz1eoGKQc8YFfyqZNC6NMeEPnAvBgkMDU4BQChTYJjW7HcgRdTTtNzgrTefNlZLshFyIzXOgTSyYPVb5X+xoHoxuCQgaOx6neuLRgrY2Yb+bNUXiqANE87BiIEvWRVy2ToBWFIXhgdY2J43gOzqDIaXd3kPXGiiDKadQPg/EILqUGt6nrqN/omy2g/93CD8RLRxSLREMGLY8mJptJ0gzGxH8KQL4gplb8mw+rkbyDJmqfeNFcT92OdZMZuhw/ZxqP+Z5FHyDIoPATiOIbPEAlxNCOd/SIKAdO2YBvRseTY5/ZkMKSTGNN+B06iAWSyn3Mpvb1QqJ/mrgid3d/q/PcuzkWmqQDNy90pwAlYzxBNXh3sQsiIdZj/1rXkhuB9dw+YdQgELFePGtFSEW8yRiV6OAZdN14GUUiGs/EHMAQTp/vrLCs9J6LX78uvNTivssxOAo5gKiRDutMxcKIl3+4b316somIs/qLZal+ZvmDr3LQREiE00hmJbVqVf+43dFKPMF3IHV7leAg7IuT5otX98HVEyHOD1b0y/Wuze2tEyHOB/UOeTV57Qq/UI4SGytSF5kI7owiZJfA7RJ7j9ZIpJ6IImR20xiV2qMHj9yBuRITMEMYiQlqrJNZS74MIg4iQacCY8a0B1X9tZ2e1R1PRHfZn0f8BoszztTsf3m0AAAAASUVORK5CYII=";
22698
+ const _hoisted_1$8 = { class: "auth-container" };
22699
+ const _hoisted_2$5 = { class: "tips text-[var(--devui-disabled-text)]" };
22700
+ const _hoisted_3$3 = { class: "icons" };
22701
+ const _hoisted_4$3 = ["src", "alt", "onClick"];
22702
+ const _hoisted_5$2 = { class: "w-[50px] h-[20px] recent-login-img" };
22703
+ const _hoisted_6$2 = ["src"];
22543
22704
  const _sfc_main$9 = /* @__PURE__ */ defineComponent({
22544
22705
  __name: "auth",
22545
22706
  props: {
22546
- logos: {}
22707
+ logos: {},
22708
+ recentLoginType: {}
22547
22709
  },
22548
22710
  emits: ["auth"],
22549
22711
  setup(__props, { emit: __emit }) {
22550
22712
  const request = inject("request");
22551
22713
  const API = headRequest(request);
22552
22714
  const { t: $t } = i18n.global;
22715
+ const props = __props;
22553
22716
  const emits = __emit;
22554
22717
  const handleClick = (icon) => {
22555
22718
  useReport(LOGIN_MODAL_TAB_SWITCH, { source: `oauth_${icon.alt}` }, API.report);
22556
22719
  emits("auth", icon.alt);
22557
22720
  };
22721
+ const checkIsRecentLogin = (loginMethodList) => {
22722
+ return loginMethodList.includes(props.recentLoginType);
22723
+ };
22558
22724
  return (_ctx, _cache) => {
22559
- return openBlock(), createElementBlock(Fragment, null, [
22560
- createElementVNode("div", _hoisted_1$8, " —— " + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.otherLogin")) + " —— ", 1),
22561
- createElementVNode("div", _hoisted_2$5, [
22725
+ return openBlock(), createElementBlock("div", _hoisted_1$8, [
22726
+ createElementVNode("div", _hoisted_2$5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.otherLogin")), 1),
22727
+ createElementVNode("div", _hoisted_3$3, [
22562
22728
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.logos, (icon) => {
22563
22729
  return openBlock(), createElementBlock("div", {
22564
22730
  key: icon.alt,
22565
- class: "rounded-[50%] w-[40px] h-[40px] border-[1px] icon-wrap border-solid cursor-pointer mx-[12px] otherInfo-icon"
22731
+ class: "rounded-[50%] w-[40px] h-[40px] border-[1px] icon-wrap border-solid cursor-pointer otherInfo-icon"
22566
22732
  }, [
22567
22733
  createVNode(unref(Tooltip), {
22568
22734
  position: "top",
@@ -22575,14 +22741,21 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
22575
22741
  src: icon.src,
22576
22742
  alt: icon.alt,
22577
22743
  onClick: withModifiers(($event) => handleClick(icon), ["stop"])
22578
- }, null, 8, _hoisted_3$3)
22744
+ }, null, 8, _hoisted_4$3)
22579
22745
  ]),
22580
22746
  _: 2
22581
- }, 1032, ["content", "disabled"])
22747
+ }, 1032, ["content", "disabled"]),
22748
+ createElementVNode("div", _hoisted_5$2, [
22749
+ checkIsRecentLogin(icon.loginMethodList) ? (openBlock(), createElementBlock("img", {
22750
+ key: 0,
22751
+ src: unref(recentLoginImg),
22752
+ class: "w-[50px] h-[20px]"
22753
+ }, null, 8, _hoisted_6$2)) : createCommentVNode("", true)
22754
+ ])
22582
22755
  ]);
22583
22756
  }), 128))
22584
22757
  ])
22585
- ], 64);
22758
+ ]);
22586
22759
  };
22587
22760
  }
22588
22761
  });
@@ -22650,7 +22823,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
22650
22823
  modelValue: unref(vModels),
22651
22824
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => isRef(vModels) ? vModels.value = $event : null),
22652
22825
  size: "sm",
22653
- class: "mt-[6px] mb-[12px] agree-module flex items-center"
22826
+ class: "mb-[8px] agree-module flex items-center"
22654
22827
  }, {
22655
22828
  default: withCtx(() => [
22656
22829
  createElementVNode("span", _hoisted_1$6, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.readAgree")), 1),
@@ -22672,12 +22845,16 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
22672
22845
  const _hoisted_1$5 = { class: "text-center text-[18px] leading-[26px] font-bold mb-[24px] flex items-center justify-center relative" };
22673
22846
  const _hoisted_2$3 = { class: "back-img absolute mr-[24px] left-0" };
22674
22847
  const _hoisted_3$2 = ["src"];
22675
- const _hoisted_4$2 = { class: "tracking-[.5px]" };
22848
+ const _hoisted_4$2 = {
22849
+ key: 0,
22850
+ class: "tracking-[.5px]"
22851
+ };
22676
22852
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
22677
22853
  __name: "title",
22678
22854
  props: {
22679
22855
  title: {},
22680
22856
  showBack: { type: Boolean },
22857
+ showTitle: { type: Boolean },
22681
22858
  icon: {}
22682
22859
  },
22683
22860
  emits: ["back"],
@@ -22696,7 +22873,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
22696
22873
  onClick: withModifiers(handleClick, ["stop"])
22697
22874
  }, null, 8, _hoisted_3$2)) : createCommentVNode("", true)
22698
22875
  ]),
22699
- createElementVNode("span", _hoisted_4$2, toDisplayString$1(_ctx.title), 1)
22876
+ _ctx.showTitle ? (openBlock(), createElementBlock("span", _hoisted_4$2, toDisplayString$1(_ctx.title), 1)) : createCommentVNode("", true)
22700
22877
  ]);
22701
22878
  };
22702
22879
  }
@@ -25363,7 +25540,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
25363
25540
  }
25364
25541
  });
25365
25542
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-gitcode-layout-lib"]]);
25366
- const SlidCaptcha = defineAsyncComponent(() => import("./index-DeA-WN-i.js"));
25543
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-BfMyaz8a.js"));
25367
25544
  const useSlidCaptcha = () => {
25368
25545
  const { mount, unMount } = usePopup("slid-captcha-popup");
25369
25546
  const open = (config) => {
@@ -25486,59 +25663,73 @@ function useVisibilityPoll(pollFunction, options = {}, shouldPoll) {
25486
25663
  stopPoll
25487
25664
  };
25488
25665
  }
25489
- const _hoisted_1$1 = { class: "flex items-center gap-1" };
25666
+ const _hoisted_1$1 = { class: "flex items-center gap-1 h-[48px]" };
25490
25667
  const _hoisted_2 = { class: "devui-icon__container devui-icon--operable devui-icon--no-slots self-start min-w-[34px] mt-[-6px]" };
25491
25668
  const _hoisted_3 = {
25492
- key: 0,
25493
- class: "text-[14px] leading-[20px] text-[var(--devui-placeholder)] font-normal"
25494
- };
25495
- const _hoisted_4 = {
25496
- key: 0,
25497
- class: "flex items-center justify-center mb-[24px] mt-[-2px]"
25498
- };
25499
- const _hoisted_5 = {
25500
25669
  key: 1,
25501
- class: "forget-tips text-[var(--devui-link)] my-[16px] min-h-[32px] leading-[32px] px-[12px] tracking-[.5px]"
25502
- };
25503
- const _hoisted_6 = { class: "qrcode-container flex flex-col items-center justify-center my-4" };
25504
- const _hoisted_7 = ["src"];
25505
- const _hoisted_8 = {
25506
- key: 0,
25507
- class: "mask"
25670
+ class: "login-modal-content"
25508
25671
  };
25672
+ const _hoisted_4 = ["src"];
25673
+ const _hoisted_5 = { class: "text-[var(--theme-text)] mt-[6px]" };
25674
+ const _hoisted_6 = { class: "qrcode-container flex flex-col items-center justify-center" };
25675
+ const _hoisted_7 = { class: "flex flex-col items-center justify-center w-[180px] h-[180px] relative" };
25676
+ const _hoisted_8 = ["src"];
25509
25677
  const _hoisted_9 = {
25510
25678
  key: 0,
25511
- class: "flex flex-col gap-2 items-center justify-center"
25679
+ class: "mask"
25512
25680
  };
25513
- const _hoisted_10 = {
25681
+ const _hoisted_10 = { class: "flex gap-1 items-center justify-center text-[16px] flex-wrap font-medium" };
25682
+ const _hoisted_11 = { class: "text-[#252B3A]" };
25683
+ const _hoisted_12 = { class: "text-[var(--theme-link)]" };
25684
+ const _hoisted_13 = {
25514
25685
  key: 1,
25515
25686
  class: "flex flex-col gap-3 items-center justify-center"
25516
25687
  };
25517
- const _hoisted_11 = { class: "text-[var(--color-success)]" };
25518
- const _hoisted_12 = { class: "text-center" };
25519
- const _hoisted_13 = {
25688
+ const _hoisted_14 = { class: "text-[var(--color-success)]" };
25689
+ const _hoisted_15 = { class: "text-center" };
25690
+ const _hoisted_16 = {
25691
+ key: 0,
25692
+ class: "text-center text-[16px] mt-[40px] text-[var(--devui-text-weak)] font-bold"
25693
+ };
25694
+ const _hoisted_17 = {
25520
25695
  key: 1,
25521
- class: "text-center mt-2 text-[var(--devui-text-weak)] font-bold"
25696
+ class: "ml-[44px] mt-[32px] mr-[44px] text-[var(--theme-text)] leading-[22px]"
25522
25697
  };
25523
- const _hoisted_14 = {
25698
+ const _hoisted_18 = { class: "font-medium text-[20px]" };
25699
+ const _hoisted_19 = { class: "mt-[16px]" };
25700
+ const _hoisted_20 = {
25524
25701
  key: 0,
25525
- class: "login-modal-info h-[20px]"
25702
+ class: "flex items-baseline justify-between mb-[24px]"
25526
25703
  };
25527
- const _hoisted_15 = { class: "login-modal-info-left" };
25528
- const _hoisted_16 = {
25704
+ const _hoisted_21 = { class: "flex items-center" };
25705
+ const _hoisted_22 = { class: "w-[50px] h-[20px] last-login-img" };
25706
+ const _hoisted_23 = ["src"];
25707
+ const _hoisted_24 = { class: "text-[12px] leading-[32px] text-center" };
25708
+ const _hoisted_25 = {
25529
25709
  key: 1,
25530
- class: "mt-[18px]"
25710
+ class: "forget-tips text-[var(--devui-link)] my-[16px] min-h-[32px] leading-[32px] px-[12px] tracking-[.5px]"
25531
25711
  };
25532
- const _hoisted_17 = { class: "flex items-center justify-between pr-[16px]" };
25533
- const _hoisted_18 = { class: "mr-[16px]" };
25534
- const _hoisted_19 = {
25712
+ const _hoisted_26 = { key: 2 };
25713
+ const _hoisted_27 = { class: "flex items-center justify-between" };
25714
+ const _hoisted_28 = { class: "text-[var(--devui-text-weak)] font-bold text-[16px]" };
25715
+ const _hoisted_29 = { class: "text-[12px] leading-[32px]" };
25716
+ const _hoisted_30 = { class: "text-[12px] leading-[20px] mt-[16px] text-[var(--devui-placeholder)] font-normal" };
25717
+ const _hoisted_31 = {
25535
25718
  key: 0,
25536
- class: "login-modal-footer"
25719
+ class: "login-modal-info h-[20px]"
25537
25720
  };
25538
- const _hoisted_20 = { class: "flex justify-center" };
25539
- const _hoisted_21 = { key: 1 };
25540
- const _hoisted_22 = { class: "line-clamp-2" };
25541
- const _hoisted_23 = { class: "absolute-btn" };
25721
+ const _hoisted_32 = { class: "login-modal-info-left" };
25722
+ const _hoisted_33 = { class: "mt-[18px]" };
25723
+ const _hoisted_34 = { class: "flex justify-center" };
25724
+ const _hoisted_35 = { class: "flex items-center justify-center pr-[16px] mt-[16px]" };
25725
+ const _hoisted_36 = { class: "harmony-icon" };
25726
+ const _hoisted_37 = { class: "w-[50px] h-[20px] last-login-img" };
25727
+ const _hoisted_38 = ["src"];
25728
+ const _hoisted_39 = { class: "ml-[8px] text-[12px]" };
25729
+ const _hoisted_40 = { class: "login-modal-footer flex items-center justify-center" };
25730
+ const _hoisted_41 = { key: 2 };
25731
+ const _hoisted_42 = { class: "line-clamp-2" };
25732
+ const _hoisted_43 = { class: "absolute-btn" };
25542
25733
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25543
25734
  ...{
25544
25735
  name: "GLoginModal"
@@ -25581,6 +25772,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25581
25772
  const IconB = TransAssetsUrl(IconSource, "logo-back");
25582
25773
  const IconW = TransAssetsUrl(IconSource, "logo-wechat");
25583
25774
  const IconHb = TransAssetsUrl(IconSource, "logo-hb");
25775
+ const logoType = {
25776
+ black: "https://cdn-static.gitcode.com/static/images/gitcode-logo-white.png",
25777
+ white: "https://cdn-static.gitcode.com/static/images/gitcode-logo-dark.png"
25778
+ };
25584
25779
  const formErrors = reactive({});
25585
25780
  const extraErrors = reactive({
25586
25781
  agreement: "",
@@ -25604,27 +25799,32 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25604
25799
  {
25605
25800
  src: IconC,
25606
25801
  alt: "csdn",
25607
- describe: "csdn" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25802
+ describe: "csdn" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25803
+ loginMethodList: ["csdn"]
25608
25804
  },
25609
25805
  {
25610
25806
  src: IconHb,
25611
25807
  alt: "hbuilder",
25612
- describe: "Hbuilder" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25808
+ describe: "Hbuilder" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25809
+ loginMethodList: ["hbuilder", "hbuilder_plugins"]
25613
25810
  },
25614
25811
  {
25615
25812
  src: currentTheme.value === ThemeType.WHITE ? IconG : IconGW,
25616
25813
  alt: "github",
25617
- describe: "github" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25814
+ describe: "github" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25815
+ loginMethodList: ["github"]
25618
25816
  },
25619
25817
  {
25620
25818
  src: IconH,
25621
25819
  alt: "gitee",
25622
- describe: "gitee" + $t("gitCodeLayout.LoginModal.action.AccountLogin")
25820
+ describe: "gitee" + $t("gitCodeLayout.LoginModal.action.AccountLogin"),
25821
+ loginMethodList: ["gitee"]
25623
25822
  },
25624
25823
  {
25625
25824
  src: IconW,
25626
25825
  alt: "wechat_open",
25627
- describe: $t("gitCodeLayout.LoginModal.action.wechatScanCodeLogin")
25826
+ describe: $t("gitCodeLayout.LoginModal.action.wechatScanCodeLogin"),
25827
+ loginMethodList: ["wechat_open", "wechat_mp"]
25628
25828
  }
25629
25829
  ]);
25630
25830
  const emits = __emit;
@@ -25663,7 +25863,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25663
25863
  {
25664
25864
  type: "input",
25665
25865
  key: "username",
25666
- label: $t("gitCodeLayout.LoginModal.subtitle.name") + "/" + $t("gitCodeLayout.common.email"),
25866
+ label: $t("gitCodeLayout.userSetting.account.phone") + "/" + $t("gitCodeLayout.LoginModal.subtitle.name") + "/" + $t("gitCodeLayout.common.email"),
25667
25867
  required: true
25668
25868
  },
25669
25869
  {
@@ -25846,7 +26046,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25846
26046
  const status = ref(false);
25847
26047
  const hwStatus = ref(false);
25848
26048
  const FormRef = shallowRef(null);
25849
- const tabPanel = ref("miniProgram");
26049
+ const tabPanel = ref("verifyCode");
25850
26050
  const formType = ref(props.defaultType);
25851
26051
  const showProtoCheck = ref(false);
25852
26052
  const agreeAndLogin = () => {
@@ -25866,13 +26066,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25866
26066
  dict: RegisterForm.map((item) => {
25867
26067
  return {
25868
26068
  ...item,
25869
- defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : ""
26069
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : item.key === "verificationcode" ? cacheForm.verificationcode : "",
26070
+ editableSelect: false
25870
26071
  };
25871
26072
  }),
25872
26073
  showLabel: true,
25873
26074
  layout: "horizontal",
25874
- title: `🎉${$t("gitCodeLayout.LoginModal.title.register")}`,
25875
- showBack: true
26075
+ showTitle: false,
26076
+ showBack: false
25876
26077
  };
25877
26078
  }
25878
26079
  if (formType.value === "forget") {
@@ -25889,12 +26090,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25889
26090
  dict: VerifyForm.map((item) => {
25890
26091
  return {
25891
26092
  ...item,
25892
- defaultValue: item.key === "mobile" ? cacheForm.mobile : ""
26093
+ defaultValue: item.key === "mobile" ? cacheForm.mobile : "",
26094
+ editableSelect: true
25893
26095
  };
25894
26096
  }),
25895
26097
  showLabel: false,
25896
26098
  layout: "vertical",
25897
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
26099
+ showTitle: false,
25898
26100
  showBack: false
25899
26101
  };
25900
26102
  } else if (tabPanel.value === "password") {
@@ -25902,7 +26104,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25902
26104
  dict: PasswordForm,
25903
26105
  showLabel: false,
25904
26106
  layout: "vertical",
25905
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
26107
+ showTitle: false,
25906
26108
  showBack: false
25907
26109
  };
25908
26110
  } else {
@@ -25910,7 +26112,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25910
26112
  dict: MiniProgramForm,
25911
26113
  showLabel: false,
25912
26114
  layout: "vertical",
25913
- title: `🎉${$t("gitCodeLayout.LoginModal.title.login")}`,
26115
+ showTitle: false,
25914
26116
  showBack: false
25915
26117
  };
25916
26118
  }
@@ -25962,7 +26164,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25962
26164
  };
25963
26165
  const mfaCheck = ref(false);
25964
26166
  const handleMFALogin = (data) => {
25965
- phoneAndPasswordLogin(data, API);
26167
+ phoneAndPasswordLogin(data, API, LoginMethodEnum.PASSWORD);
25966
26168
  };
25967
26169
  const slidCaptcha = useSlidCaptcha();
25968
26170
  const LoginCheck = async () => {
@@ -25994,6 +26196,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25994
26196
  }
25995
26197
  };
25996
26198
  const registerAction = async (res, mobile) => {
26199
+ var _a;
25997
26200
  const data = {
25998
26201
  username: res.username,
25999
26202
  password: res.password,
@@ -26009,7 +26212,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26009
26212
  cacheForm.user_id = user_id;
26010
26213
  cacheForm.mask = mask;
26011
26214
  cacheForm.mobile = res.mobile;
26012
- phoneAndPasswordLogin(result2.data.data, API);
26215
+ const { country } = ((_a = FormRef.value) == null ? void 0 : _a.Data) || {};
26216
+ saveLoginMobile(mobile, country);
26217
+ phoneAndPasswordLogin(result2.data.data, API, LoginMethodEnum.PHONE);
26013
26218
  } else {
26014
26219
  extraErrors.requestInfo = result2.error.error_message;
26015
26220
  }
@@ -26056,7 +26261,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26056
26261
  mobile,
26057
26262
  code: res.code
26058
26263
  };
26059
- await loginFunction({ validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc" }, params, graphValidate, handleRemoteLogin);
26264
+ await loginFunction({ validFunc: LoginCheck, successFunc: loginSuccess, failFunc: loginFail, loginDeviceType: "pc", country }, params, graphValidate, handleRemoteLogin);
26060
26265
  }
26061
26266
  setTimeout(() => {
26062
26267
  loading.value = false;
@@ -26329,10 +26534,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26329
26534
  const pcAuthLogin = (type) => {
26330
26535
  authType.value = type;
26331
26536
  saveOauthType(type);
26332
- if (tabPanel.value === "miniProgram") {
26333
- stopPoll();
26334
- miniProgramStatus.value = "TIMEOUT";
26335
- }
26537
+ stopPoll();
26538
+ miniProgramStatus.value = "TIMEOUT";
26336
26539
  if (localStorage$2.getItem("access_token")) {
26337
26540
  emits("close", true);
26338
26541
  } else {
@@ -26409,7 +26612,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26409
26612
  emits("directClose");
26410
26613
  return;
26411
26614
  }
26615
+ useReport(REGISTER_CLICK_TO_LOGIN, {}, API.report);
26412
26616
  formType.value = "login";
26617
+ checkMiniProgramStatus();
26413
26618
  };
26414
26619
  const miniProgramStatus = ref("WAITING");
26415
26620
  const miniProgramLoading = ref(false);
@@ -26425,7 +26630,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26425
26630
  };
26426
26631
  const fetchMiniProgramStatus = async () => {
26427
26632
  var _a;
26428
- if (tabPanel.value !== "miniProgram") {
26633
+ if (formType.value !== "login") {
26429
26634
  stopPoll();
26430
26635
  return;
26431
26636
  }
@@ -26468,11 +26673,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26468
26673
  tabPanel.value = val;
26469
26674
  authType.value = null;
26470
26675
  useReport(LOGIN_MODAL_TAB_SWITCH, { source: `tab_${val}` }, API.report);
26471
- if (val !== "miniProgram") {
26472
- stopPoll();
26473
- handleMiniProgramReset();
26474
- return;
26475
- }
26676
+ };
26677
+ const checkMiniProgramStatus = async () => {
26476
26678
  if (!miniProgramInfo.value.scene_id) {
26477
26679
  getMiniProgramQrCode();
26478
26680
  return;
@@ -26488,12 +26690,24 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26488
26690
  shouldMiniProgramPoll.value = true;
26489
26691
  startPoll();
26490
26692
  };
26693
+ const recentLoginType = ref(null);
26694
+ const getRecentLogin = async () => {
26695
+ recentLoginType.value = localStorage$2.getItem("lastLoginMethod") || null;
26696
+ };
26697
+ const todayTechHistory = ref(null);
26698
+ const getTodayTechHistory = async () => {
26699
+ var _a, _b, _c;
26700
+ const res = await API.getTodayTechHistory();
26701
+ 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]) || {};
26702
+ };
26491
26703
  const resetPwdDirectly = ref(false);
26492
26704
  const resetPwdWhiteList = ["change_password"];
26493
26705
  onMounted(() => {
26494
- if (tabPanel.value === "miniProgram" && formType.value === "login") {
26495
- handleTabPanelChange(tabPanel.value);
26706
+ if (formType.value === "login") {
26707
+ getMiniProgramQrCode();
26496
26708
  }
26709
+ getRecentLogin();
26710
+ getTodayTechHistory();
26497
26711
  if (resetPwdWhiteList.includes(props.resetPwdSource) && formType.value === "forget") {
26498
26712
  resetPwdDirectly.value = true;
26499
26713
  }
@@ -26502,7 +26716,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26502
26716
  return openBlock(), createElementBlock(Fragment, null, [
26503
26717
  createVNode(unref(Modal), {
26504
26718
  modelValue: unref(vModels),
26505
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => isRef(vModels) ? vModels.value = $event : null),
26719
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => isRef(vModels) ? vModels.value = $event : null),
26506
26720
  "show-close": false,
26507
26721
  "lock-scroll": _ctx.lockScroll,
26508
26722
  draggable: _ctx.draggable,
@@ -26512,157 +26726,294 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26512
26726
  class: normalizeClass([
26513
26727
  "login-modal",
26514
26728
  formType.value === "login" ? "login-modal-l" : "login-modal-r",
26729
+ formType.value === "register" ? "login-modal-register" : "",
26515
26730
  mfaCheck.value ? "login-modal-mfa" : ""
26516
26731
  ]),
26517
26732
  onClose: onModalClose
26518
26733
  }, createSlots({
26519
- default: withCtx(() => [
26520
- mfaCheck.value ? (openBlock(), createBlock(MFA, {
26521
- key: 0,
26522
- API: unref(API),
26523
- onBack: handleBack,
26524
- onSuccess: handleMFALogin,
26525
- mask: cacheForm.mask
26526
- }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
26527
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_4, [
26528
- createElementVNode("div", {
26529
- class: normalizeClass([
26530
- "login-modal-tab mr-[18px]",
26531
- tabPanel.value === "miniProgram" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26532
- ]),
26533
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleTabPanelChange("miniProgram"), ["stop"]))
26534
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.title")), 3),
26535
- createElementVNode("div", {
26536
- class: normalizeClass([
26537
- "login-modal-tab mr-[18px] ml-[18px]",
26538
- tabPanel.value === "verifyCode" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26539
- ]),
26540
- onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleTabPanelChange("verifyCode"), ["stop"]))
26541
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.sms")), 3),
26542
- createElementVNode("div", {
26543
- class: normalizeClass([
26544
- "login-modal-tab ml-[18px]",
26545
- tabPanel.value === "password" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26546
- ]),
26547
- onClick: _cache[2] || (_cache[2] = withModifiers(($event) => handleTabPanelChange("password"), ["stop"]))
26548
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.password")), 3)
26549
- ])) : createCommentVNode("", true),
26550
- 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),
26551
- formType.value === "login" && tabPanel.value === "miniProgram" ? (openBlock(), createBlock(DataPanel, {
26552
- key: 2,
26553
- loading: miniProgramLoading.value,
26554
- empty: false,
26555
- card: false,
26556
- class: "mini-program-qrcode",
26557
- border: false,
26558
- animation: true
26559
- }, {
26560
- default: withCtx(() => [
26561
- createElementVNode("div", _hoisted_6, [
26734
+ default: withCtx(() => {
26735
+ var _a, _b;
26736
+ return [
26737
+ mfaCheck.value ? (openBlock(), createBlock(MFA, {
26738
+ key: 0,
26739
+ API: unref(API),
26740
+ onBack: handleBack,
26741
+ onSuccess: handleMFALogin,
26742
+ mask: cacheForm.mask
26743
+ }, null, 8, ["API", "mask"])) : (openBlock(), createElementBlock("div", _hoisted_3, [
26744
+ formType.value === "login" || formType.value === "register" ? (openBlock(), createElementBlock("div", {
26745
+ key: 0,
26746
+ class: normalizeClass(["w-[470px] login-modal-content-left", formType.value === "register" ? "login-modal-content-left-register" : "login-modal-content-left-login"])
26747
+ }, [
26748
+ createElementVNode("div", {
26749
+ class: normalizeClass(formType.value === "register" ? "login-modal-content-left-register-logo" : "flex flex-col items-center")
26750
+ }, [
26562
26751
  createElementVNode("img", {
26563
- src: miniProgramInfo.value.qrcode,
26564
- alt: "小程序二维码",
26565
- class: "w-[158px] h-[158px]"
26566
- }, null, 8, _hoisted_7),
26567
- miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_8, [
26568
- miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", _hoisted_9, [
26569
- createVNode(GIcon, {
26570
- name: "gt-line-Refresh",
26571
- size: "18"
26572
- }),
26573
- createElementVNode("div", null, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
26574
- createElementVNode("button", { onClick: getMiniProgramQrCode }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
26575
- ])) : createCommentVNode("", true),
26576
- ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_10, [
26577
- createElementVNode("div", _hoisted_11, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
26578
- createElementVNode("div", _hoisted_12, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
26579
- ])) : createCommentVNode("", true)
26580
- ])) : createCommentVNode("", true),
26581
- !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_13, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
26582
- key: 2,
26583
- onClick: getMiniProgramQrCode,
26584
- class: "mt-2"
26585
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip06")), 1))
26586
- ])
26587
- ]),
26588
- _: 1
26589
- }, 8, ["loading"])) : (openBlock(), createBlock(unref(_sfc_main$a), {
26590
- key: formType.value,
26591
- DataList: FormConfig.value.dict,
26592
- "show-label": FormConfig.value.showLabel,
26593
- ref_key: "FormRef",
26594
- ref: FormRef,
26595
- onCountDown: handleCountDown,
26596
- onChange: handleFormChange,
26597
- onComplete: handleFormInput,
26598
- layout: FormConfig.value.layout,
26599
- size: "lg",
26600
- "label-size": "md",
26601
- "message-type": "none",
26602
- "hide-required-mark": "",
26603
- onKeypress: withKeys(handleConfirm, ["enter"]),
26604
- class: normalizeClass(formType.value === "register" ? "mt-[20px] login-form-register-cell" : "login-form-common-cell"),
26605
- errors: { msgError: msgError.value },
26606
- "is-forget": formType.value === "forget"
26607
- }, {
26608
- submit: withCtx(() => [
26609
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_14, [
26610
- createElementVNode("div", _hoisted_15, [
26611
- createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
26612
- errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26613
- createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
26614
- createElementVNode("span", {
26615
- onClick: _cache[3] || (_cache[3] = ($event) => handleTabPanelChange("verifyCode")),
26616
- class: "login-modal-info-left__link"
26617
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
26618
- ], 64)) : createCommentVNode("", true)
26619
- ]),
26620
- withDirectives(createElementVNode("div", {
26621
- class: "login-modal-info-right",
26622
- onClick: _cache[4] || (_cache[4] = withModifiers(($event) => formType.value = "forget", ["stop"]))
26623
- }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
26624
- [vShow, tabPanel.value === "password" && formType.value === "login"]
26625
- ])
26626
- ])) : createCommentVNode("", true),
26627
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_16, [
26628
- createVNode(unref(Button), {
26629
- color: "primary",
26630
- variant: "solid",
26631
- size: "lg",
26632
- onClick: handleConfirm,
26633
- loading: loading.value,
26634
- disabled: disabled.value,
26635
- class: "login-modal-button"
26752
+ src: logoType[unref(currentTheme)],
26753
+ alt: "gitcode-logo",
26754
+ class: "w-[130px] h-[30px]"
26755
+ }, null, 8, _hoisted_4),
26756
+ createElementVNode("div", _hoisted_5, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.desc")), 1)
26757
+ ], 2),
26758
+ createElementVNode("div", {
26759
+ class: normalizeClass(["login-modal-left-bg", "login-modal-left-bg-" + unref(currentTheme)])
26760
+ }, [
26761
+ formType.value === "login" ? (openBlock(), createBlock(DataPanel, {
26762
+ key: 0,
26763
+ loading: miniProgramLoading.value,
26764
+ empty: false,
26765
+ card: false,
26766
+ class: "mini-program-qrcode",
26767
+ border: false,
26768
+ animation: true
26636
26769
  }, {
26637
26770
  default: withCtx(() => [
26638
- createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.login")), 1)
26771
+ createElementVNode("div", _hoisted_6, [
26772
+ createElementVNode("div", _hoisted_7, [
26773
+ createElementVNode("img", {
26774
+ src: miniProgramInfo.value.qrcode,
26775
+ alt: "小程序二维码",
26776
+ class: "w-[180px] h-[180px]"
26777
+ }, null, 8, _hoisted_8),
26778
+ miniProgramStatus.value !== "WAITING" ? (openBlock(), createElementBlock("div", _hoisted_9, [
26779
+ miniProgramStatus.value === "TIMEOUT" ? (openBlock(), createElementBlock("div", {
26780
+ key: 0,
26781
+ onClick: getMiniProgramQrCode,
26782
+ class: "flex flex-col gap-2 items-center justify-center cursor-pointer gap-[40px]"
26783
+ }, [
26784
+ createVNode(GIcon, {
26785
+ name: "gt-line-update",
26786
+ size: "18",
26787
+ color: "#3B3E55"
26788
+ }),
26789
+ createElementVNode("div", _hoisted_10, [
26790
+ createElementVNode("div", _hoisted_11, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip01")), 1),
26791
+ createElementVNode("button", _hoisted_12, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip02")), 1)
26792
+ ])
26793
+ ])) : createCommentVNode("", true),
26794
+ ["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("div", _hoisted_13, [
26795
+ createElementVNode("div", _hoisted_14, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip03")), 1),
26796
+ createElementVNode("div", _hoisted_15, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip04")), 1)
26797
+ ])) : createCommentVNode("", true)
26798
+ ])) : createCommentVNode("", true)
26799
+ ]),
26800
+ !["SCAN", "CANCEL", "LOGIN"].includes(miniProgramStatus.value) ? (openBlock(), createElementBlock("p", _hoisted_16, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip05")), 1)) : (openBlock(), createElementBlock("button", {
26801
+ key: 1,
26802
+ onClick: getMiniProgramQrCode,
26803
+ class: "mt-2"
26804
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.miniProgram.tip06")), 1))
26805
+ ])
26639
26806
  ]),
26640
26807
  _: 1
26641
- }, 8, ["loading", "disabled"]),
26642
- createElementVNode("div", _hoisted_17, [
26643
- _ctx.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
26644
- key: 0,
26645
- class: "text-[var(--theme-link)] text-center mt-[12px] cursor-pointer leading-[32px] openharmony-btn",
26646
- onClick: withModifiers(handleRegisterHarmony, ["stop"])
26808
+ }, 8, ["loading"])) : formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_17, [
26809
+ createElementVNode("div", _hoisted_18, toDisplayString$1((_a = todayTechHistory.value) == null ? void 0 : _a.title), 1),
26810
+ createElementVNode("div", _hoisted_19, toDisplayString$1((_b = todayTechHistory.value) == null ? void 0 : _b.content), 1)
26811
+ ])) : createCommentVNode("", true)
26812
+ ], 2)
26813
+ ], 2)) : createCommentVNode("", true),
26814
+ createElementVNode("div", {
26815
+ class: normalizeClass(formType.value === "forget" ? "w-[512px]" : "w-[370px]")
26816
+ }, [
26817
+ formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_20, [
26818
+ createElementVNode("div", _hoisted_21, [
26819
+ createElementVNode("div", {
26820
+ class: normalizeClass([
26821
+ "login-modal-tab",
26822
+ tabPanel.value === "verifyCode" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26823
+ ]),
26824
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => handleTabPanelChange("verifyCode"), ["stop"]))
26647
26825
  }, [
26648
- _cache[16] || (_cache[16] = createElementVNode("img", {
26649
- src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
26650
- alt: "",
26651
- class: "mr-[16px] inline-block"
26652
- }, null, -1)),
26653
- createElementVNode("span", _hoisted_18, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
26654
- ])) : createCommentVNode("", true),
26826
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.sms")) + " ", 1),
26827
+ createElementVNode("div", _hoisted_22, [
26828
+ recentLoginType.value === unref(LoginMethodEnum).PHONE ? (openBlock(), createElementBlock("img", {
26829
+ key: 0,
26830
+ src: unref(recentLoginImg),
26831
+ class: "w-[50px] h-[20px]"
26832
+ }, null, 8, _hoisted_23)) : createCommentVNode("", true)
26833
+ ])
26834
+ ], 2),
26655
26835
  createElementVNode("div", {
26656
- class: "text-[var(--theme-link)] text-center mt-[12px] cursor-pointer leading-[32px] hover:underline",
26657
- onClick: withModifiers(clickRegister, ["stop"])
26836
+ class: normalizeClass([
26837
+ "login-modal-tab ml-[24px]",
26838
+ tabPanel.value === "password" ? "login-modal-tab-active" : "login-modal-tab-inactive"
26839
+ ]),
26840
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => handleTabPanelChange("password"), ["stop"]))
26841
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.subtitle.password")), 3)
26842
+ ]),
26843
+ createElementVNode("div", _hoisted_24, [
26844
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.noAccount")) + " ", 1),
26845
+ createElementVNode("span", {
26846
+ onClick: clickRegister,
26847
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
26658
26848
  }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.registerAgain")), 1)
26659
26849
  ])
26660
- ])) : createCommentVNode("", true)
26661
- ]),
26662
- _: 1
26663
- }, 8, ["DataList", "show-label", "layout", "class", "errors", "is-forget"]))
26664
- ], 64))
26665
- ]),
26850
+ ])) : createCommentVNode("", true),
26851
+ formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_25, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.bindMobileWithAccount")) + "/" + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.resetYourPassword")), 1)) : createCommentVNode("", true),
26852
+ formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_26, [
26853
+ createElementVNode("div", _hoisted_27, [
26854
+ createElementVNode("div", _hoisted_28, "🎉 " + toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.title.register")), 1),
26855
+ createElementVNode("div", _hoisted_29, [
26856
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.haveAccount")) + " ", 1),
26857
+ createElementVNode("span", {
26858
+ onClick: handleTitleBackClick,
26859
+ class: "text-[var(--theme-link)] cursor-pointer hover:underline"
26860
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.backLogin")), 1)
26861
+ ])
26862
+ ]),
26863
+ createElementVNode("div", _hoisted_30, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.registerDesc")), 1)
26864
+ ])) : createCommentVNode("", true),
26865
+ (openBlock(), createBlock(unref(_sfc_main$a), {
26866
+ key: formType.value,
26867
+ DataList: FormConfig.value.dict,
26868
+ "show-label": FormConfig.value.showLabel,
26869
+ ref_key: "FormRef",
26870
+ ref: FormRef,
26871
+ onCountDown: handleCountDown,
26872
+ onChange: handleFormChange,
26873
+ onComplete: handleFormInput,
26874
+ layout: FormConfig.value.layout,
26875
+ size: "lg",
26876
+ "label-size": "md",
26877
+ "message-type": "none",
26878
+ "hide-required-mark": "",
26879
+ onKeypress: withKeys(handleConfirm, ["enter"]),
26880
+ class: normalizeClass(formType.value === "register" ? "mt-[16px] login-form-register-cell" : "login-form-common-cell"),
26881
+ errors: { msgError: msgError.value },
26882
+ formErrors,
26883
+ "is-forget": formType.value === "forget"
26884
+ }, {
26885
+ submit: withCtx(() => {
26886
+ var _a2;
26887
+ return [
26888
+ formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_31, [
26889
+ createElementVNode("div", _hoisted_32, [
26890
+ createTextVNode(toDisplayString$1(errorMsg.value) + " ", 1),
26891
+ errForRemoteLogin.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
26892
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.unusualLogin")), 1),
26893
+ createElementVNode("span", {
26894
+ onClick: _cache[2] || (_cache[2] = ($event) => handleTabPanelChange("verifyCode")),
26895
+ class: "login-modal-info-left__link"
26896
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.smsLogin")), 1)
26897
+ ], 64)) : createCommentVNode("", true)
26898
+ ]),
26899
+ withDirectives(createElementVNode("div", {
26900
+ class: "login-modal-info-right",
26901
+ onClick: _cache[3] || (_cache[3] = withModifiers(($event) => formType.value = "forget", ["stop"]))
26902
+ }, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.tips.forgotPassword")), 513), [
26903
+ [vShow, tabPanel.value === "password" && formType.value === "login"]
26904
+ ])
26905
+ ])) : createCommentVNode("", true),
26906
+ formType.value === "login" ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
26907
+ createElementVNode("div", _hoisted_33, [
26908
+ createVNode(unref(Button), {
26909
+ color: "primary",
26910
+ variant: "solid",
26911
+ size: "lg",
26912
+ onClick: handleConfirm,
26913
+ loading: loading.value,
26914
+ disabled: disabled.value,
26915
+ class: "login-modal-button"
26916
+ }, {
26917
+ default: withCtx(() => [
26918
+ createTextVNode(toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.login")), 1)
26919
+ ]),
26920
+ _: 1
26921
+ }, 8, ["loading", "disabled"]),
26922
+ createElementVNode("div", {
26923
+ class: normalizeClass([["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""], "mt-[16px]"])
26924
+ }, [
26925
+ createElementVNode("div", _hoisted_34, [
26926
+ createVNode(_sfc_main$8, {
26927
+ modelValue: status.value,
26928
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => status.value = $event),
26929
+ onDeclares: _cache[5] || (_cache[5] = (typ) => handleDisplay(typ))
26930
+ }, null, 8, ["modelValue"])
26931
+ ])
26932
+ ], 2),
26933
+ createElementVNode("div", _hoisted_35, [
26934
+ _ctx.openHarmonyGuide ? (openBlock(), createElementBlock("div", {
26935
+ key: 0,
26936
+ class: "text-[var(--theme-link)] flex items-center mt-[12px] cursor-pointer",
26937
+ onClick: withModifiers(handleRegisterHarmony, ["stop"])
26938
+ }, [
26939
+ createElementVNode("div", _hoisted_36, [
26940
+ _cache[15] || (_cache[15] = createElementVNode("img", {
26941
+ src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
26942
+ alt: "",
26943
+ class: "w-[32px] h-[32px] inline-block harmony-icon-img"
26944
+ }, null, -1)),
26945
+ createElementVNode("div", _hoisted_37, [
26946
+ recentLoginType.value === unref(LoginMethodEnum).HARMONY ? (openBlock(), createElementBlock("img", {
26947
+ key: 0,
26948
+ src: unref(recentLoginImg),
26949
+ class: "w-[50px] h-[20px]"
26950
+ }, null, 8, _hoisted_38)) : createCommentVNode("", true)
26951
+ ])
26952
+ ]),
26953
+ createElementVNode("span", _hoisted_39, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.action.oh")), 1)
26954
+ ])) : createCommentVNode("", true)
26955
+ ])
26956
+ ]),
26957
+ createElementVNode("div", _hoisted_40, [
26958
+ createVNode(GAuth, {
26959
+ logos,
26960
+ onAuth: pcAuthLogin,
26961
+ recentLoginType: recentLoginType.value,
26962
+ class: "flex-1"
26963
+ }, null, 8, ["logos", "recentLoginType"])
26964
+ ])
26965
+ ], 64)) : createCommentVNode("", true),
26966
+ formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_41, [
26967
+ createElementVNode("div", {
26968
+ class: normalizeClass(["text-[var(--devui-danger)] text-[14px] break-all box-border leading-[20px] h-[40px]", formType.value === "register" ? "mt-[-8px]" : ((_a2 = formErrors == null ? void 0 : formErrors.username) == null ? void 0 : _a2.length) > 42 ? "cursor-pointer" : ""])
26969
+ }, [
26970
+ createElementVNode("span", _hoisted_42, toDisplayString$1(errorMsg.value), 1)
26971
+ ], 2),
26972
+ createElementVNode("div", {
26973
+ class: normalizeClass(["register-agree mt-[16px]", [AgreementWarn.value ? "shaking-box" : ""]])
26974
+ }, [
26975
+ createVNode(_sfc_main$7, {
26976
+ modelValue: hwStatus.value,
26977
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => hwStatus.value = $event),
26978
+ onDeclares: _cache[7] || (_cache[7] = (typ) => handleDisplay(typ, "huawei")),
26979
+ "agreement-text": `《${unref($t)("gitCodeLayout.LoginModal.link.huaweiCloudAgreement")}》`,
26980
+ "privacy-text": `《${unref($t)("gitCodeLayout.LoginModal.link.agreementPrivacy")}》`,
26981
+ onClick: _cache[8] || (_cache[8] = ($event) => agreementReport("signup_select", `hw${hwStatus.value ? 1 : 0}`))
26982
+ }, null, 8, ["modelValue", "agreement-text", "privacy-text"]),
26983
+ createVNode(_sfc_main$7, {
26984
+ modelValue: status.value,
26985
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => status.value = $event),
26986
+ onDeclares: _cache[10] || (_cache[10] = (typ) => handleDisplay(typ)),
26987
+ "agreement-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
26988
+ "privacy-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
26989
+ onClick: _cache[11] || (_cache[11] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
26990
+ }, null, 8, ["modelValue", "agreement-text", "privacy-text"])
26991
+ ], 2),
26992
+ createElementVNode("div", _hoisted_43, [
26993
+ createVNode(unref(Button), {
26994
+ color: "primary",
26995
+ variant: "solid",
26996
+ size: "lg",
26997
+ onClick: handleConfirm,
26998
+ disabled: disabled.value,
26999
+ loading: loading.value,
27000
+ class: "w-[100%] mb-[14px] mt-[10px]"
27001
+ }, {
27002
+ default: withCtx(() => [
27003
+ createTextVNode(toDisplayString$1(formType.value === "forget" ? unref($t)("gitCodeLayout.userSetting.account.changePassword") : unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
27004
+ ]),
27005
+ _: 1
27006
+ }, 8, ["disabled", "loading"])
27007
+ ])
27008
+ ])) : createCommentVNode("", true)
27009
+ ];
27010
+ }),
27011
+ _: 1
27012
+ }, 8, ["DataList", "show-label", "layout", "class", "errors", "formErrors", "is-forget"]))
27013
+ ], 2)
27014
+ ]))
27015
+ ];
27016
+ }),
26666
27017
  _: 2
26667
27018
  }, [
26668
27019
  !mfaCheck.value ? {
@@ -26672,10 +27023,11 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26672
27023
  createVNode(GTitle, {
26673
27024
  icon: unref(IconB),
26674
27025
  title: FormConfig.value.title,
27026
+ "show-title": FormConfig.value.showTitle,
26675
27027
  onBack: handleTitleBackClick,
26676
27028
  "show-back": FormConfig.value.showBack,
26677
27029
  class: "login-modal-title flex-1"
26678
- }, null, 8, ["icon", "title", "show-back"]),
27030
+ }, null, 8, ["icon", "title", "show-title", "show-back"]),
26679
27031
  createElementVNode("div", _hoisted_2, [
26680
27032
  _ctx.showClose && !showProtoCheck.value ? (openBlock(), createBlock(GIcon, {
26681
27033
  key: 0,
@@ -26684,86 +27036,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
26684
27036
  size: "18"
26685
27037
  })) : createCommentVNode("", true)
26686
27038
  ])
26687
- ]),
26688
- formType.value === "register" ? (openBlock(), createElementBlock("div", _hoisted_3, toDisplayString$1(unref($t)("gitCodeLayout.LoginModal.registerDesc")), 1)) : createCommentVNode("", true)
27039
+ ])
26689
27040
  ]),
26690
27041
  key: "0"
26691
- } : void 0,
26692
- !mfaCheck.value ? {
26693
- name: "footer",
26694
- fn: withCtx(() => {
26695
- var _a;
26696
- return [
26697
- formType.value === "login" ? (openBlock(), createElementBlock("div", _hoisted_19, [
26698
- createVNode(GAuth, {
26699
- logos,
26700
- onAuth: pcAuthLogin
26701
- }, null, 8, ["logos"]),
26702
- createElementVNode("div", {
26703
- class: normalizeClass(["login-modal-footer-args", AgreementWarn.value ? "shaking-box" : ""])
26704
- }, [
26705
- createElementVNode("div", _hoisted_20, [
26706
- createVNode(_sfc_main$8, {
26707
- modelValue: status.value,
26708
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => status.value = $event),
26709
- onDeclares: _cache[6] || (_cache[6] = (typ) => handleDisplay(typ))
26710
- }, null, 8, ["modelValue"])
26711
- ])
26712
- ], 2)
26713
- ])) : formType.value === "register" || formType.value === "forget" ? (openBlock(), createElementBlock("div", _hoisted_21, [
26714
- createElementVNode("div", {
26715
- 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" : ""])
26716
- }, [
26717
- createElementVNode("span", _hoisted_22, toDisplayString$1(errorMsg.value), 1)
26718
- ], 2),
26719
- formType.value === "register" ? (openBlock(), createElementBlock("div", {
26720
- key: 0,
26721
- class: normalizeClass(["register-agree", [AgreementWarn.value ? "shaking-box" : ""]])
26722
- }, [
26723
- createVNode(_sfc_main$7, {
26724
- modelValue: hwStatus.value,
26725
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => hwStatus.value = $event),
26726
- onDeclares: _cache[8] || (_cache[8] = (typ) => handleDisplay(typ, "huawei")),
26727
- "agreement-text": `《${unref($t)("gitCodeLayout.LoginModal.link.huaweiCloudAgreement")}》`,
26728
- "privacy-text": `《${unref($t)("gitCodeLayout.LoginModal.link.agreementPrivacy")}》`,
26729
- onClick: _cache[9] || (_cache[9] = ($event) => agreementReport("signup_select", `hw${hwStatus.value ? 1 : 0}`))
26730
- }, null, 8, ["modelValue", "agreement-text", "privacy-text"]),
26731
- createVNode(_sfc_main$7, {
26732
- modelValue: status.value,
26733
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => status.value = $event),
26734
- onDeclares: _cache[11] || (_cache[11] = (typ) => handleDisplay(typ)),
26735
- "agreement-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
26736
- "privacy-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
26737
- onClick: _cache[12] || (_cache[12] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
26738
- }, null, 8, ["modelValue", "agreement-text", "privacy-text"])
26739
- ], 2)) : createCommentVNode("", true),
26740
- createElementVNode("div", _hoisted_23, [
26741
- createVNode(unref(Button), {
26742
- color: "primary",
26743
- variant: "solid",
26744
- size: "lg",
26745
- onClick: handleConfirm,
26746
- disabled: disabled.value,
26747
- loading: loading.value,
26748
- class: "w-[100%]"
26749
- }, {
26750
- default: withCtx(() => [
26751
- createTextVNode(toDisplayString$1(formType.value === "forget" ? unref($t)("gitCodeLayout.userSetting.account.changePassword") : unref($t)("gitCodeLayout.LoginModal.action.verify")), 1)
26752
- ]),
26753
- _: 1
26754
- }, 8, ["disabled", "loading"])
26755
- ])
26756
- ])) : createCommentVNode("", true)
26757
- ];
26758
- }),
26759
- key: "1"
26760
27042
  } : void 0
26761
27043
  ]), 1032, ["modelValue", "lock-scroll", "draggable", "escapable", "append-to-body", "class"]),
26762
27044
  createVNode(_sfc_main$5, {
26763
27045
  visible: showProtoCheck.value,
26764
- "onUpdate:visible": _cache[14] || (_cache[14] = ($event) => showProtoCheck.value = $event),
27046
+ "onUpdate:visible": _cache[13] || (_cache[13] = ($event) => showProtoCheck.value = $event),
26765
27047
  onConfirm: agreeAndLogin,
26766
- onDeclares: _cache[15] || (_cache[15] = (typ) => handleDisplay(typ))
27048
+ onDeclares: _cache[14] || (_cache[14] = (typ) => handleDisplay(typ))
26767
27049
  }, null, 8, ["visible"])
26768
27050
  ], 64);
26769
27051
  };