vue-layout-gitcode 1.8.20 → 1.8.21

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.
@@ -9,12 +9,12 @@ import "vue-devui-lal/tooltip/style.css";
9
9
  import "vue-devui-lal/textarea/style.css";
10
10
  import { Icon } from "vue-devui-lal/icon";
11
11
  import "vue-devui-lal/icon/style.css";
12
+ import cloneDeep from "lodash/cloneDeep";
12
13
  import { useRouter, useRoute, createRouter, createWebHistory, createMemoryHistory } from "vue-router";
13
14
  import { useLocalStorage, useWindowSize, useEventListener, useElementSize, useStorage, useDebounceFn } from "@vueuse/core";
14
15
  import { Avatar } from "vue-devui-lal/avatar";
15
16
  import "vue-devui-lal/avatar/style.css";
16
17
  import "lodash/last";
17
- import cloneDeep from "lodash/cloneDeep";
18
18
  import dayjs$1 from "dayjs";
19
19
  import isDate$2 from "lodash/isDate";
20
20
  import { Skeleton, SkeletonItem } from "vue-devui-lal/skeleton";
@@ -105,29 +105,12 @@ const _export_sfc = (sfc, props) => {
105
105
  return target;
106
106
  };
107
107
  const GIcon = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-vue-layout-gitcode"]]);
108
- const transformUrl$1 = (url) => {
109
- var _a;
110
- if (typeof window !== "undefined" && typeof location !== "undefined") {
111
- const host = (_a = location.host) == null ? void 0 : _a.replace(/^ai\./, "");
112
- if (host.includes("gitcode.host")) {
113
- return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
114
- }
115
- if (host.includes("test.gitcode.net")) {
116
- return url == null ? void 0 : url.replace(/test\.gitcode\.net/g, host);
117
- }
118
- if (url == null ? void 0 : url.startsWith("https://cdn-")) {
119
- return url;
120
- }
121
- return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
122
- }
123
- return url;
124
- };
125
108
  const defaultConfig = {
126
109
  VITE_ENV: "production",
127
110
  VITE_HOST: "https://gitcode.com",
128
111
  VITE_HOST_TIANQI: "https://tianqi.gitcode.com",
129
112
  VITE_API_HOST: "https://web-api.gitcode.com",
130
- VITE_AD_LINK: "https://cdn-static.gitcode.host/adList/active.json",
113
+ VITE_AD_LINK: "https://cdn-static.gitcode.com/adList/active.json",
131
114
  VITE_NEWS_HOST: "https://news.gitcode.com",
132
115
  VITE_AI_HOST: "https://ai.gitcode.com",
133
116
  VITE_INCUBATION_TOPIC: "6656c64efd46e722f6299761",
@@ -137,12 +120,12 @@ const defaultConfig = {
137
120
  VITE_SECRET_KEY: "SA!nUNPZ5o!OSV&B",
138
121
  VITE_SECRET_IV: "SA!nwwwZ5o!OSV&B"
139
122
  };
140
- const layoutConfig$5 = reactive({ ...defaultConfig, VITE_HOST_TIANQI: transformUrl$1(defaultConfig.VITE_HOST_TIANQI) });
123
+ const layoutConfig$6 = reactive({ ...defaultConfig });
141
124
  function setLayoutConfig(customConfig) {
142
- Object.assign(layoutConfig$5, customConfig);
125
+ Object.assign(layoutConfig$6, customConfig);
143
126
  }
144
127
  function useLayoutConfig() {
145
- return readonly(layoutConfig$5);
128
+ return readonly(layoutConfig$6);
146
129
  }
147
130
  async function reqCatch(req, params) {
148
131
  try {
@@ -268,6 +251,20 @@ const useRequestReport = (request, globalStore) => {
268
251
  useReport: useReport2
269
252
  };
270
253
  };
254
+ const handleReportParamsByDomain = (reportString) => {
255
+ var _a;
256
+ const domainMap = {
257
+ blog: "blog_"
258
+ };
259
+ const domain = ((_a = window == null ? void 0 : window.location) == null ? void 0 : _a.hostname) || "";
260
+ for (const key in domainMap) {
261
+ if (domain.includes(key)) {
262
+ reportString = domainMap[key] + reportString;
263
+ break;
264
+ }
265
+ }
266
+ return reportString;
267
+ };
271
268
  const isBrowser$1 = typeof window !== "undefined" && typeof window.localStorage !== "undefined";
272
269
  let localStorage$1;
273
270
  if (isBrowser$1) {
@@ -391,7 +388,7 @@ function udeskInit(config = {}, open = false) {
391
388
  g.src = b;
392
389
  c = h2.getElementsByTagName(c)[0];
393
390
  c.parentNode.insertBefore(g, c);
394
- })(window, document, "script", "https://cdn-static.gitcode.host/static/js/udeskApi.js", "ud");
391
+ })(window, document, "script", "https://cdn-static.gitcode.com/static/js/udeskApi.js", "ud");
395
392
  ud({
396
393
  code: "24581k88",
397
394
  link: "https://gitcode.s2.udesk.cn/im_client/?web_plugin_id=57707",
@@ -494,7 +491,7 @@ const OSS_IMAGES = {
494
491
  };
495
492
  const GOTO_QUICK_LOGIN = "gotoQuickLogin";
496
493
  const DEFAULT_COUNTRY = "CN_0086";
497
- const IMAGE_CDN_PREFIX = "https://cdn-static.gitcode.host";
494
+ const IMAGE_CDN_PREFIX = "https://cdn-static.gitcode.com";
498
495
  const HARMONY_VISITED_DATE = "harmony-visitedDate";
499
496
  const HARMONY_SURVEY_DELAY = "harmony-survey-delay";
500
497
  const UTM_SOURCE = "utm_source";
@@ -515,7 +512,23 @@ const TOOLS_FLOAT_COLLAPSE_STATUS_KEY_FOR_REPO = "asideTool_collapse_status_repo
515
512
  const TOOLS_FLOAT_COLLAPSE_STATUS_KEY = "asideTool_collapse_status";
516
513
  const TOOLS_FLOAT_COLLAPSE_DATE_KEY = "asideTool_collapse_date";
517
514
  const GUI_YANG_GITCODE_HOST = "gitcode.host";
518
- /*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
515
+ const LOGO_MAP = {
516
+ gitcode: {
517
+ favicon: "https://cdn-static.gitcode.com/static/images/logo-favicon.png",
518
+ siteLogoDark: "https://cdn-static.gitcode.com/static/images/gitcode-logo-dark.png",
519
+ siteLogoWhite: "https://cdn-static.gitcode.com/static/images/gitcode-logo-white.png",
520
+ tianqiLogoLocalWhite: "https://cdn-static.gitcode.com/static/images/tianqi-white-gitcode.png",
521
+ tianqiLogoLocalDark: "https://cdn-static.gitcode.com/static/images/tianqi-black-gitcode.png"
522
+ },
523
+ atomgit: {
524
+ favicon: "https://cdn-static.gitcode.com/static/images/logo-favicon-atomgit.png",
525
+ siteLogoDark: "https://cdn-static.gitcode.com/static/images/atomgit-logo-dark.png",
526
+ siteLogoWhite: "https://cdn-static.gitcode.com/static/images/atomgit-logo-white.png",
527
+ tianqiLogoLocalWhite: "https://cdn-static.gitcode.com/static/images/tianqi-white-atomgit.png",
528
+ tianqiLogoLocalDark: "https://cdn-static.gitcode.com/static/images/tianqi-black-atomgit.png"
529
+ }
530
+ };
531
+ /*! @license DOMPurify 3.2.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.5/LICENSE */
519
532
  const {
520
533
  entries,
521
534
  setPrototypeOf,
@@ -543,18 +556,12 @@ if (!seal) {
543
556
  };
544
557
  }
545
558
  if (!apply$1) {
546
- apply$1 = function apply2(func, thisArg) {
547
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
548
- args[_key - 2] = arguments[_key];
549
- }
550
- return func.apply(thisArg, args);
559
+ apply$1 = function apply2(fun, thisValue, args) {
560
+ return fun.apply(thisValue, args);
551
561
  };
552
562
  }
553
563
  if (!construct) {
554
- construct = function construct2(Func) {
555
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
556
- args[_key2 - 1] = arguments[_key2];
557
- }
564
+ construct = function construct2(Func, args) {
558
565
  return new Func(...args);
559
566
  };
560
567
  }
@@ -577,18 +584,18 @@ function unapply(func) {
577
584
  if (thisArg instanceof RegExp) {
578
585
  thisArg.lastIndex = 0;
579
586
  }
580
- for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
581
- args[_key3 - 1] = arguments[_key3];
587
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
588
+ args[_key - 1] = arguments[_key];
582
589
  }
583
590
  return apply$1(func, thisArg, args);
584
591
  };
585
592
  }
586
- function unconstruct(Func) {
593
+ function unconstruct(func) {
587
594
  return function() {
588
- for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
589
- args[_key4] = arguments[_key4];
595
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
596
+ args[_key2] = arguments[_key2];
590
597
  }
591
- return construct(Func, args);
598
+ return construct(func, args);
592
599
  };
593
600
  }
594
601
  function addToSet(set, array) {
@@ -655,15 +662,15 @@ function lookupGetter(object, prop) {
655
662
  }
656
663
  return fallbackValue;
657
664
  }
