vue-layout-gitcode 1.12.76 → 1.12.78

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, inject, openBlock, createElementBlock, Fragment, renderList, withDirectives, createBlock, unref, ref, watch, createElementVNode, createVNode, toDisplayString, createCommentVNode } from "vue";
2
- import { h as headRequest, R as REPO_MODULE, v as vElementExposure, b as REPO_EVENT, _ as _export_sfc, a as i18n, c as useLayoutConfig, G as GIcon } from "./index-C6VJdLiY.js";
3
- import { u as useReportRepo, S as SearchRepoCard, m as mergeSearchSuggestions } from "./search-suggestion-DRDzaAwH.js";
2
+ import { h as headRequest, R as REPO_MODULE, v as vElementExposure, b as REPO_EVENT, _ as _export_sfc, a as i18n, c as useLayoutConfig, G as GIcon } from "./index-BvBm0VqE.js";
3
+ import { u as useReportRepo, S as SearchRepoCard, m as mergeSearchSuggestions } from "./search-suggestion-KexNvYM9.js";
4
4
  import "vue-devui-lal/icon";
5
5
  import "vue-devui-lal/icon/style.css";
6
6
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, inject, useSlots, computed, ref, openBlock, createBlock, unref, withCtx, createElementVNode, normalizeClass, createElementBlock, createCommentVNode, createTextVNode, toDisplayString, renderSlot } from "vue";
2
- import { a as i18n, c as useLayoutConfig, B as ThemeType, C as currentTheme, L as LANG_ZH, D as LANG_EN, F as getLocaleLang, G as GIcon, H as emitEvent, b as REPO_EVENT, I as ASIDE_MENU_REPO, J as isHttps, K as navigateWithMigrationGuard, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { a as i18n, c as useLayoutConfig, B as ThemeType, C as currentTheme, L as LANG_ZH, D as LANG_EN, F as getLocaleLang, G as GIcon, H as emitEvent, b as REPO_EVENT, I as ASIDE_MENU_REPO, J as isHttps, K as navigateWithMigrationGuard, _ as _export_sfc } from "./index-BvBm0VqE.js";
3
3
  import { useRouter } from "vue-router";
4
4
  import { Popover } from "vue-devui-lal/popover";
5
5
  import "vue-devui-lal/popover/style.css";
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, inject, ref, reactive, watch, computed, openBlock, createElementBlock, Fragment, createElementVNode, toDisplayString, unref, createVNode, withModifiers, normalizeClass, withCtx, renderList, createBlock, createCommentVNode, createTextVNode, withDirectives, vShow } from "vue";
2
- import { a as i18n, c as useLayoutConfig, G as GIcon, t as transformUrl, N as _sfc_main$1, O as loadAsideData, K as navigateWithMigrationGuard, H as emitEvent, s as setLoginTriggerSource, e as useRequestReport, M as asideRequest, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { a as i18n, c as useLayoutConfig, G as GIcon, t as transformUrl, N as _sfc_main$1, O as loadAsideData, K as navigateWithMigrationGuard, H as emitEvent, s as setLoginTriggerSource, e as useRequestReport, M as asideRequest, _ as _export_sfc } from "./index-BvBm0VqE.js";
3
3
  import { useRouter } from "vue-router";
4
- import { t as transWebUrl } from "./transWebUrl-CRhJtst7.js";
4
+ import { t as transWebUrl } from "./transWebUrl-DRxMMqi_.js";
5
5
  import { Select, Option } from "vue-devui-lal/select";
6
6
  import { Input } from "vue-devui-lal/input";
7
7
  import { Skeleton } from "vue-devui-lal/skeleton";
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, inject, ref, reactive, computed, watch, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, createVNode, withModifiers, normalizeClass, withCtx, createBlock, createCommentVNode, Fragment, renderList, createTextVNode, withDirectives, vShow } from "vue";
2
- import { a as i18n, c as useLayoutConfig, t as transformUrl, G as GIcon, M as asideRequest, K as navigateWithMigrationGuard, H as emitEvent, s as setLoginTriggerSource, e as useRequestReport, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { a as i18n, c as useLayoutConfig, t as transformUrl, G as GIcon, M as asideRequest, K as navigateWithMigrationGuard, H as emitEvent, s as setLoginTriggerSource, e as useRequestReport, _ as _export_sfc } from "./index-BvBm0VqE.js";
3
3
  import { useRouter } from "vue-router";
4
- import { t as transWebUrl } from "./transWebUrl-CRhJtst7.js";
4
+ import { t as transWebUrl } from "./transWebUrl-DRxMMqi_.js";
5
5
  import { Input } from "vue-devui-lal/input";
6
6
  import { Skeleton } from "vue-devui-lal/skeleton";
7
7
  import { MenuItem } from "vue-devui-lal/menu";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, inject, watch, computed, withDirectives, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, Fragment, renderList, createVNode, vShow } from "vue";
