SToggleLanguage.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. import { resolveComponent as E, openBlock as e, createElementBlock as l, normalizeClass as m, createBlock as o, withCtx as s, createVNode as k, Fragment as F, renderList as f, createTextVNode as h, toDisplayString as A, createElementVNode as r } from "vue";
  2. import { l as z, aP as C, aG as O, aQ as U, U as y } from "./index2.js";
  3. const B = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAATFJREFUOE+l07FHhlEUx/HPS0R7WzREQ1tzW9EQRTREtDc0RPTS9hJFFA0NEUW0NUQRRUM0tzU0RPQfRBQ53Mt9H7e3ocvjeTznnO+953d+t+Wfq/VL/QimMYw+POMOL838JmAAO5jFG57wjXEM4RwdfGRQCYjiS/RjHY/FbsvYTLE4zXyGlIBdLGCxKI6dx7DVOHpstBr/MiB6vk1J+4hnFDc9NJ4KTTJgBRsp+R3XOMNVOnaNE1odZkA+fpkYoME0hRogBG1nwHbqvZZ4glNMJiFzThegbKEJWcJD+jmB49RWCHtUE7EJiLHN4TMFLpIvukSM2EEyUK2NKFpDeOU+TaxdjjG+s5FipLU1g70UqBopQ8KqYajaCgPFuKtWLgvyZYr3F16Tqf68TD2MVw/9AP+SOREfVpq+AAAAAElFTkSuQmCC", R = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAaJJREFUOE+lk7FLW1EYxX/nJaHBbmIcujgIFQoW3NwFB8FB6FDoX+AgdLAmXUIoBF9sg4ODoHTp1EHI4CAIFhz8BzoIDoJdKkRp6dIWk9yv3GfeIzEvdfBNl3fP9+Oec88VD/yUNj/+xiYJmDcxIUfWibPA8aX5Xud39X2AJxUbaf2lJlg04yviFKMDTEs8N/icy/Pue0W/Y1AC6A43/ECnzeqPuk5j0XjRlg1eSzwyOMvlWYohCaBQslDwEvGqua4TP1wo2Ywczwio9h7dYP8q1Ir/FwEizxmO/NrB1nWo+thbexoYh0Mz7jDnM7kFFG0ZUYzExqWDA9dmL5Ol4Y+dCjFqzZq2bwFr9oGAF31C49KgIJFNA/hAr0KVIkDiP0Vpxk7H+JQJmBeUE4ljr7mh1UELgxedhDq6ZrPZgI/AY2dUr2vaHQjx7rzBxQ0s/Qr1s5tXAzFDb4hdG1u+QEP8RtcWdeUPx4gj7z+5Rr+IiySYSoO0Wyxkcmz6vdQi9UDKUaHSAoX9XJ5iapV79fFjwpi0gLaMbzgO731MQ1v3n41/BTWsEcXMQOkAAAAASUVORK5CYII=", w = {
  4. props: {
  5. blockType: {
  6. type: String,
  7. default: "button"
  8. }
  9. },
  10. data() {
  11. return {
  12. theme: this.$theme,
  13. lang: "",
  14. isOpen: !1,
  15. locales: [
  16. {
  17. key: "zh",
  18. name: "中文"
  19. },
  20. {
  21. key: "en",
  22. name: "English"
  23. }
  24. ]
  25. };
  26. },
  27. methods: {
  28. openChange(n) {
  29. this.isOpen = n;
  30. },
  31. toggleLang(n) {
  32. this.lang = n.key, this.$utils.ls.set("lang", n.key), window.location.reload();
  33. },
  34. toggleChange() {
  35. this.lang === "zh" ? (this.lang = "en", this.$utils.ls.set("lang", "en")) : (this.lang = "zh", this.$utils.ls.set("lang", "zh")), window.location.reload();
  36. },
  37. init() {
  38. let n = this.$utils.ls.get("lang");
  39. (!n || n === "undefined") && this.$utils.ls.set("lang", this.$utils.env.VITE_APP_LANG), this.langEnable = this.$utils.env.VITE_APP_LANG_ENABLE, this.langEnable ? this.lang = this.$utils.ls.get("lang") : this.lang = "zh";
  40. }
  41. },
  42. mounted() {
  43. this.init();
  44. }
  45. }, N = { class: "locale-select" }, x = { class: "label" }, I = {
  46. key: 0,
  47. src: B,
  48. class: "icon"
  49. }, Q = {
  50. key: 1,
  51. src: R,
  52. class: "icon"
  53. };
  54. function T(n, v, g, b, t, a) {
  55. const c = E("s-icon"), d = C, _ = O, p = U, u = y;
  56. return e(), l("div", {
  57. class: m(["s-toggle-language", g.blockType === "button" ? "flex-right" : ""])
  58. }, [
  59. g.blockType === "dropdown" ? (e(), o(p, {
  60. key: 0,
  61. trigger: ["click"],
  62. onOpenChange: a.openChange
  63. }, {
  64. overlay: s(() => [
  65. k(_, null, {
  66. default: s(() => [
  67. (e(!0), l(F, null, f(t.locales, (i) => (e(), o(d, {
  68. key: i.key,
  69. onClick: (D) => a.toggleLang(i)
  70. }, {
  71. default: s(() => [
  72. h(A(i.name), 1)
  73. ]),
  74. _: 2
  75. }, 1032, ["onClick"]))), 128))
  76. ]),
  77. _: 1
  78. })
  79. ]),
  80. default: s(() => [
  81. r("div", N, [
  82. r("div", x, A(t.lang === "zh" ? "中文" : "English"), 1),
  83. t.isOpen ? (e(), l("img", Q)) : (e(), l("img", I)),
  84. t.isOpen ? (e(), o(c, {
  85. key: 3,
  86. name: "CaretUpOutlined"
  87. })) : (e(), o(c, {
  88. key: 2,
  89. name: "CaretDownOutlined",
  90. style: { color: "#191a37", "font-size": "12px" }
  91. }))
  92. ])
  93. ]),
  94. _: 1
  95. }, 8, ["onOpenChange"])) : (e(), o(u, {
  96. key: 1,
  97. class: "custom-btn",
  98. onClick: a.toggleChange
  99. }, {
  100. default: s(() => [
  101. h(A(t.lang === "zh" ? "中" : "EN"), 1)
  102. ]),
  103. _: 1
  104. }, 8, ["onClick"]))
  105. ], 2);
  106. }
  107. const Y = /* @__PURE__ */ z(w, [["render", T], ["__scopeId", "data-v-a33e5034"]]);
  108. export {
  109. Y as default
  110. };