658
- const html$1 = freeze(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "search", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]);
659
- const svg$1 = freeze(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "enterkeyhint", "exportparts", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "inputmode", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "part", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]);
665
+ const html$1 = freeze(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"]);
666
+ const svg$1 = freeze(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"]);
660
667
  const svgFilters = freeze(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"]);
661
668
  const svgDisallowed = freeze(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"]);
662
669
  const mathMl$1 = freeze(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"]);
663
670
  const mathMlDisallowed = freeze(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"]);
664
671
  const text = freeze(["#text"]);
665
- const html = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "exportparts", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inert", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "part", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "slot", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"]);
666
- const svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "mask-type", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]);
672
+ const html = freeze(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"]);
673
+ const svg = freeze(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"]);
667
674
  const mathMl = freeze(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"]);
668
675
  const xml = freeze(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"]);
669
676
  const MUSTACHE_EXPR = seal(/\{\{[\w\W]*|[\w\W]*\}\}/gm);
@@ -672,7 +679,7 @@ const TMPLIT_EXPR = seal(/\$\{[\w\W]*/gm);
672
679
  const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]+$/);
673
680
  const ARIA_ATTR = seal(/^aria-[\-\w]+$/);
674
681
  const IS_ALLOWED_URI = seal(
675
- /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
682
+ /^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i
676
683
  // eslint-disable-line no-useless-escape
677
684
  );
678
685
  const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
@@ -746,7 +753,7 @@ const _createHooksMap = function _createHooksMap2() {
746
753
  function createDOMPurify() {
747
754
  let window2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : getGlobal();
748
755
  const DOMPurify = (root) => createDOMPurify(root);
749
- DOMPurify.version = "3.3.0";
756
+ DOMPurify.version = "3.2.5";
750
757
  DOMPurify.removed = [];
751
758
  if (!window2 || !window2.document || window2.document.nodeType !== NODE_TYPE.document || !window2.Element) {
752
759
  DOMPurify.isSupported = false;
@@ -832,20 +839,6 @@ function createDOMPurify() {
832
839
  }));
833
840
  let FORBID_TAGS = null;
834
841
  let FORBID_ATTR = null;
835
- const EXTRA_ELEMENT_HANDLING = Object.seal(create$1(null, {
836
- tagCheck: {
837
- writable: true,
838
- configurable: false,
839
- enumerable: true,
840
- value: null
841
- },
842
- attributeCheck: {
843
- writable: true,
844
- configurable: false,
845
- enumerable: true,
846
- value: null
847
- }
848
- }));
849
842
  let ALLOW_ARIA_ATTR = true;
850
843
  let ALLOW_DATA_ATTR = true;
851
844
  let ALLOW_UNKNOWN_PROTOCOLS = false;
@@ -907,8 +900,8 @@ function createDOMPurify() {
907
900
  URI_SAFE_ATTRIBUTES = objectHasOwnProperty(cfg, "ADD_URI_SAFE_ATTR") ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR, transformCaseFunc) : DEFAULT_URI_SAFE_ATTRIBUTES;
908
901
  DATA_URI_TAGS = objectHasOwnProperty(cfg, "ADD_DATA_URI_TAGS") ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS, transformCaseFunc) : DEFAULT_DATA_URI_TAGS;
909
902
  FORBID_CONTENTS = objectHasOwnProperty(cfg, "FORBID_CONTENTS") ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;
910
- FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : clone({});
911
- FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : clone({});
903
+ FORBID_TAGS = objectHasOwnProperty(cfg, "FORBID_TAGS") ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};
904
+ FORBID_ATTR = objectHasOwnProperty(cfg, "FORBID_ATTR") ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};
912
905
  USE_PROFILES = objectHasOwnProperty(cfg, "USE_PROFILES") ? cfg.USE_PROFILES : false;
913
906
  ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false;
914
907
  ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false;
@@ -969,24 +962,16 @@ function createDOMPurify() {
969
962
  }
970
963
  }
971
964
  if (cfg.ADD_TAGS) {
972
- if (typeof cfg.ADD_TAGS === "function") {
973
- EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
974
- } else {
975
- if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
976
- ALLOWED_TAGS = clone(ALLOWED_TAGS);
977
- }
978
- addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
965
+ if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
966
+ ALLOWED_TAGS = clone(ALLOWED_TAGS);
979
967
  }
968
+ addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
980
969
  }
981
970
  if (cfg.ADD_ATTR) {
982
- if (typeof cfg.ADD_ATTR === "function") {
983
- EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
984
- } else {
985
- if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
986
- ALLOWED_ATTR = clone(ALLOWED_ATTR);
987
- }
988
- addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
971
+ if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
972
+ ALLOWED_ATTR = clone(ALLOWED_ATTR);
989
973
  }
974
+ addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
990
975
  }
991
976
  if (cfg.ADD_URI_SAFE_ATTR) {
992
977
  addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
@@ -1180,7 +1165,7 @@ function createDOMPurify() {
1180
1165
  tagName,
1181
1166
  allowedTags: ALLOWED_TAGS
1182
1167
  });
1183
- if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
1168
+ if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(/<[/\w!]/g, currentNode.innerHTML) && regExpTest(/<[/\w!]/g, currentNode.textContent)) {
1184
1169
  _forceRemove(currentNode);
1185
1170
  return true;
1186
1171
  }
@@ -1192,7 +1177,7 @@ function createDOMPurify() {
1192
1177
  _forceRemove(currentNode);
1193
1178
  return true;
1194
1179
  }
1195
- if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
1180
+ if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
1196
1181
  if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
1197
1182
  if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
1198
1183
  return false;
@@ -1245,13 +1230,12 @@ function createDOMPurify() {
1245
1230
  }
1246
1231
  if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR2, lcName)) ;
1247
1232
  else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR2, lcName)) ;
1248
- else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ;
1249
1233
  else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
1250
1234
  if (
1251
1235
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
1252
1236
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1253
1237
  // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
1254
- _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) || // Alternative, second condition checks if it's an `is`-attribute, AND
1238
+ _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND
1255
1239
  // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
1256
1240
  lcName === "is" && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))
1257
1241
  ) ;
@@ -1294,8 +1278,7 @@ function createDOMPurify() {
1294
1278
  value: attrValue
1295
1279
  } = attr;
1296
1280
  const lcName = transformCaseFunc(name);
1297
- const initValue = attrValue;
1298
- let value = name === "value" ? initValue : stringTrim(initValue);
1281
+ let value = name === "value" ? attrValue : stringTrim(attrValue);
1299
1282
  hookEvent.attrName = lcName;
1300
1283
  hookEvent.attrValue = value;
1301
1284
  hookEvent.keepAttr = true;
@@ -1306,19 +1289,15 @@ function createDOMPurify() {
1306
1289
  _removeAttribute(name, currentNode);
1307
1290
  value = SANITIZE_NAMED_PROPS_PREFIX + value;
1308
1291
  }
1309
- if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title|textarea)/i, value)) {
1310
- _removeAttribute(name, currentNode);
1311
- continue;
1312
- }
1313
- if (lcName === "attributename" && stringMatch(value, "href")) {
1292
+ if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
1314
1293
  _removeAttribute(name, currentNode);
1315
1294
  continue;
1316
1295
  }
1317
1296
  if (hookEvent.forceKeepAttr) {
1318
1297
  continue;
1319
1298
  }
1299
+ _removeAttribute(name, currentNode);
1320
1300
  if (!hookEvent.keepAttr) {
1321
- _removeAttribute(name, currentNode);
1322
1301
  continue;
1323
1302
  }
1324
1303
  if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(/\/>/i, value)) {
@@ -1332,7 +1311,6 @@ function createDOMPurify() {
1332
1311
  }
1333
1312
  const lcTag = transformCaseFunc(currentNode.nodeName);
1334
1313
  if (!_isValidAttribute(lcTag, lcName, value)) {
1335
- _removeAttribute(name, currentNode);
1336
1314
  continue;
1337
1315
  }
1338
1316
  if (trustedTypesPolicy && typeof trustedTypes === "object" && typeof trustedTypes.getAttributeType === "function") {
@@ -1350,21 +1328,18 @@ function createDOMPurify() {
1350
1328
  }
1351
1329
  }
1352
1330
  }
1353
- if (value !== initValue) {
1354
- try {
1355
- if (namespaceURI) {
1356
- currentNode.setAttributeNS(namespaceURI, name, value);
1357
- } else {
1358
- currentNode.setAttribute(name, value);
1359
- }
1360
- if (_isClobbered(currentNode)) {
1361
- _forceRemove(currentNode);
1362
- } else {
1363
- arrayPop(DOMPurify.removed);
1364
- }
1365
- } catch (_) {
1366
- _removeAttribute(name, currentNode);
1331
+ try {
1332
+ if (namespaceURI) {
1333
+ currentNode.setAttributeNS(namespaceURI, name, value);
1334
+ } else {
1335
+ currentNode.setAttribute(name, value);
1336
+ }
1337
+ if (_isClobbered(currentNode)) {
1338
+ _forceRemove(currentNode);
1339
+ } else {
1340
+ arrayPop(DOMPurify.removed);
1367
1341
  }
1342
+ } catch (_) {
1368
1343
  }
1369
1344
  }
1370
1345
  _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);