2
- import { a as i18n, h as headRequest, G as GIcon, r as reqCatch } from "./index-C6VJdLiY.js";
2
+ import { a as i18n, h as headRequest, G as GIcon, r as reqCatch } from "./index-BvBm0VqE.js";
3
3
  import { useRoute, useRouter } from "vue-router";
4
4
  import "vue-devui-lal/icon";
5
5
  import "vue-devui-lal/icon/style.css";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createElementBlock, Fragment, renderList, normalizeClass, createElementVNode, createVNode, toDisplayString, withModifiers, createCommentVNode } from "vue";
2
- import { a as i18n, n as normalizeSearchHistoryEntry, G as GIcon, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { a as i18n, n as normalizeSearchHistoryEntry, G as GIcon, _ as _export_sfc } from "./index-BvBm0VqE.js";
3
3
  import "vue-devui-lal/icon";
4
4
  import "vue-devui-lal/icon/style.css";
5
5
  const _hoisted_1 = { class: "history-list" };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, inject, ref, onMounted, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, Fragment, renderList, renderSlot, createBlock, createVNode, withCtx } from "vue";
2
- import { u as useReportRepo, S as SearchRepoCard, i as isProjectSuggestionType, n as normalizeProjectUrlForMainSite } from "./search-suggestion-DRDzaAwH.js";
3
- import { a as i18n, h as headRequest, c as useLayoutConfig, R as REPO_MODULE, b as REPO_EVENT, l as localStorage, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { u as useReportRepo, S as SearchRepoCard, i as isProjectSuggestionType, n as normalizeProjectUrlForMainSite } from "./search-suggestion-KexNvYM9.js";
3
+ import { a as i18n, h as headRequest, c as useLayoutConfig, R as REPO_MODULE, b as REPO_EVENT, l as localStorage, _ as _export_sfc } from "./index-BvBm0VqE.js";
4
4
  import { Row, Col } from "vue-devui-lal/grid";
5
5
  import { SkeletonItem } from "vue-devui-lal/skeleton";
6
6
  import "vue-devui-lal/grid/style.css";
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, openBlock, createElementBlock, Fragment, renderList, createElementVNode, createVNode, toDisplayString, createCommentVNode, unref } from "vue";
2
- import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { a as i18n, G as GIcon, _ as _export_sfc } from "./index-BvBm0VqE.js";
3
3
  import "vue-devui-lal/icon";
4
4
  import "vue-devui-lal/icon/style.css";
5
5
  const _hoisted_1 = ["onClick"];
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, inject, ref, watch, withDirectives, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, Fragment, renderList, createVNode, vShow } from "vue";
2
- import { a as i18n, h as headRequest, G as GIcon, t as transformUrl } from "./index-C6VJdLiY.js";
2
+ import { a as i18n, h as headRequest, G as GIcon, t as transformUrl } from "./index-BvBm0VqE.js";
3
3
  import "vue-devui-lal/icon";
4
4
  import "vue-devui-lal/icon/style.css";
5
5
  const _hoisted_1 = { class: "history-list-project history-list-project--padded" };
@@ -17887,12 +17887,12 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
17887
17887
  setup(__props) {
17888
17888
  const layoutConfig2 = useLayoutConfig();
17889
17889
  const { t: $t } = i18n.global;
17890
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-BF2exAMk.js"));
17891
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-fC2beNhC.js"));
17892
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-i1fKEaDo.js"));
17893
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-ED0rq6m3.js"));
17894
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CSo9cgVe.js"));
17895
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-Dq8jcxMC.js"));
17890
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-xQ6gY9Jm.js"));
17891
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-BsMfmT_D.js"));
17892
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-D_-66PNb.js"));
17893
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-DClq-5jV.js"));
17894
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-Bx8U4Q-G.js"));
17895
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-Bxqc1sR9.js"));
17896
17896
  const props = __props;
17897
17897
  const repoInfo = inject("repoInfo", computed(() => void 0));
17898
17898
  const orgInfo = inject("orgInfo", computed(() => void 0));
@@ -19256,7 +19256,7 @@ const vElementExposure = {
19256
19256
  beforeUnmount() {
19257
19257
  }
19258
19258
  };
19259
- const NoticeModal = defineAsyncComponent(() => import("./notice-ycRhc_Z_.js"));
19259
+ const NoticeModal = defineAsyncComponent(() => import("./notice-BFliChGn.js"));
19260
19260
  function clearNotice() {
19261
19261
  if (localStorage$2.getItem("validator_email")) {
19262
19262
  localStorage$2.removeItem("validator_email");
@@ -21736,9 +21736,9 @@ const _sfc_main$y = /* @__PURE__ */ defineComponent({
21736
21736
  const layoutConfig2 = useLayoutConfig();
21737
21737
  const { t: t2 } = i18n.global;
21738
21738
  const route = useRoute();
21739
- const MenuItem = defineAsyncComponent(() => import("./MenuItem-C1XPRdFf.js"));
21740
- const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-6q7GbOHK.js"));
21741
- const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-DaMFyoTh.js"));
21739
+ const MenuItem = defineAsyncComponent(() => import("./MenuItem-BGiju2UG.js"));
21740
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-36_uL6tZ.js"));
21741
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-CWaND1ur.js"));
21742
21742
  const props = __props;
21743
21743
  const useReport2 = inject("useReport");
21744
21744
  const userInfo = inject("userInfo");
@@ -28277,7 +28277,7 @@ const _SlidCaptchaManager = class _SlidCaptchaManager {
28277
28277
  __publicField(_SlidCaptchaManager, "instance");
28278
28278
  let SlidCaptchaManager = _SlidCaptchaManager;
28279
28279
  const slidCaptchaManager = SlidCaptchaManager.getInstance();
28280
- const SlidCaptcha = defineAsyncComponent(() => import("./index-DZ9EOW3V.js"));
28280
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-Cw-KfpUO.js"));
28281
28281
  const useSlidCaptcha = () => {
28282
28282
  const { mount, unMount, isMounted } = usePopup("slid-captcha-popup");
28283
28283
  const open = (config2) => {
@@ -28307,7 +28307,7 @@ const useSlidCaptcha = () => {
28307
28307
  close
28308
28308
  };
28309
28309
  };
28310
- const YunpianCaptcha = defineAsyncComponent(() => import("./index-D7gv9UnG.js"));
28310
+ const YunpianCaptcha = defineAsyncComponent(() => import("./index-CPHdhVj6.js"));
28311
28311
  const useYunpianCaptcha = () => {
28312
28312
  const { mount, unMount } = usePopup("yunpian-captcha-popup");
28313
28313
  const open = (config2) => {
@@ -32164,6 +32164,12 @@ function resolveTargetFromUrl(href, options = {}) {
32164
32164
  const query = { type: "namespace", path };
32165
32165
  return { type: "namespace", key: `namespace:${path}`, query };
32166
32166
  }
32167
+ if (decoded.length === 2 && decoded[0].toLowerCase() === "org") {
32168
+ const orgPath = String(decoded[1] || "").trim().toLowerCase();
32169
+ if (!orgPath) return null;
32170
+ const query = { type: "org", path: orgPath };
32171
+ return { type: "org", key: `org:${orgPath}`, query };
32172
+ }
32167
32173
  if (decoded.length >= 4 && decoded[0].toLowerCase() === "org") {
32168
32174
  const section = decoded[2].toLowerCase();
32169
32175
  if (URL_ENTITY_SEGMENT.discussion.includes(section)) {
@@ -32976,12 +32982,26 @@ class HovercardCache {
32976
32982
  * (过期后不再展示旧数据,读取成功前不展示任何内容)。
32977
32983
  */
32978
32984
  get(key) {
32985
+ var _a;
32986
+ return ((_a = this.getEntry(key)) == null ? void 0 : _a.preview) || null;
32987
+ }
32988
+ /**
32989
+ * 读取快照并返回它的剩余有效期。
32990
+ *
32991
+ * 展示方必须用 `remainingTtl` 而不是固定 TTL 计时:命中可能是缓存写入后第 119 秒,
32992
+ * 用满 120 秒会把这个快照拖到接近 240 秒才关闭,违反「快照到期即关闭」。
32993
+ * 口径与 `get` 完全一致(命中计数、LRU 重排、过期删除只做一次)。
32994
+ *
32995
+ * @return 命中返回 `{ preview, remainingTtl }`(毫秒,恒 > 0);未命中或已过期返回 null
32996
+ */
32997
+ getEntry(key) {
32979
32998
  const entry = this.entries.get(key);
32980
32999
  if (!entry) {
32981
33000
  this.misses += 1;
32982
33001
  return null;
32983
33002
  }
32984
- if (this.now() >= entry.expiresAt) {
33003
+ const remainingTtl = entry.expiresAt - this.now();
33004
+ if (remainingTtl <= 0) {
32985
33005
  this.entries.delete(key);
32986
33006
  this.expired += 1;
32987
33007
  this.misses += 1;
@@ -32990,7 +33010,7 @@ class HovercardCache {
32990
33010
  this.entries.delete(key);
32991
33011
  this.entries.set(key, entry);
32992
33012
  this.hits += 1;
32993
- return entry.preview;
33013
+ return { preview: entry.preview, remainingTtl };
32994
33014
  }
32995
33015
  /**
32996
33016
  * 写入快照。
@@ -33429,7 +33449,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33429
33449
  const data = result2.data;
33430
33450
  return Boolean(data && data.is_self);
33431
33451
  }
33432
- async function showPreview(result2) {
33452
+ async function showPreview(result2, displayTtl = config2.publicCacheTtl) {
33433
33453
  if (isHovercardSceneSuppressed(currentPathname(), result2.entity_type)) {
33434
33454
  closeCard();
33435
33455
  return;
@@ -33448,8 +33468,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33448
33468
  }
33449
33469
  position.value = next;
33450
33470
  clearDisplayTimer();
33451
- if (config2.publicCacheTtl > 0) {
33452
- displayTimer = setTimeout(() => closeCard(), config2.publicCacheTtl);
33471
+ const ttl = Math.min(displayTtl, config2.publicCacheTtl);
33472
+ if (ttl > 0) {
33473
+ displayTimer = setTimeout(() => closeCard(), ttl);
33453
33474
  }
33454
33475
  await measureCard();
33455
33476
  trackView();
@@ -33482,9 +33503,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33482
33503
  const baseKey = keyOf(target);
33483
33504
  const aliasKey = target.type === "namespace" ? cache2.resolveAlias(baseKey) : null;
33484
33505
  const cacheKey = aliasKey || baseKey;
33485
- const hit = cache2.get(cacheKey);
33506
+ const hit = cache2.getEntry(cacheKey);
33486
33507
  if (hit) {
33487
- void showPreview(hit);
33508
+ void showPreview(hit.preview, hit.remainingTtl);
33488
33509
  return;
33489
33510
  }
33490
33511
  const handle = inFlight.acquire(baseKey, (signal) => {
@@ -33657,23 +33678,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33657
33678
  const following = followState.value === "following";
33658
33679
  const action = following ? instance.unfollow : instance.follow;
33659
33680
  if (!action) return;
33681
+ const targetAtStart = cardTarget.value;
33682
+ const generationAtStart = generation;
33683
+ const isStillCurrent = () => generationAtStart === generation && cardTarget.value === targetAtStart;
33660
33684
  trackClick("follow");
33661
33685
  followLoading.value = true;
33662
33686
  followError.value = null;
33663
33687
  try {
33664
33688
  await action({ type, id: identifier });
33665
33689
  const nextFollowing = !following;
33690
+ if (targetAtStart) cache2.delete(canonicalKeyOf(result2, targetAtStart));
33691
+ emit("follow-change", { type, id: identifier, following: nextFollowing });
33692
+ if (!isStillCurrent()) return;
33666
33693
  preview.value = {
33667
33694
  ...result2,
33668
33695
  data: { ...result2.data, is_following: nextFollowing }
33669
33696
  };
33670
- const target = cardTarget.value;
33671
- if (target) cache2.delete(canonicalKeyOf(result2, target));
33672
- emit("follow-change", { type, id: identifier, following: nextFollowing });
33673
33697
  } catch {
33698
+ if (!isStillCurrent()) return;
33674
33699
  followError.value = labels.value.followFailed;
33675
33700
  } finally {
33676
- followLoading.value = false;
33701
+ if (isStillCurrent()) followLoading.value = false;
33677
33702
  }
33678
33703
  }
33679
33704
  const showMessage = computed(() => {
@@ -8,7 +8,7 @@ import { Message } from "vue-devui-lal/message";
8
8
  import "vue-devui-lal/message/style.css";
9
9
  import { FixedOverlay } from "vue-devui-lal/overlay";
10
10
  import "vue-devui-lal/overlay/style.css";
11
- import { a as i18n, j as usePageResize, A as isZh, _ as _export_sfc } from "./index-C6VJdLiY.js";
11
+ import { a as i18n, j as usePageResize, A as isZh, _ as _export_sfc } from "./index-BvBm0VqE.js";
12
12
  const _YunpianCaptchaManager = class _YunpianCaptchaManager {
13
13
  // eslint-disable-next-line no-useless-constructor
14
14
  constructor() {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, onMounted, nextTick, onUnmounted, openBlock, createBlock, unref, withCtx, createElementVNode } from "vue";
2
- import { z as slidCaptchaManager, c as useLayoutConfig, A as isZh, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { z as slidCaptchaManager, c as useLayoutConfig, A as isZh, _ as _export_sfc } from "./index-BvBm0VqE.js";
3
3
  import { FixedOverlay } from "vue-devui-lal/overlay";
4
4
  import "vue-devui-lal/overlay/style.css";
5
5
  const TARGET_TEXT = "Click in order:";
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { P, Q, S, U, V, W, X, Y, Z, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, C, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL } from "./index-C6VJdLiY.js";
1
+ import { P, Q, S, U, V, W, X, Y, Z, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, aa, ab, ac, ad, ae, af, ag, ah, ai, aj, ak, al, C, am, an, ao, ap, aq, ar, as, at, au, av, aw, ax, ay, az, aA, aB, aC, aD, aE, aF, aG, aH, aI, aJ, aK, aL } from "./index-BvBm0VqE.js";
2
2
  export {
3
3
  P as AsideFooterTools,
4
4
  Q as AtomCodeLauncher,
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createBlock, unref, isRef, withCtx, createElementVNode, normalizeClass, createVNode, createTextVNode } from "vue";
2
- import { i as isPhone, u as useModel, _ as _export_sfc } from "./index-C6VJdLiY.js";
2
+ import { i as isPhone, u as useModel, _ as _export_sfc } from "./index-BvBm0VqE.js";
3
3
  import { Notification } from "vue-devui-lal/notification";
4
4
  import { Button } from "vue-devui-lal/button";
5
5
  import "vue-devui-lal/notification/style.css";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue-layout-gitcode",
3
- "version": "1.12.76",
3
+ "version": "1.12.78",
4
4
  "description": "用于 gitcode 站点生产环境使用",
5
5
  "main": "index.js",
6
6
  "types": "./index.d.ts",
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, toDisplayString, unref, useModel, ref, watch, openBlock, createElementBlock, createVNode, normalizeClass, withDirectives, createElementVNode, vShow, mergeModels, inject, withModifiers, createBlock, Fragment, computed, normalizeStyle, createCommentVNode, createTextVNode, renderList, withCtx, reactive, onMounted, watchEffect } from "vue";
2
- import { d as transferNumber, G as GIcon, _ as _export_sfc, s as setLoginTriggerSource, r as reqCatch, e as useRequestReport, h as headRequest, a as i18n, T as TOPIC_TYPE, f as useTimeFormat, g as useCookie, j as usePageResize, L as LANG_ZH, k as isGstarRepo, m as _sfc_main$b, o as isIncubationRepo, p as highlightWords, t as transformUrl, q as _frEventTrack, E as EVENT_NAME, w as REPO_TYPE, x as extractRepoInfoWithURL, y as LANG_KEY } from "./index-C6VJdLiY.js";
3
- import { t as transWebUrl } from "./transWebUrl-CRhJtst7.js";
2
+ import { d as transferNumber, G as GIcon, _ as _export_sfc, s as setLoginTriggerSource, r as reqCatch, e as useRequestReport, h as headRequest, a as i18n, T as TOPIC_TYPE, f as useTimeFormat, g as useCookie, j as usePageResize, L as LANG_ZH, k as isGstarRepo, m as _sfc_main$b, o as isIncubationRepo, p as highlightWords, t as transformUrl, q as _frEventTrack, E as EVENT_NAME, w as REPO_TYPE, x as extractRepoInfoWithURL, y as LANG_KEY } from "./index-BvBm0VqE.js";
3
+ import { t as transWebUrl } from "./transWebUrl-DRxMMqi_.js";
4
4
  import { useRouter } from "vue-router";
5
5
  import { Row, Col } from "vue-devui-lal/grid";
6
6
  import { Skeleton, SkeletonItem } from "vue-devui-lal/skeleton";
@@ -1,4 +1,4 @@
1
- import { c as useLayoutConfig } from "./index-C6VJdLiY.js";
1
+ import { c as useLayoutConfig } from "./index-BvBm0VqE.js";
2
2
  const layoutConfig = useLayoutConfig();
3
3
  const transWebUrl = (url, params, options = {}) => {
4
4
  if (!url) return url;