@@ -7640,7 +7615,7 @@ const gitCodeLayout$1 = {
7640
7615
  searchPlaceholder: "「开搜」:一搜即达",
7641
7616
  searchPlaceholder2: "按下<kbd>/</kbd>快速开启搜索",
7642
7617
  surveyTipsTitle: "填问卷必得200积分+抽取限量周边",
7643
- slogon: "共创GitCode,开发者的代码家园",
7618
+ slogon: "共创AtomGit,开发者的代码家园",
7644
7619
  digest: "重庆开源共创科技有限公司版权所有",
7645
7620
  shotName: {},
7646
7621
  competition: "大赛平台",
@@ -7745,11 +7720,11 @@ const gitCodeLayout$1 = {
7745
7720
  attention: "关注"
7746
7721
  },
7747
7722
  tips: {
7748
- notcieTitle: "Gitcode 提示",
7723
+ notcieTitle: "AtomGit 提示",
7749
7724
  notcie1: "你的登录信息已过期,请重新登录!",
7750
7725
  notcie2: "登录之后才能开启全新体验哦",
7751
7726
  readPrivacyPolicy: "请阅读并同意用户协议以及其隐私政策",
7752
- welcome: "欢迎来到Gitcode"
7727
+ welcome: "欢迎来到 AtomGit"
7753
7728
  },
7754
7729
  foldup: "收起",
7755
7730
  iCreated: "我创建的",
@@ -7795,7 +7770,7 @@ const gitCodeLayout$1 = {
7795
7770
  },
7796
7771
  LoginModal: {
7797
7772
  title: {
7798
- login: "欢迎登录你的GitCode账号",
7773
+ login: "欢迎登录你的 AtomGit 账号",
7799
7774
  register: "欢迎注册"
7800
7775
  },
7801
7776
  subtitle: {
@@ -7844,7 +7819,7 @@ const gitCodeLayout$1 = {
7844
7819
  SMSVerificationCode: "请输入{count}位有效的短信验证码",
7845
7820
  fillNecessaryInfo: "请输入有效的手机号码",
7846
7821
  youNeeToAgr: "您需要同意",
7847
- toUseGit: "才能使用GitCode。",
7822
+ toUseGit: "才能使用 AtomGit。",
7848
7823
  ifYouDoNotAgrWe: "如果您不同意,很遗憾我们无法为您提供服务。",
7849
7824
  disAndQui: "不同意并退出",
7850
7825
  agrAndSigIn: "同意并登录",
@@ -7858,7 +7833,7 @@ const gitCodeLayout$1 = {
7858
7833
  huaweiCloudAgreement: "华为云用户协议",
7859
7834
  agreementPrivacy: "华为云隐私政策声明"
7860
7835
  },
7861
- registerDesc: "GitCode 与华为云共同为用户提供代码托管服务,在使用代码托管相关服务时,将同步授权并开通华为云服务,并与重庆开源共创科技有限公司(GitCode的运营主体)关联及共享。",
7836
+ registerDesc: "AtomGit 与华为云共同为用户提供代码托管服务,在使用代码托管相关服务时,将同步授权并开通华为云服务,并与重庆开源共创科技有限公司(AtomGit的运营主体)关联及共享。",
7862
7837
  rule: {
7863
7838
  username: "以字母开头,3-50个字符,仅含字母、数字、下划线(_)或中划线(-)",
7864
7839
  pleaseFill: "请填写{label}",
@@ -7938,7 +7913,7 @@ const gitCodeLayout = {
7938
7913
  shotName: {},
7939
7914
  informationCenter: "News",
7940
7915
  competition: "Competition",
7941
- slogon: "Co-create GitCode, the Code Home for Developers",
7916
+ slogon: "Co-create AtomGit, the Code Home for Developers",
7942
7917
  digest: "ChongQingKaiYuanGongChuang Technology Co., Ltd. All Rights Reserved",
7943
7918
  companyInformation: "ChongQingKaiYuanGongChuang",
7944
7919
  recordInformation: "Yu ICP No. 2023009037-3",
@@ -7974,7 +7949,7 @@ const gitCodeLayout = {
7974
7949
  myRepo: "Your repositories",
7975
7950
  myStar: "Your stars",
7976
7951
  personSetting: "Settings",
7977
- helpDocument: "GitCode Docs",
7952
+ helpDocument: "AtomGit Docs",
7978
7953
  logout: "Logout",
7979
7954
  openSourceExplorer: "Open Source Explorer",
7980
7955
  openSourcePioneer: "Open Source Pioneer",
@@ -8047,11 +8022,11 @@ const gitCodeLayout = {
8047
8022
  attention: "Follow"
8048
8023
  },
8049
8024
  tips: {
8050
- notcieTitle: "GitCode Tips",
8025
+ notcieTitle: "AtomGit Tips",
8051
8026
  notcie1: "Login has expired, please log in again!",
8052
8027
  notcie2: "Log in to unlock a brand new experience!",
8053
8028
  readPrivacyPolicy: "Please Read and Agree to the User Agreement and Privacy Policy",
8054
- welcome: "Welcome to GitCode"
8029
+ welcome: "Welcome to AtomGit"
8055
8030
  },
8056
8031
  foldup: "Collapse",
8057
8032
  iCreated: "Yours",
@@ -8097,7 +8072,7 @@ const gitCodeLayout = {
8097
8072
  },
8098
8073
  LoginModal: {
8099
8074
  title: {
8100
- login: "Welcome to GitCode ",
8075
+ login: "Welcome to AtomGit ",
8101
8076
  register: "Welcome to register"
8102
8077
  },
8103
8078
  subtitle: {
@@ -8146,7 +8121,7 @@ const gitCodeLayout = {
8146
8121
  SMSVerificationCode: "Please enter a valid SMS verification code with {count} digits",
8147
8122
  fillNecessaryInfo: "Please enter a valid mobile number",
8148
8123
  youNeeToAgr: "You need to agree",
8149
- toUseGit: "to use GitCode.",
8124
+ toUseGit: "to use AtomGit.",
8150
8125
  ifYouDoNotAgrWe: "If you do not agree, unfortunately, we cannot provide you with services.",
8151
8126
  disAndQui: "Disagree and Exit",
8152
8127
  agrAndSigIn: "Agree and Login",
@@ -8160,7 +8135,7 @@ const gitCodeLayout = {
8160
8135
  huaweiCloudAgreement: "Huawei Cloud User Agreement",
8161
8136
  agreementPrivacy: "Huawei Cloud Privacy Policy Statement"
8162
8137
  },
8163
- 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).",
8138
+ registerDesc: "AtomGit 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 AtomGit).",
8164
8139
  rule: {
8165
8140
  username: "Only letters, numbers, underscores (_), hyphens (-) are allowed, 3 to 50 characters, must start with a letter.",
8166
8141
  pleaseFill: "Please fill in {label}",
@@ -8222,6 +8197,59 @@ const LANGUAGE = [
8222
8197
  { label: "English", value: LANG_EN, language: LANGUAGE_EN, icon: "gt-line-English1" }
8223
8198
  ];
8224
8199
  const LANG_KEY = "gitcode_lang";
8200
+ const isAtomGitDomain = () => {
8201
+ if (typeof window === "undefined" || typeof window.location === "undefined") {
8202
+ return false;
8203
+ }
8204
+ return window.location.hostname.includes("atomgit.com");
8205
+ };
8206
+ const reverseGitcodeToAtomgit = (messages) => {
8207
+ if (!messages) return messages;
8208
+ const _messages = cloneDeep(messages);
8209
+ const isAtomGit = isAtomGitDomain();
8210
+ const protectedPlaceholders = ["{notGitCodeUsers}", "{gitCodeUserName}"];
8211
+ const uniquePrefix = `__I18N_PROTECTED_${Date.now()}_`;
8212
+ const traverseMessages = (messages2) => {
8213
+ if (!messages2 || typeof messages2 !== "object") return;
8214
+ Object.keys(messages2).forEach((key) => {
8215
+ const value = messages2[key];
8216
+ if (value && typeof value === "object" && !Array.isArray(value)) {
8217
+ traverseMessages(value);
8218
+ return;
8219
+ }
8220
+ if (typeof value !== "string") return;
8221
+ const hasProtectedPlaceholder = protectedPlaceholders.some(
8222
+ (placeholder) => value.includes(placeholder)
8223
+ );
8224
+ if (hasProtectedPlaceholder) {
8225
+ let temp = value;
8226
+ const placeholderMap = {};
8227
+ protectedPlaceholders.forEach((placeholder, index2) => {
8228
+ const tempMark = `${uniquePrefix}${index2}__`;
8229
+ placeholderMap[tempMark] = placeholder;
8230
+ temp = temp.replace(new RegExp(placeholder.replace(/[{}]/g, "\\$&"), "g"), tempMark);
8231
+ });
8232
+ if (isAtomGit) {
8233
+ temp = temp.replace(/GitCode/g, "AtomGit").replace(/gitcode/g, "atomgit");
8234
+ } else {
8235
+ temp = temp.replace(/AtomGit/g, "GitCode").replace(/atomgit/g, "gitcode");
8236
+ }
8237
+ Object.keys(placeholderMap).forEach((tempMark) => {
8238
+ temp = temp.replace(new RegExp(tempMark, "g"), placeholderMap[tempMark]);
8239
+ });
8240
+ messages2[key] = temp;
8241
+ } else {
8242
+ if (isAtomGit) {
8243
+ messages2[key] = value.replace(/GitCode/g, "AtomGit").replace(/gitcode/g, "atomgit");
8244
+ } else {
8245
+ messages2[key] = value.replace(/AtomGit/g, "GitCode").replace(/atomgit/g, "gitcode");
8246
+ }
8247
+ }
8248
+ });
8249
+ };
8250
+ traverseMessages(_messages);
8251
+ return _messages;
8252
+ };
8225
8253
  function isComposer(instance, mode) {
8226
8254
  return mode === "composition" && isRef(instance.locale);
8227
8255
  }
@@ -8236,7 +8264,7 @@ function setupI18n(options = { locale: LANG_EN }) {
8236
8264
  if (typeof document !== "undefined" && document.documentElement) {
8237
8265
  document.documentElement.lang = options.locale;
8238
8266
  }
8239
- const i18n2 = createI18n(options);
8267
+ const i18n2 = createI18n({ ...options });
8240
8268
  setI18nLanguage(i18n2, options.locale);
8241
8269
  return i18n2;
8242
8270
  }
@@ -8256,17 +8284,19 @@ const getLocaleLang = () => {
8256
8284
  return lang;
8257
8285
  };
8258
8286
  const local = getLocaleLang();
8287
+ const _zh = reverseGitcodeToAtomgit(zh);
8288
+ const _en = reverseGitcodeToAtomgit(en$1);
8259
8289
  const $i18n = setupI18n({
8260
8290
  legacy: false,
8261
8291
  locale: local,
8262
8292
  fallbackLocale: local,
8263
8293
  messages: {
8264
- zh,
8265
- en: en$1
8294
+ zh: _zh,
8295
+ en: _en
8266
8296
  }
8267
8297
  });
8268
8298
  const i18n = $i18n;
8269
- const layoutConfig$4 = useLayoutConfig();
8299
+ const layoutConfig$5 = useLayoutConfig();
8270
8300
  function scrollToTop() {
8271
8301
  if (typeof window !== "undefined" && window.pageYOffset) {
8272
8302
  const c = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
@@ -8295,7 +8325,7 @@ function extractRepoInfoWithURL(repoUrl) {
8295
8325
  return parts.join("/");
8296
8326
  }
8297
8327
  const isGstarRepo = (topics) => {
8298
- const gstarTopicIds = layoutConfig$4.VITE_GSTAR_TOPIC.split(",");
8328
+ const gstarTopicIds = layoutConfig$5.VITE_GSTAR_TOPIC.split(",");
8299
8329
  let isGstar = false;
8300
8330
  topics && topics.forEach((item) => {
8301
8331
  if (gstarTopicIds.includes(item.topic_id || item.id)) {
@@ -8305,7 +8335,7 @@ const isGstarRepo = (topics) => {
8305
8335
  return isGstar;
8306
8336
  };
8307
8337
  const isTrustedRepo = (topics) => {
8308
- const trustedTopicIds = layoutConfig$4.VITE_TRUSTED_TOPIC.split(",");
8338
+ const trustedTopicIds = layoutConfig$5.VITE_TRUSTED_TOPIC.split(",");
8309
8339
  let isTrusted = false;
8310
8340
  topics && topics.forEach((item) => {
8311
8341
  if (trustedTopicIds.includes(item.topic_id || item.id)) {
@@ -8314,7 +8344,7 @@ const isTrustedRepo = (topics) => {
8314
8344
  });
8315
8345
  return isTrusted;
8316
8346
  };
8317
- const INCUBATION_TOPICS = layoutConfig$4.VITE_INCUBATION_TOPIC || "";
8347
+ const INCUBATION_TOPICS = layoutConfig$5.VITE_INCUBATION_TOPIC || "";
8318
8348
  const isIncubationRepo = (topics = []) => {
8319
8349
  if (!topics) return false;
8320
8350
  const incubationIds = INCUBATION_TOPICS.split(",");
@@ -8357,7 +8387,7 @@ const getLastTimeRepoId = () => {
8357
8387
  };
8358
8388
  const setUtmSourceSign = (utm_source) => {
8359
8389
  const time = new Date((/* @__PURE__ */ new Date()).getTime() + 60 * 60 * 1e3);
8360
- return api.set("utm_source_sign", utm_source, { expires: time, domain: layoutConfig$4.VITE_COOKIE_DOMAIN });
8390
+ return api.set("utm_source_sign", utm_source, { expires: time, domain: layoutConfig$5.VITE_COOKIE_DOMAIN });
8361
8391
  };
8362
8392
  const getUtmSourceSign = () => {
8363
8393
  return api.get("utm_source_sign") || "";
@@ -10917,7 +10947,7 @@ const getCommonHeadInfo = (isAiHub) => {
10917
10947
  "X-Device-ID": "unknown"
10918
10948
  };
10919
10949
  };
10920
- const layoutConfig$3 = useLayoutConfig();
10950
+ const layoutConfig$4 = useLayoutConfig();
10921
10951
  const setPassportPrefix = (url, method) => {
10922
10952
  const prefix = "/uc";
10923
10953
  {
@@ -10941,7 +10971,7 @@ const setPassportPrefix = (url, method) => {
10941
10971
  };
10942
10972
  const proxyService = (params, customConfigs) => {
10943
10973
  const service = axios.create({
10944
- baseURL: layoutConfig$3.VITE_API_HOST,
10974
+ baseURL: layoutConfig$4.VITE_API_HOST,
10945
10975
  timeout: (customConfigs == null ? void 0 : customConfigs.customTimeout) || 3e4,
10946
10976
  withCredentials: true
10947
10977
  });
@@ -11090,7 +11120,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11090
11120
  const emits = __emit;
11091
11121
  const toggleGrowthCenter = () => {
11092
11122
  if (!props.isLogin) {
11093
- emitEvent("login", { loginTriggerSource: "toolsFloat_growthCenter" });
11123
+ const reportGrowthCenterString = handleReportParamsByDomain("toolsFloat_growthCenter");
11124
+ emitEvent("login", { loginTriggerSource: reportGrowthCenterString });
11094
11125
  return;
11095
11126
  }
11096
11127
  emits("toggle-growth-center");
@@ -11291,7 +11322,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11291
11322
  createElementVNode("div", _hoisted_2$k, [
11292
11323
  _cache[5] || (_cache[5] = createElementVNode("img", {
11293
11324
  class: "common-icon inline-block h-[20px] w-[20px]",
11294
- src: "https://cdn-static.gitcode.host/static/images/homeweb/czzx.svg",
11325
+ src: "https://cdn-static.gitcode.com/static/images/homeweb/czzx.svg",
11295
11326
  alt: ""
11296
11327
  }, null, -1)),
11297
11328
  !_ctx.isLogin || !isSignIn.value ? (openBlock(), createElementBlock("div", _hoisted_3$h, toDisplayString$1(!_ctx.isLogin ? unref(t2)("gitCodeLayout.growthCenter.receive") : unref(t2)("gitCodeLayout.growthCenter.signIn")), 1)) : createCommentVNode("", true)
@@ -11322,7 +11353,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11322
11353
  }, _cache[6] || (_cache[6] = [
11323
11354
  createElementVNode("img", {
11324
11355
  class: "inline-block h-[20px] w-[20px]",
11325
- src: "https://cdn-static.gitcode.host/static/images/desk/kefu.png",
11356
+ src: "https://cdn-static.gitcode.com/static/images/desk/kefu.png",
11326
11357
  alt: ""
11327
11358
  }, null, -1),
11328
11359
  createElementVNode("div", null, [
@@ -11343,7 +11374,7 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11343
11374
  createElementVNode("div", _hoisted_11$4, toDisplayString$1(unref(t2)("gitCodeLayout.home.followUs")), 1),
11344
11375
  _cache[7] || (_cache[7] = createElementVNode("img", {
11345
11376
  class: "qrcode",
11346
- src: "https://cdn-static.gitcode.host/static/images/points/wx_gitcode.png"
11377
+ src: "https://cdn-static.gitcode.com/static/images/points/wx_gitcode.png"
11347
11378
  }, null, -1))
11348
11379
  ])
11349
11380
  ]),
@@ -11352,12 +11383,12 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11352
11383
  createElementVNode("div", { class: "home-nav-item" }, [
11353
11384
  createElementVNode("img", {
11354
11385
  class: "common-icon inline-block h-[20px] w-[20px]",
11355
- src: "https://cdn-static.gitcode.host/static/images/desk/follow-us.svg",
11386
+ src: "https://cdn-static.gitcode.com/static/images/desk/follow-us.svg",
11356
11387
  alt: ""
11357
11388
  }),
11358
11389
  createElementVNode("img", {
11359
11390
  class: "active-icon inline-block h-[20px] w-[20px]",
11360
- src: "https://cdn-static.gitcode.host/static/images/desk/follow-us-hover.svg",
11391
+ src: "https://cdn-static.gitcode.com/static/images/desk/follow-us-hover.svg",
11361
11392
  alt: ""
11362
11393
  })
11363
11394
  ])
@@ -11470,12 +11501,12 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
11470
11501
  createElementVNode("div", { class: "home-nav-item" }, [
11471
11502
  createElementVNode("img", {
11472
11503
  class: "common-icon inline-block h-[20px] w-[20px]",
11473
- src: "https://cdn-static.gitcode.host/static/images/desk/plane-smile.png",
11504
+ src: "https://cdn-static.gitcode.com/static/images/desk/plane-smile.png",
11474
11505
  alt: ""
11475
11506
  }),
11476
11507
  createElementVNode("img", {
11477
11508
  class: "active-icon inline-block h-[20px] w-[20px]",
11478
- src: "https://cdn-static.gitcode.host/static/images/desk/plane-smile-hover.png",
11509
+ src: "https://cdn-static.gitcode.com/static/images/desk/plane-smile-hover.png",
11479
11510
  alt: ""
11480
11511
  })
11481
11512
  ], -1)
@@ -11644,7 +11675,7 @@ var REPO_TYPE = /* @__PURE__ */ ((REPO_TYPE2) => {
11644
11675
  REPO_TYPE2[REPO_TYPE2["HUGGINGFACE_MIRRORS"] = 2] = "HUGGINGFACE_MIRRORS";
11645
11676
  return REPO_TYPE2;
11646
11677
  })(REPO_TYPE || {});
11647
- const layoutConfig$2 = useLayoutConfig();
11678
+ const layoutConfig$3 = useLayoutConfig();
11648
11679
  const registerLoginMethodMap = {
11649
11680
  [LoginMethodEnum.PHONE]: "短信",
11650
11681
  [LoginMethodEnum.PASSWORD]: "密码",
@@ -11678,7 +11709,7 @@ const collectRegisterLoginEvent = ({ isRegister, registerLoginMethod, success, e
11678
11709
  userid_fast_application: searchParams["uuid_tt_dd"] || "",
11679
11710
  gitcode_utm_source: searchParams["utm_source"] || "",
11680
11711
  page_url: location.href || "",
11681
- env: layoutConfig$2.VITE_ENV,
11712
+ env: layoutConfig$3.VITE_ENV,
11682
11713
  namespace: extraData.namespace || "",
11683
11714
  ...extraData,
11684
11715
  ...searchParams
@@ -12274,21 +12305,73 @@ const sessionStorage$1 = sessionStorage;
12274
12305
  const _imports_0 = "data:image/png;base64,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";
12275
12306
  const transformUrl = (url) => {
12276
12307
  var _a;
12308
+ if (!url) return url;
12277
12309
  if (typeof window !== "undefined" && typeof location !== "undefined") {
12310
+ if (url == null ? void 0 : url.startsWith("https://cdn-")) {
12311
+ return url;
12312
+ }
12313
+ if (url == null ? void 0 : url.includes("myhuaweicloud.com")) {
12314
+ return url;
12315
+ }
12278
12316
  const host = (_a = location.host) == null ? void 0 : _a.replace(/^ai\./, "");
12279
12317
  if (host.includes("gitcode.host")) {
12280
12318
  return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
12281
12319
  }
12282
- if (host.includes("test.gitcode.net")) {
12320
+ if (url == null ? void 0 : url.includes("test.gitcode.net")) {
12283
12321
  return url == null ? void 0 : url.replace(/test\.gitcode\.net/g, host);
12284
12322
  }
12285
- if (url == null ? void 0 : url.startsWith("https://cdn-")) {
12286
- return url;
12287
- }
12323
+ return transformUrlWithSpecialPrefix({ url, host });
12324
+ }
12325
+ return url;
12326
+ };
12327
+ const transformUrlWithSpecialPrefix = ({ url, host }) => {
12328
+ const specialPrefix = ["-tianqi", "-ai", "-news", "-competition"];
12329
+ const isTestEnv = /^(test|local)\./i.test(host);
12330
+ const isPreEnv = /^(pre|loc-pre)\./i.test(host);
12331
+ const isNonProdEnv = isTestEnv || isPreEnv;
12332
+ if (!isNonProdEnv) {
12288
12333
  return url == null ? void 0 : url.replace(/gitcode\.com/g, host);
12289
12334
  }
12335
+ if (specialPrefix.some((prefix) => url == null ? void 0 : url.includes(prefix))) {
12336
+ try {
12337
+ const urlObj = new URL(url);
12338
+ const urlHost = urlObj.host;
12339
+ const specialPrefixMatch = specialPrefix.find((prefix) => urlHost.includes(prefix));
12340
+ if (specialPrefixMatch) {
12341
+ const prefixPart = urlHost.split(".")[0];
12342
+ const mainDomain = host.replace(/^(test|pre|local|loc-pre)\./, "");
12343
+ urlObj.host = `${prefixPart}.${mainDomain}`;
12344
+ return urlObj.toString();
12345
+ }
12346
+ } catch (error) {
12347
+ return url == null ? void 0 : url.replace(/gitcode\.net/g, host);
12348
+ }
12349
+ }
12290
12350
  return url;
12291
12351
  };
12352
+ const replaceHost = ({ url, customHost }) => {
12353
+ if (!url || !customHost) return url;
12354
+ try {
12355
+ const urlObj = new URL(url);
12356
+ let pureHost = customHost;
12357
+ if (customHost.includes("://")) {
12358
+ const customUrlObj = new URL(customHost);
12359
+ pureHost = customUrlObj.host;
12360
+ }
12361
+ urlObj.host = pureHost;
12362
+ return urlObj.toString();
12363
+ } catch (error) {
12364
+ return url;
12365
+ }
12366
+ };
12367
+ const getCurrentLogoMap = () => {
12368
+ if (typeof window === "undefined" || typeof location === "undefined") {
12369
+ console.warn("[getCurrentLogoMap] 在 SSR 环境中被调用,返回默认配置");
12370
+ return LOGO_MAP.gitcode;
12371
+ }
12372
+ const siteType = location.host.includes("atomgit") ? "atomgit" : "gitcode";
12373
+ return LOGO_MAP[siteType];
12374
+ };
12292
12375
  const _sfc_main$z = /* @__PURE__ */ defineComponent({
12293
12376
  ...{
12294
12377
  name: "GAvatar"
@@ -13201,7 +13284,7 @@ const _hoisted_6$8 = {
13201
13284
  };
13202
13285
  const _hoisted_7$5 = {
13203
13286
  key: 1,
13204
- src: "https://cdn-static.gitcode.host/static/images/mirrors-avata_20250411.gif",
13287
+ src: "https://cdn-static.gitcode.com/static/images/mirrors-avata_20250411.gif",
13205
13288
  alt: "mirrors-avatar",
13206
13289
  class: "h-[24px]"
13207
13290
  };
@@ -13592,8 +13675,6 @@ const _sfc_main$x = /* @__PURE__ */ defineComponent({
13592
13675
  }
13593
13676
  });
13594
13677
  const HeaderCustom = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-vue-layout-gitcode"]]);
13595
- const logoWhite = "data:image/png;base64,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";
13596
- const logoBlack = "data:image/png;base64,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";
13597
13678
  const vElementExposure = {
13598
13679
  mounted(el, binding) {
13599
13680
  let observer = new IntersectionObserver(function(entries2, observer2) {
@@ -13650,11 +13731,15 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
13650
13731
  }
13651
13732
  };
13652
13733
  getTianqiRouteConfig();
13734
+ const logoConfig = getCurrentLogoMap();
13735
+ const TIANQI_LOGO_WHITE = logoConfig.tianqiLogoLocalWhite;
13736
+ const TIANQI_LOGO_BLACK = logoConfig.tianqiLogoLocalDark;
13653
13737
  const logo = computed(() => {
13654
- if (tianqiButtonConfig.value.img) {
13738
+ var _a, _b;
13739
+ if (tianqiButtonConfig.value.img && ((_b = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a.host) == null ? void 0 : _b.includes("gitcode"))) {
13655
13740
  return currentTheme.value === ThemeType.BLACK ? tianqiButtonConfig.value.img_black : tianqiButtonConfig.value.img;
13656
13741
  }
13657
- return currentTheme.value === ThemeType.BLACK ? logoBlack : logoWhite;
13742
+ return currentTheme.value === ThemeType.BLACK ? TIANQI_LOGO_BLACK : TIANQI_LOGO_WHITE;
13658
13743
  });
13659
13744
  const customClass = computed(() => {
13660
13745
  return {
@@ -13662,7 +13747,12 @@ const _sfc_main$w = /* @__PURE__ */ defineComponent({
13662
13747
  };
13663
13748
  });
13664
13749
  function goPage() {
13665
- const url = tianqiButtonConfig.value.url || layoutConfig2.VITE_HOST_TIANQI + "?utm_source=toolbar";
13750
+ let url = "";
13751
+ if (!tianqiButtonConfig.value.url) {
13752
+ url = transformUrlWithSpecialPrefix({ url: layoutConfig2.VITE_HOST_TIANQI, host: window.location.host }) + "?utm_source=toolbar";
13753
+ } else {
13754
+ url = transformUrl(tianqiButtonConfig.value.url) + "?utm_source=toolbar";
13755
+ }
13666
13756
  useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.CHATBOTCLICK });
13667
13757
  window.open(url);
13668
13758
  }
@@ -15467,11 +15557,15 @@ function requireCipherCore() {
15467
15557
  * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);
15468
15558
  * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');
15469
15559
  */
15470
- execute: function(password, keySize, ivSize, salt) {
15560
+ execute: function(password, keySize, ivSize, salt, hasher) {
15471
15561
  if (!salt) {
15472
15562
  salt = WordArray.random(64 / 8);
15473
15563
  }
15474
- var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
15564
+ if (!hasher) {
15565
+ var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);
15566
+ } else {
15567
+ var key = EvpKDF.create({ keySize: keySize + ivSize, hasher }).compute(password, salt);
15568
+ }
15475
15569
  var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);
15476
15570
  key.sigBytes = keySize * 4;
15477
15571
  return CipherParams.create({ key, iv, salt });
@@ -15505,7 +15599,7 @@ function requireCipherCore() {
15505
15599
  */
15506
15600
  encrypt: function(cipher, message, password, cfg) {
15507
15601
  cfg = this.cfg.extend(cfg);
15508
- var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);
15602
+ var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, cfg.salt, cfg.hasher);
15509
15603
  cfg.iv = derivedParams.iv;
15510
15604
  var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);
15511
15605
  ciphertext.mixIn(derivedParams);
@@ -15531,7 +15625,7 @@ function requireCipherCore() {
15531
15625
  decrypt: function(cipher, ciphertext, password, cfg) {
15532
15626
  cfg = this.cfg.extend(cfg);
15533
15627
  ciphertext = this._parse(ciphertext, cfg.format);
15534
- var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);
15628
+ var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt, cfg.hasher);
15535
15629
  cfg.iv = derivedParams.iv;
15536
15630
  var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);
15537
15631
  return plaintext;
@@ -15714,7 +15808,7 @@ var encUtf8 = { exports: {} };
15714
15808
  })(encUtf8);
15715
15809
  var encUtf8Exports = encUtf8.exports;
15716
15810
  const Utf8 = /* @__PURE__ */ getDefaultExportFromCjs(encUtf8Exports);
15717
- const layoutConfig$1 = useLayoutConfig();
15811
+ const layoutConfig$2 = useLayoutConfig();
15718
15812
  function headRequest(request) {
15719
15813
  return {
15720
15814
  getSearchHot() {
@@ -15954,8 +16048,8 @@ function headRequest(request) {
15954
16048
  },
15955
16049
  // 密码登录
15956
16050
  toLogin(data) {
15957
- const key = Utf8.parse(layoutConfig$1.VITE_SECRET_KEY);
15958
- const iv = Utf8.parse(layoutConfig$1.VITE_SECRET_IV);
16051
+ const key = Utf8.parse(layoutConfig$2.VITE_SECRET_KEY);
16052
+ const iv = Utf8.parse(layoutConfig$2.VITE_SECRET_IV);
15959
16053
  const cryptoCode = AES.encrypt(data.password, key, {
15960
16054
  iv,
15961
16055
  padding: Pkcs7
@@ -16237,7 +16331,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
16237
16331
  });
16238
16332
  return (_ctx, _cache) => {
16239
16333
  return openBlock(), createBlock(GLink, {
16240
- href: `${unref(layoutConfig2).VITE_HOST}/notice?message_sate=countNotRead`
16334
+ href: `${unref(transformUrl)(unref(layoutConfig2).VITE_HOST)}/notice?message_sate=countNotRead`
16241
16335
  }, {
16242
16336
  default: withCtx(() => [
16243
16337
  createVNode(unref(Badge), {
@@ -16286,18 +16380,18 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
16286
16380
  const levelMap = {
16287
16381
  v1: {
16288
16382
  name: t2("gitCodeLayout.header.openSourceExplorer"),
16289
- avatar: "https://cdn-static.gitcode.host/static/images/points/ava-v1.png",
16290
- level: "https://cdn-static.gitcode.host/static/images/points/l-v1.png"
16383
+ avatar: "https://cdn-static.gitcode.com/static/images/points/ava-v1.png",
16384
+ level: "https://cdn-static.gitcode.com/static/images/points/l-v1.png"
16291
16385
  },
16292
16386
  v2: {
16293
16387
  name: t2("gitCodeLayout.header.openSourcePioneer"),
16294
- avatar: "https://cdn-static.gitcode.host/static/images/points/ava-v2.png",
16295
- level: "https://cdn-static.gitcode.host/static/images/points/l-v2.png"
16388
+ avatar: "https://cdn-static.gitcode.com/static/images/points/ava-v2.png",
16389
+ level: "https://cdn-static.gitcode.com/static/images/points/l-v2.png"
16296
16390
  },
16297
16391
  v3: {
16298
16392
  name: t2("gitCodeLayout.header.contributingStar"),
16299
- avatar: "https://cdn-static.gitcode.host/static/images/points/ava-v3.png",
16300
- level: "https://cdn-static.gitcode.host/static/images/points/l-v3.png"
16393
+ avatar: "https://cdn-static.gitcode.com/static/images/points/ava-v3.png",
16394
+ level: "https://cdn-static.gitcode.com/static/images/points/l-v3.png"
16301
16395
  }
16302
16396
  };
16303
16397
  const useReport2 = inject("useReport");
@@ -16311,7 +16405,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
16311
16405
  if (router2.hasRoute("settingPoints")) {
16312
16406
  router2.push("/setting/points");
16313
16407
  } else {
16314
- location.href = `${layoutConfig2.VITE_HOST}/setting/points`;
16408
+ location.href = `${transformUrl(layoutConfig2.VITE_HOST)}/setting/points`;
16315
16409
  }
16316
16410
  };
16317
16411
  const levelInfo = computed(() => {
@@ -16491,7 +16585,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
16491
16585
  item.action();
16492
16586
  }
16493
16587
  if (item == null ? void 0 : item.link) {
16494
- const link = `${layoutConfig2.VITE_HOST}${item.link}`;
16588
+ const link = `${transformUrl(layoutConfig2.VITE_HOST)}${item.link}`;
16495
16589
  window.open(link, "_self");
16496
16590
  }
16497
16591
  }
@@ -16508,7 +16602,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
16508
16602
  return openBlock(), createElementBlock("div", null, [
16509
16603
  createVNode(GLink, {
16510
16604
  class: "g-user-drawer-info pl-[32px] pr-[16px] cursor-pointer",
16511
- href: `${unref(layoutConfig2).VITE_HOST}/${__props.accountInfo.username}`,
16605
+ href: `${unref(transformUrl)(unref(layoutConfig2).VITE_HOST)}/${__props.accountInfo.username}`,
16512
16606
  key: "myPage",
16513
16607
  target: __props.isChatBot ? "_blank" : ""
16514
16608
  }, {
@@ -16854,13 +16948,13 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
16854
16948
  var _a;
16855
16949
  const layoutConfig2 = useLayoutConfig();
16856
16950
  const { t: $t } = i18n.global;
16857
- const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-Bx_yKm0s.js"));
16858
- const UserSearch = defineAsyncComponent(() => import("./UserSearch-CThRm6FU.js"));
16859
- const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-CsfaqmkP.js"));
16860
- const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-B3c_il4L.js"));
16861
- const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CkXrQ6Hi.js"));
16862
- const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-B55uF6lG.js"));
16863
- const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-Bz1a-RJg.js"));
16951
+ const ProjectSearch = defineAsyncComponent(() => import("./ProjectSearch-CSK6qeey.js"));
16952
+ const UserSearch = defineAsyncComponent(() => import("./UserSearch-C69mULge.js"));
16953
+ const GloabarSearch = defineAsyncComponent(() => import("./GloabarSearch-DWutXBZ0.js"));
16954
+ const SearchHistoryList = defineAsyncComponent(() => import("./SearchHistoryList-j9cRlcCi.js"));
16955
+ const SearchScopeList = defineAsyncComponent(() => import("./SearchScopeList-CuNgQw8w.js"));
16956
+ const SearchPrefixTag = defineAsyncComponent(() => import("./SearchPrefixTag-xrGOwpv6.js"));
16957
+ const SearchRecommed = defineAsyncComponent(() => import("./SearchRecommed-BrPLs0fF.js"));
16864
16958
  const props = __props;
16865
16959
  const repoInfo = inject("repoInfo");
16866
16960
  const orgInfo = inject("orgInfo");
@@ -17098,7 +17192,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17098
17192
  } else {
17099
17193
  hotUrl = `${hotUrl}?source_module=search_box_hot_word`;
17100
17194
  }
17101
- window.open(transformUrl$1(hotUrl), "_blank");
17195
+ window.open(transformUrl(hotUrl), "_blank");
17102
17196
  return;
17103
17197
  }
17104
17198
  isSearchHistory.value = false;
@@ -17514,7 +17608,7 @@ const autoAvokeLogin = ({ isLogin, loginFunc, openHarmonyGuide, loginSuccess, lo
17514
17608
  loginFunc({ type: "login", triggerType: "", loginTriggerSource: "router_login_auth", ...loginFuncOpts }, loginSuccess, openHarmonyGuide);
17515
17609
  }
17516
17610
  };
17517
- const NoticeModal = defineAsyncComponent(() => import("./notice-Dnq7xTYo.js"));
17611
+ const NoticeModal = defineAsyncComponent(() => import("./notice-B8DH0Zm_.js"));
17518
17612
  function clearNotice() {
17519
17613
  if (localStorage$2.getItem("validator_email")) {
17520
17614
  localStorage$2.removeItem("validator_email");
@@ -17693,13 +17787,15 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17693
17787
  useReport2(REPO_EVENT.CLICK, { module_name: ASIDE_MENU_REPO.ASIDEBTNCLICK });
17694
17788
  };
17695
17789
  const handleLogin = (type) => {
17790
+ const reportLoginString = handleReportParamsByDomain("toolbar_login");
17696
17791
  emitEvent("login", {
17697
17792
  type,
17698
17793
  triggerType: "主动注册",
17699
- loginTriggerSource: type === "login" ? "toolbar_login" : ""
17794
+ loginTriggerSource: type === "login" ? reportLoginString : ""
17700
17795
  });
17701
17796
  if (type === "register") {
17702
- sessionStorage$1.setItem(REGISTER_SOURCE_TAB, "toolbar_register");
17797
+ const reportRegisterString = handleReportParamsByDomain("toolbar_register");
17798
+ sessionStorage$1.setItem(REGISTER_SOURCE_TAB, reportRegisterString);
17703
17799
  sessionStorage$1.removeItem(LOGIN_MODAL_TRIGGER_SOURCE);
17704
17800
  }
17705
17801
  localStorage$2.setItem("sign_path", (window == null ? void 0 : window.location.href) || "");
@@ -17904,6 +18000,17 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17904
18000
  const handleCloseStickyNotice = () => {
17905
18001
  closeStickyNotice.value = true;
17906
18002
  };
18003
+ const logoConfig = getCurrentLogoMap();
18004
+ const logoStyle = computed(() => {
18005
+ const isBlackTheme = currentTheme.value === "black";
18006
+ const logoUrl = isBlackTheme ? logoConfig.siteLogoWhite : logoConfig.siteLogoDark;
18007
+ return {
18008
+ backgroundImage: `url(${logoUrl})`,
18009
+ backgroundRepeat: "no-repeat",
18010
+ backgroundPosition: "0 center",
18011
+ backgroundSize: "contain"
18012
+ };
18013
+ });
17907
18014
  return (_ctx, _cache) => {
17908
18015
  var _a2, _b, _c, _d;
17909
18016
  return openBlock(), createElementBlock("div", {
@@ -17951,14 +18058,16 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
17951
18058
  })) : createCommentVNode("", true),
17952
18059
  showNameAndIcon.value && _ctx.independence || inAIHub.value ? (openBlock(), createBlock(GLink, {
17953
18060
  key: 1,
17954
- class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
18061
+ class: "g-toolbar-left-logo",
18062
+ style: normalizeStyle(logoStyle.value),
17955
18063
  href: inAIHub.value ? `${unref(layoutConfig2).VITE_AI_HOST}` : `${unref(layoutConfig2).VITE_HOST}?p=seo`
17956
- }, null, 8, ["class", "href"])) : createCommentVNode("", true),
18064
+ }, null, 8, ["style", "href"])) : createCommentVNode("", true),
17957
18065
  showNameAndIcon.value && !_ctx.independence ? (openBlock(), createBlock(GLink, {
17958
18066
  key: 2,
17959
- class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
18067
+ class: "g-toolbar-left-logo",
18068
+ style: normalizeStyle(logoStyle.value),
17960
18069
  to: { name: "home" }
17961
- }, null, 8, ["class"])) : createCommentVNode("", true)
18070
+ }, null, 8, ["style"])) : createCommentVNode("", true)
17962
18071
  ]),
17963
18072
  isModuleVisible(unref(HeaderDisplayItem).CUSTOM_CONTENT) ? (openBlock(), createElementBlock("div", {
17964
18073
  key: 0,
@@ -18078,6 +18187,7 @@ const _sfc_main$n = /* @__PURE__ */ defineComponent({
18078
18187
  }
18079
18188
  });
18080
18189
  const GitCodeHeader = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-vue-layout-gitcode"]]);
18190
+ const layoutConfig$1 = useLayoutConfig();
18081
18191
  const useConfigSide = (request, sceneValue) => {
18082
18192
  const API = asideRequest(request);
18083
18193
  const route = useRoute();
@@ -18138,13 +18248,21 @@ const useConfigSide = (request, sceneValue) => {
18138
18248
  sideLoading.value = true;
18139
18249
  const res = await API.getAsideConfig();
18140
18250
  let asideList = (((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.data) || []).map((item) => {
18251
+ let processedUrl = item.left_menu_url;
18252
+ if (processedUrl == null ? void 0 : processedUrl.startsWith("https://competition.")) {
18253
+ processedUrl = replaceHost({ url: processedUrl, customHost: transformUrl(layoutConfig$1.VITE_COMPETITION_HOST) });
18254
+ } else if (processedUrl == null ? void 0 : processedUrl.startsWith("https://ai.")) {
18255
+ processedUrl = replaceHost({ url: processedUrl, customHost: transformUrl(layoutConfig$1.VITE_AI_HOST) });
18256
+ } else {
18257
+ processedUrl = transformUrl(processedUrl);
18258
+ }
18141
18259
  return {
18142
18260
  ...item,
18143
- left_menu_url: transformUrl$1(item.left_menu_url),
18144
- left_menu_logo: transformUrl$1(item.left_menu_logo),
18145
- left_menu_logo_black: transformUrl$1(item.left_menu_logo_black),
18146
- left_menu_logo_hover: transformUrl$1(item.left_menu_logo_hover),
18147
- left_menu_logo_hover_black: transformUrl$1(item.left_menu_logo_hover_black)
18261
+ left_menu_url: processedUrl,
18262
+ left_menu_logo: transformUrl(item.left_menu_logo),
18263
+ left_menu_logo_black: transformUrl(item.left_menu_logo_black),
18264
+ left_menu_logo_hover: transformUrl(item.left_menu_logo_hover),
18265
+ left_menu_logo_hover_black: transformUrl(item.left_menu_logo_hover_black)
18148
18266
  };
18149
18267
  });
18150
18268
  if (typeof window !== "undefined" && GUI_YANG_GITCODE_HOST && ((_b = window.location) == null ? void 0 : _b.origin.includes(GUI_YANG_GITCODE_HOST))) {
@@ -18219,8 +18337,8 @@ const loadUserProjectsInvolved = async (requestFn, params = {}) => {
18219
18337
  var _a;
18220
18338
  return {
18221
18339
  key: item.name,
18222
- web_url: transformUrl$1(item.web_url),
18223
- avatar: transformUrl$1(item.avatar),
18340
+ web_url: transformUrl(item.web_url),
18341
+ avatar: transformUrl(item.avatar),
18224
18342
  id: item.id,
18225
18343
  label: item.name,
18226
18344
  namespace: (_a = item.namespace_info) == null ? void 0 : _a.name
@@ -18271,9 +18389,9 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
18271
18389
  const layoutConfig2 = useLayoutConfig();
18272
18390
  const { t: t2 } = i18n.global;
18273
18391
  const route = useRoute();
18274
- const MenuItem = defineAsyncComponent(() => import("./MenuItem-BHtAosV9.js"));
18275
- const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-CQLWeHkd.js"));
18276
- const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-CU5JF-qf.js"));
18392
+ const MenuItem = defineAsyncComponent(() => import("./MenuItem-B48J7_bH.js"));
18393
+ const ProjectMenuListV2 = defineAsyncComponent(() => import("./ProjectMenuListV2-BDrzG4ue.js"));
18394
+ const ProjectMenuList = defineAsyncComponent(() => import("./ProjectMenuList-eMPknWyF.js"));
18277
18395
  const props = __props;
18278
18396
  console.log("slotKeys", props.slotKeys);
18279
18397
  console.log("props", props);
@@ -18641,6 +18759,7 @@ const FEEDBACK_CENTER_URL = "https://gitcode.com/Gitcode-offical-team/GitCode-Do
18641
18759
  const _sfc_main$i = /* @__PURE__ */ defineComponent({
18642
18760
  __name: "SubMenuList",
18643
18761
  setup(__props) {
18762
+ const layoutConfig2 = useLayoutConfig();
18644
18763
  const { t: t2 } = i18n.global;
18645
18764
  const isEn = computed(() => {
18646
18765
  return getLocaleLang() === LANG_EN;
@@ -18650,13 +18769,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
18650
18769
  {
18651
18770
  name: t2("gitCodeLayout.header.helpDocument"),
18652
18771
  icon: "gt-line-file",
18653
- url: HELP_DOCS_URL,
18772
+ url: transformUrl(HELP_DOCS_URL),
18654
18773
  target: "_blank"
18655
18774
  },
18656
18775
  {
18657
18776
  name: t2("gitCodeLayout.home.feedbackCenter"),
18658
18777
  icon: "gt-line-Checks",
18659
- url: FEEDBACK_CENTER_URL,
18778
+ url: replaceHost({ url: FEEDBACK_CENTER_URL, customHost: layoutConfig2.VITE_HOST }),
18660
18779
  target: "_self"
18661
18780
  }
18662
18781
  ];
@@ -19023,6 +19142,17 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
19023
19142
  if (route.meta.showBgColor) return true;
19024
19143
  return false;
19025
19144
  });
19145
+ const logoConfig = getCurrentLogoMap();
19146
+ const logoStyle = computed(() => {
19147
+ const isBlackTheme = currentTheme.value === "black";
19148
+ const logoUrl = isBlackTheme ? logoConfig.siteLogoWhite : logoConfig.siteLogoDark;
19149
+ return {
19150
+ backgroundImage: `url(${logoUrl})`,
19151
+ backgroundRepeat: "no-repeat",
19152
+ backgroundPosition: "0 center",
19153
+ backgroundSize: "contain"
19154
+ };
19155
+ });
19026
19156
  const sizeStore = usePageResize();
19027
19157
  const asideSetShow = computed(() => {
19028
19158
  return (props.sceneValue === SceneValue.home && !sizeStore.isMobile.value || props.collapseMode) && !props.disableFlatMode;
@@ -19135,10 +19265,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
19135
19265
  default: withCtx(() => [
19136
19266
  createElementVNode("div", _hoisted_1$d, [
19137
19267
  createVNode(GLink, {
19138
- class: normalizeClass(["g-toolbar-left-logo", unref(currentTheme)]),
19268
+ class: "g-toolbar-left-logo",
19269
+ style: normalizeStyle(logoStyle.value),
19139
19270
  to: _ctx.independence ? "" : { name: "home" },
19140
- href: _ctx.independence ? unref(layoutConfig2).VITE_HOST : ""
19141
- }, null, 8, ["class", "to", "href"]),
19271
+ href: _ctx.independence ? unref(transformUrl)(unref(layoutConfig2).VITE_HOST) : ""
19272
+ }, null, 8, ["style", "to", "href"]),
19142
19273
  createVNode(unref(Button), {
19143
19274
  class: "cursor-pointer draw-side-bar-close",
19144
19275
  icon: "close",
@@ -20283,7 +20414,7 @@ async function successResolve(params, API, isRegister = false) {
20283
20414
  const { path, userInfo, type, loginMethod } = params;
20284
20415
  const transformUserInfo = {
20285
20416
  ...userInfo,
20286
- avatar: transformUrl$1(userInfo == null ? void 0 : userInfo.avatar)
20417
+ avatar: transformUrl(userInfo == null ? void 0 : userInfo.avatar)
20287
20418
  };
20288
20419
  if (userInfo) {
20289
20420
  emitEvent("updateUserInfo", transformUserInfo);
@@ -23724,7 +23855,6 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
23724
23855
  };
23725
23856
  }
23726
23857
  });
23727
- const GIT_CODE_LOGO_WHITE = "data:image/png;base64,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";
23728
23858
  const _hoisted_1$3 = { class: "mfa" };
23729
23859
  const _hoisted_2$1 = ["src"];
23730
23860
  const _hoisted_3$1 = { class: "text-[20px] font-[600] mb-[8px]" };
@@ -23752,7 +23882,6 @@ const _hoisted_9$1 = {
23752
23882
  const _hoisted_10$1 = { class: "my-[32px]" };
23753
23883
  const _hoisted_11$1 = { class: "flex items-center justify-between" };
23754
23884
  const _hoisted_12$1 = { class: "cursor-pointer" };
23755
- const GIT_CODE_LOGO_BLACK = "https://cdn-static.gitcode.host/static/images/gitcode-logo-dark.png";
23756
23885
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
23757
23886
  __name: "MFA",
23758
23887
  props: {
@@ -23762,11 +23891,9 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
23762
23891
  },
23763
23892
  emits: ["success", "back", "fail"],
23764
23893
  setup(__props, { emit: __emit }) {
23894
+ const logoConfig = getCurrentLogoMap();
23765
23895
  const currentLogo = computed(() => {
23766
- if (currentTheme.value === ThemeType.BLACK) {
23767
- return GIT_CODE_LOGO_WHITE;
23768
- }
23769
- return GIT_CODE_LOGO_BLACK;
23896
+ return currentTheme.value === ThemeType.BLACK ? logoConfig.siteLogoWhite : logoConfig.siteLogoDark;
23770
23897
  });
23771
23898
  const { t: t2 } = i18n.global;
23772
23899
  const emits = __emit;
@@ -23985,7 +24112,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
23985
24112
  }
23986
24113
  });
23987
24114
  const MFA = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-vue-layout-gitcode"]]);
23988
- const SlidCaptcha = defineAsyncComponent(() => import("./index-CjlFh9gp.js"));
24115
+ const SlidCaptcha = defineAsyncComponent(() => import("./index-bBRwqaOi.js"));
23989
24116
  const useSlidCaptcha = () => {
23990
24117
  const { mount, unMount } = usePopup("slid-captcha-popup");
23991
24118
  const open = (config) => {
@@ -24004,7 +24131,7 @@ const useSlidCaptcha = () => {
24004
24131
  close: unMount
24005
24132
  };
24006
24133
  };
24007
- const YunpianCaptcha = defineAsyncComponent(() => import("./index-Bmj0DI0l.js"));
24134
+ const YunpianCaptcha = defineAsyncComponent(() => import("./index-CQGXV6Ps.js"));
24008
24135
  const useYunpianCaptcha = () => {
24009
24136
  const { mount, unMount } = usePopup("yunpian-captcha-popup");
24010
24137
  const open = (config) => {
@@ -24038,7 +24165,7 @@ function _sfc_render(_ctx, _cache) {
24038
24165
  createElementVNode("div", { class: "w-full flex-center" }, [
24039
24166
  createElementVNode("img", {
24040
24167
  class: "w-[60px] h-[60px]",
24041
- src: "https://cdn-static.gitcode.host/static/images/common/loading.gif",
24168
+ src: "https://cdn-static.gitcode.com/static/images/common/loading.gif",
24042
24169
  alt: "loading"
24043
24170
  })
24044
24171
  ]),
@@ -24258,9 +24385,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
24258
24385
  const IconW = TransAssetsUrl(IconSource, "logo-wechat");
24259
24386
  const IconHb = TransAssetsUrl(IconSource, "logo-hb");
24260
24387
  const IconHW = TransAssetsUrl(IconSource, "logo-huawei");
24388
+ const logoConfig = getCurrentLogoMap();
24261
24389
  const logoType = {
24262
- black: "https://cdn-static.gitcode.host/static/images/gitcode-logo-white.png",
24263
- white: "https://cdn-static.gitcode.host/static/images/gitcode-logo-dark.png"
24390
+ black: logoConfig.siteLogoWhite,
24391
+ white: logoConfig.siteLogoDark
24264
24392
  };
24265
24393
  const formErrors = reactive({});
24266
24394
  const extraErrors = reactive({
@@ -25659,7 +25787,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25659
25787
  }, [
25660
25788
  createElementVNode("div", _hoisted_42, [
25661
25789
  _cache[15] || (_cache[15] = createElementVNode("img", {
25662
- src: "https://cdn-static.gitcode.host/static/images/guide/openharmony.svg",
25790
+ src: "https://cdn-static.gitcode.com/static/images/guide/openharmony.svg",
25663
25791
  alt: "",
25664
25792
  class: "w-[32px] h-[32px] inline-block harmony-icon-img"
25665
25793
  }, null, -1)),
@@ -25700,8 +25828,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
25700
25828
  modelValue: status.value,
25701
25829
  "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => status.value = $event),
25702
25830
  onDeclares: _cache[10] || (_cache[10] = (typ) => handleDisplay(typ)),
25703
- "agreement-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
25704
- "privacy-text": `《GitCode ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
25831
+ "agreement-text": `《AtomGit ${unref($t)("gitCodeLayout.LoginModal.link.agreement")}》`,
25832
+ "privacy-text": `《AtomGit ${unref($t)("gitCodeLayout.LoginModal.link.privacyPolicy")}》`,
25705
25833
  onClick: _cache[11] || (_cache[11] = ($event) => agreementReport("signup_select", `gitcode${status.value ? 1 : 0}`))
25706
25834
  }, null, 8, ["modelValue", "agreement-text", "privacy-text"])
25707
25835
  ], 2),
@@ -26011,25 +26139,24 @@ export {
26011
26139
  LANG_EN as A,
26012
26140
  emitEvent as B,
26013
26141
  isHttps as C,
26014
- transformUrl as D,
26142
+ _sfc_main$z as D,
26015
26143
  EVENT_NAME as E,
26016
- _sfc_main$z as F,
26144
+ loadAsideData as F,
26017
26145
  GIcon as G,
26018
- loadAsideData as H,
26019
- asideRequest as I,
26020
- ToolsFloat as J,
26021
- _sfc_main as K,
26146
+ asideRequest as H,
26147
+ ToolsFloat as I,
26148
+ _sfc_main as J,
26149
+ GitCodeAside as K,
26022
26150
  LANG_KEY as L,
26023
- GitCodeAside as M,
26024
- GitCodeHeader as N,
26025
- useLogin as O,
26026
- setLayoutConfig as P,
26027
- GitCodeLayoutEmitter as Q,
26151
+ GitCodeHeader as M,
26152
+ useLogin as N,
26153
+ setLayoutConfig as O,
26154
+ GitCodeLayoutEmitter as P,
26155
+ setTheme as Q,
26028
26156
  REPO_MODULE as R,
26029
26157
  SceneValue as S,
26030
26158
  TOPIC_TYPE as T,
26031
- setTheme as U,
26032
- index as V,
26159
+ index as U,
26033
26160
  _export_sfc as _,
26034
26161
  i18n as a,
26035
26162
  REPO_EVENT as b,
@@ -26050,11 +26177,11 @@ export {
26050
26177
  _frEventTrack as q,
26051
26178
  reqCatch as r,
26052
26179
  setLoginTriggerSource as s,
26053
- transformUrl$1 as t,
26180
+ transformUrl as t,
26054
26181
  useModel as u,
26055
26182
  vElementExposure as v,
26056
- useLayoutConfig as w,
26057
- getLocaleLang as x,
26183
+ getLocaleLang as w,
26184
+ useLayoutConfig as x,
26058
26185
  ThemeType as y,
26059
26186
  currentTheme as z
26060
26187
  };