yx-web-sdk 0.0.21 → 0.0.23

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.
Files changed (26) hide show
  1. package/dist/ait-person-popover/index.js +1 -1
  2. package/dist/chat-card/index.js +1 -1
  3. package/dist/chat-content/index.js +1 -1
  4. package/dist/chat-page/index.js +1 -1
  5. package/dist/chat-room/index.js +1 -1
  6. package/dist/common-avatar/index.js +1 -1
  7. package/dist/components/chat-content/index.vue.d.ts +2 -2
  8. package/dist/index/style4.css +5 -2
  9. package/dist/index/style6.css +69 -69
  10. package/dist/index/style7.css +2 -2
  11. package/dist/{index-DME8_VYv.mjs → index-C4E0XZdw.mjs} +2 -2
  12. package/dist/{index-Dwglj7_M.mjs → index-CwFsDdl5.mjs} +1 -1
  13. package/dist/{index-BPnLB3av.mjs → index-DDCNub37.mjs} +1 -1
  14. package/dist/index-entry/index.js +4 -4
  15. package/dist/{index.vue_vue_type_script_setup_true_lang-CD6o8jT4.mjs → index.vue_vue_type_script_setup_true_lang-B4HvNhJp.mjs} +5 -4
  16. package/dist/{index.vue_vue_type_style_index_0_lang-iBkYSdDj.mjs → index.vue_vue_type_style_index_0_lang-BN-dkKAR.mjs} +29 -12
  17. package/dist/{index.vue_vue_type_style_index_0_lang-BJGCxPce.mjs → index.vue_vue_type_style_index_0_lang-CtXuRziq.mjs} +3 -3
  18. package/dist/{index.vue_vue_type_style_index_0_lang-CsNgkPt9.mjs → index.vue_vue_type_style_index_0_lang-DOnNj1Mm.mjs} +3 -2
  19. package/dist/{index.vue_vue_type_style_index_0_lang-BaKNB-4q.mjs → index.vue_vue_type_style_index_0_lang-Dx16RQv1.mjs} +1 -0
  20. package/dist/members-sidebar/index.js +1 -1
  21. package/dist/server-channel-sidebar/index.js +1 -1
  22. package/dist/stores/channel.d.ts +1 -0
  23. package/dist/style.css +76 -73
  24. package/dist/yx-web-sdk.es.js +33 -13
  25. package/dist/yx-web-sdk.umd.js +33 -13
  26. package/package.json +1 -1
@@ -1,10 +1,10 @@
1
1
  import { createVNode, ref, computed, watch, nextTick, defineComponent, openBlock, createElementBlock, createElementVNode, normalizeStyle, unref, normalizeClass, createBlock, createCommentVNode, Fragment, renderList, toDisplayString, withCtx } from "vue";
2
2
  import { useRouter } from "vue-router";
3
3
  import { Input, Image, Popover, Button, Upload, message } from "ant-design-vue";
4
- import { A as AitPersonPopover } from "./index-Dwglj7_M.mjs";
5
- import { L as LoadingOutlined, _ as _sfc_main$2, a as _sfc_main$3 } from "./index.vue_vue_type_style_index_0_lang-CsNgkPt9.mjs";
4
+ import { A as AitPersonPopover } from "./index-CwFsDdl5.mjs";
5
+ import { L as LoadingOutlined, _ as _sfc_main$2, a as _sfc_main$3 } from "./index.vue_vue_type_style_index_0_lang-DOnNj1Mm.mjs";
6
6
  import { _ as _sfc_main$1 } from "./index.vue_vue_type_style_index_0_lang-BxXBf_VA.mjs";
7
- import { a as useServerStore, g as getServerMembersByAccids, u as useChannelStore, e as getImageMsgDisplaySize, f as filterStr, i as isLt } from "./index.vue_vue_type_style_index_0_lang-BaKNB-4q.mjs";
7
+ import { a as useServerStore, g as getServerMembersByAccids, u as useChannelStore, e as getImageMsgDisplaySize, f as filterStr, i as isLt } from "./index.vue_vue_type_style_index_0_lang-Dx16RQv1.mjs";
8
8
  import { useEventListener, useDebounceFn } from "@vueuse/core";
9
9
  import { C as CloseOutlined } from "./CloseOutlined-BEcmJaCc.mjs";
10
10
  import { I as Icon } from "./AntdIcon-DdvEPKFJ.mjs";
@@ -499,6 +499,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
499
499
  setup(__props, { emit: __emit }) {
500
500
  const router = useRouter();
501
501
  const channelStore = useChannelStore();
502
+ const IMG_EXT = ["png", "jpg", "jpeg"];
502
503
  const Textarea = Input.TextArea;
503
504
  const props = __props;
504
505
  const emit = __emit;
@@ -706,21 +707,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
706
707
  }
707
708
  };
708
709
  const handleSendText = () => {
710
+ var _a;
709
711
  const text = filterStr(curText.value.trim());
710
712
  if (text) {
711
- emit("sendText", text, {
712
- ext: {
713
- quoteMsg: quoteMsg.value
714
- },
713
+ if (attachment.value) {
714
+ delete attachment.value.__file;
715
+ }
716
+ const sendOption = {
715
717
  mentionAccids: mentionAccids.value,
716
718
  attach: attachment.value
717
719
  // 传递附件
718
- });
720
+ };
721
+ if (quoteMsg.value) {
722
+ sendOption.ext = { quoteMsg: quoteMsg.value };
723
+ }
724
+ emit("sendText", text, sendOption);
719
725
  curText.value = "";
720
726
  quoteMsg.value = void 0;
721
727
  attachment.value = void 0;
722
728
  scrollToBottomAfterSend();
723
729
  }
730
+ if (attachment.value && IMG_EXT.includes(attachment.value.ext) && ((_a = attachment.value) == null ? void 0 : _a.__file)) {
731
+ let sendOption;
732
+ if (quoteMsg.value) {
733
+ sendOption = { ext: { quoteMsg: quoteMsg.value } };
734
+ }
735
+ emit("sendImg", attachment.value.__file, sendOption);
736
+ quoteMsg.value = void 0;
737
+ attachment.value = void 0;
738
+ scrollToBottomAfterSend();
739
+ }
724
740
  };
725
741
  const scrollHandler = async (e) => {
726
742
  var _a;
@@ -779,7 +795,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
779
795
  };
780
796
  const uploadImgHandler = async (file) => {
781
797
  if (!isLt(file.size, MAX_IMG_SIZE)) {
782
- message.error(`图片大小最大支持${MAX_IMG_SIZE}M`);
798
+ message.error(`图片大小最大支持${MAX_IMG_SIZE}MB`);
783
799
  return false;
784
800
  }
785
801
  attachmentUploading.value = true;
@@ -793,6 +809,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
793
809
  attachmentUploading.value = false;
794
810
  }
795
811
  });
812
+ uploadResult.__file = file;
796
813
  attachment.value = uploadResult;
797
814
  } catch (error) {
798
815
  console.error("上传图片失败:", error);
@@ -1038,7 +1055,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1038
1055
  ])) : createCommentVNode("", true)
1039
1056
  ])) : createCommentVNode("", true),
1040
1057
  attachment.value ? (openBlock(), createElementBlock("div", _hoisted_14, [
1041
- ["jpg", "jpeg", "png", "gif"].includes(attachment.value.ext || "") && attachment.value.url ? (openBlock(), createElementBlock("div", _hoisted_15, [
1058
+ IMG_EXT.includes(attachment.value.ext || "") && attachment.value.url ? (openBlock(), createElementBlock("div", _hoisted_15, [
1042
1059
  createElementVNode("div", _hoisted_16, [
1043
1060
  createVNode(unref(DeleteOutlined), {
1044
1061
  class: "chatroomInputAttachmentDeleteBtn",
@@ -1113,7 +1130,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1113
1130
  createVNode(unref(Upload), {
1114
1131
  "before-upload": uploadImgHandler,
1115
1132
  "show-upload-list": false,
1116
- accept: ".jpg,.png,.jpeg",
1133
+ accept: IMG_EXT.map((ext) => `.${ext}`).join(","),
1117
1134
  disabled: __props.sendDisabled || attachmentUploading.value,
1118
1135
  class: "chatroomInputUpload"
1119
1136
  }, {
@@ -1148,7 +1165,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1148
1165
  }, 8, ["loading", "disabled"])
1149
1166
  ]),
1150
1167
  _: 1
1151
- }, 8, ["disabled"]),
1168
+ }, 8, ["accept", "disabled"]),
1152
1169
  _cache[6] || (_cache[6] = createElementVNode("span", { class: "lineSeparator" }, null, -1)),
1153
1170
  createVNode(unref(Button), {
1154
1171
  class: "chatroomButtonArrowUp",
@@ -1,10 +1,10 @@
1
1
  import { defineComponent, ref, h, watch, computed, openBlock, createElementBlock, createElementVNode, toDisplayString, createCommentVNode, createVNode } from "vue";
2
2
  import { List, Typography } from "ant-design-vue";
3
- import { _ as _sfc_main$1 } from "./index.vue_vue_type_script_setup_true_lang-CD6o8jT4.mjs";
4
- import { a as useServerStore, u as useChannelStore } from "./index.vue_vue_type_style_index_0_lang-BaKNB-4q.mjs";
3
+ import { _ as _sfc_main$1 } from "./index.vue_vue_type_script_setup_true_lang-B4HvNhJp.mjs";
4
+ import { a as useServerStore, u as useChannelStore } from "./index.vue_vue_type_style_index_0_lang-Dx16RQv1.mjs";
5
5
  import "./index-L_drmZir.mjs";
6
6
  import { useLocalStorage } from "@vueuse/core";
7
- import { L as LoadingOutlined } from "./index.vue_vue_type_style_index_0_lang-CsNgkPt9.mjs";
7
+ import { L as LoadingOutlined } from "./index.vue_vue_type_style_index_0_lang-DOnNj1Mm.mjs";
8
8
  const _hoisted_1 = { class: "yx-chat-page-container" };
9
9
  const _hoisted_2 = { class: "header-wrap" };
10
10
  const _hoisted_3 = { class: "left" };
@@ -1,7 +1,7 @@
1
1
  import { createVNode, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, unref, ref, onBeforeUnmount, computed, watch, nextTick, normalizeClass, Fragment, withModifiers, createBlock, withCtx, createCommentVNode, withDirectives, normalizeStyle, vShow } from "vue";
2
2
  import { useClipboard, useEventListener } from "@vueuse/core";
3
3
  import { Image, Button, message } from "ant-design-vue";
4
- import { h as getMByteSize, a as useServerStore, p as parseFileSize, m as matchExt, e as getImageMsgDisplaySize, _ as _sfc_main$2 } from "./index.vue_vue_type_style_index_0_lang-BaKNB-4q.mjs";
4
+ import { h as getMByteSize, a as useServerStore, p as parseFileSize, m as matchExt, e as getImageMsgDisplaySize, _ as _sfc_main$2 } from "./index.vue_vue_type_style_index_0_lang-Dx16RQv1.mjs";
5
5
  import { F as FileIconFont } from "./index-L_drmZir.mjs";
6
6
  import dayjs from "dayjs";
7
7
  import { I as Icon } from "./AntdIcon-DdvEPKFJ.mjs";
@@ -197,6 +197,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
197
197
  emits: ["resendText", "resendImg", "resendFile", "quote", "contextMenuSwitch", "quoteMsgClick", "revokeMessage"],
198
198
  setup(__props, { emit: __emit }) {
199
199
  const serverStore = useServerStore();
200
+ const IMG_EXT = ["png", "jpg", "jpeg"];
200
201
  const props = __props;
201
202
  const nowTime = ref(Date.now());
202
203
  let timer = null;
@@ -490,7 +491,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
490
491
  }, [..._cache[1] || (_cache[1] = [
491
492
  createElementVNode("div", { class: "textMsg" }, toDisplayString("暂不支持该消息"), -1)
492
493
  ])], 2)),
493
- __props.msg.type === "text" && ["jpg", "jpeg", "png", "gif"].includes(((_j = (_i = __props.msg) == null ? void 0 : _i.attach) == null ? void 0 : _j.ext) || "") ? (openBlock(), createElementBlock("div", _hoisted_14, [
494
+ __props.msg.type === "text" && IMG_EXT.includes(((_j = (_i = __props.msg) == null ? void 0 : _i.attach) == null ? void 0 : _j.ext) || "") ? (openBlock(), createElementBlock("div", _hoisted_14, [
494
495
  ((_l = (_k = __props.msg) == null ? void 0 : _k.attach) == null ? void 0 : _l.size) && ((_n = (_m = __props.msg) == null ? void 0 : _m.attach) == null ? void 0 : _n.size) < MAX_IMG_PREVIEW_SIZE ? (openBlock(), createBlock(unref(Image), {
495
496
  key: 0,
496
497
  class: "imgMsg",
@@ -36829,6 +36829,7 @@ const useChannelStore = defineStore("channel", {
36829
36829
  channelId: this.currentChannel.channelId,
36830
36830
  type: "image",
36831
36831
  file: options.file,
36832
+ ext: (options == null ? void 0 : options.ext) ? JSON.stringify(options == null ? void 0 : options.ext) : void 0,
36832
36833
  onUploadStart: options.onUploadStart,
36833
36834
  onUploadDone: options.onUploadDone,
36834
36835
  onSendBefore: (msg2) => {
@@ -1,4 +1,4 @@
1
- import { M as MembersSidebar } from "../index-BPnLB3av.mjs";
1
+ import { M as MembersSidebar } from "../index-DDCNub37.mjs";
2
2
  export {
3
3
  MembersSidebar,
4
4
  MembersSidebar as default
@@ -1,4 +1,4 @@
1
- import { S as ServerChannelSidebar } from "../index-DME8_VYv.mjs";
1
+ import { S as ServerChannelSidebar } from "../index-C4E0XZdw.mjs";
2
2
  export {
3
3
  ServerChannelSidebar,
4
4
  ServerChannelSidebar as default
@@ -134,6 +134,7 @@ export declare const useChannelStore: import("pinia").StoreDefinition<"channel",
134
134
  }): Promise<void>;
135
135
  sendImageMsg(options: {
136
136
  file: IUploadFileOptions["file"];
137
+ ext?: SendMsgOption["ext"];
137
138
  onUploadStart: IUploadFileOptions["onUploadStart"];
138
139
  onUploadDone: IUploadFileOptions["onUploadDone"];
139
140
  }): Promise<void>;
package/dist/style.css CHANGED
@@ -121,7 +121,7 @@
121
121
  font-size: 12px;
122
122
  color: var(--theme-text, #252b3a);
123
123
  text-align: left;
124
- margin-bottom: 3px;
124
+ margin-bottom: 8px;
125
125
  display: flex;
126
126
  align-items: baseline;
127
127
  gap: 8px;
@@ -129,7 +129,7 @@
129
129
  .yx-chatCardWrapper .chatCardInfo .chatCardInfoName {
130
130
  color: var(--theme-text, #252b3a);
131
131
  font-weight: 500;
132
- font-size: 16px;
132
+ font-size: 14px;
133
133
  overflow: hidden;
134
134
  text-overflow: ellipsis;
135
135
  white-space: nowrap;
@@ -426,16 +426,15 @@
426
426
  -moz-user-select: none;
427
427
  -ms-user-select: none;
428
428
  user-select: none;
429
+ color: var(--theme-aide-text, #3b3e55);
429
430
  }
430
431
  .yx-chatroomWrapper .chatroomInputQuoteWrapper .chatroomInputQuoteText .chatroomInputQuoteTextName {
431
- color: var(--theme-text, #252b3a);
432
432
  overflow: hidden;
433
433
  text-overflow: ellipsis;
434
434
  white-space: nowrap;
435
435
  max-width: 100%;
436
436
  }
437
437
  .yx-chatroomWrapper .chatroomInputQuoteWrapper .chatroomInputQuoteText .chatroomInputQuoteTextBody {
438
- color: var(--theme-text, #252b3a);
439
438
  word-break: break-all;
440
439
  white-space: pre-wrap;
441
440
  text-align: left;
@@ -471,6 +470,7 @@
471
470
  background-color: rgba(0, 0, 0, 0.5);
472
471
  z-index: 1;
473
472
  display: none;
473
+ border-radius: 8px;
474
474
  }
475
475
  .yx-chatroomWrapper .chatroomInputAttachmentWrapperImg .chatroomInputAttachmentDeleteBtn {
476
476
  position: absolute;
@@ -509,6 +509,9 @@
509
509
  width: 28px;
510
510
  height: 28px;
511
511
  padding: 0;
512
+ display: flex;
513
+ align-items: center;
514
+ justify-content: center;
512
515
  }
513
516
  .yx-chatroomWrapper .chatroomControllerWrapper .chatroomButton {
514
517
  display: flex;
@@ -771,36 +774,36 @@
771
774
  margin-bottom: 6px;
772
775
  border-radius: 8px;
773
776
  background-color: #282a2f;
774
- }.sidebar-container[data-v-961f30d7] {
777
+ }.sidebar-container[data-v-83471ee8] {
775
778
  display: flex;
776
779
  height: 100%;
777
780
  position: relative;
778
781
  }
779
- .sidebar-container.is-switching .server-item[data-v-961f30d7],
780
- .sidebar-container.is-switching .channel-item[data-v-961f30d7] {
782
+ .sidebar-container.is-switching .server-item[data-v-83471ee8],
783
+ .sidebar-container.is-switching .channel-item[data-v-83471ee8] {
781
784
  cursor: not-allowed;
782
785
  opacity: 0.6;
783
786
  pointer-events: none;
784
787
  }
785
- .user-panel-float[data-v-961f30d7] {
788
+ .user-panel-float[data-v-83471ee8] {
786
789
  position: absolute;
787
790
  bottom: 12px;
788
791
  left: 12px;
789
792
  display: flex;
790
793
  align-items: center;
791
794
  padding: 10px 12px;
792
- background-color: var(--theme-global-bg);
795
+ background-color: var(--theme-default-bg, #fff);
793
796
  border: 1px solid var(--theme-line-border);
794
797
  z-index: 10;
795
798
  gap: 10px;
796
799
  border-radius: 8px;
797
800
  box-shadow: 0px 1px 3px 0px rgba(29, 31, 58, 0.0196078431);
798
801
  }
799
- .user-panel-float .user-avatar[data-v-961f30d7] {
802
+ .user-panel-float .user-avatar[data-v-83471ee8] {
800
803
  position: relative;
801
804
  flex-shrink: 0;
802
805
  }
803
- .user-panel-float .user-avatar .online-indicator[data-v-961f30d7] {
806
+ .user-panel-float .user-avatar .online-indicator[data-v-83471ee8] {
804
807
  position: absolute;
805
808
  bottom: 0;
806
809
  right: 0;
@@ -810,12 +813,12 @@
810
813
  border: 3px solid #1a1b1e;
811
814
  border-radius: 50%;
812
815
  }
813
- .user-panel-float .user-info[data-v-961f30d7] {
816
+ .user-panel-float .user-info[data-v-83471ee8] {
814
817
  flex: 1;
815
818
  overflow: hidden;
816
819
  min-width: 0;
817
820
  }
818
- .user-panel-float .user-info .user-name[data-v-961f30d7] {
821
+ .user-panel-float .user-info .user-name[data-v-83471ee8] {
819
822
  font-size: 14px;
820
823
  font-weight: 600;
821
824
  color: var(--theme-text);
@@ -823,25 +826,25 @@
823
826
  text-overflow: ellipsis;
824
827
  white-space: nowrap;
825
828
  }
826
- .user-panel-float .user-info .user-status[data-v-961f30d7] {
829
+ .user-panel-float .user-info .user-status[data-v-83471ee8] {
827
830
  display: flex;
828
831
  align-items: center;
829
832
  gap: 4px;
830
833
  font-size: 12px;
831
834
  color: var(--theme-success-text);
832
835
  }
833
- .user-panel-float .user-info .user-status .status-dot[data-v-961f30d7] {
836
+ .user-panel-float .user-info .user-status .status-dot[data-v-83471ee8] {
834
837
  width: 8px;
835
838
  height: 8px;
836
839
  background-color: var(--theme-success-text);
837
840
  border-radius: 50%;
838
841
  }
839
- .user-panel-float .user-actions[data-v-961f30d7] {
842
+ .user-panel-float .user-actions[data-v-83471ee8] {
840
843
  display: flex;
841
844
  align-items: center;
842
845
  gap: 8px;
843
846
  }
844
- .user-panel-float .user-actions .action-btn[data-v-961f30d7] {
847
+ .user-panel-float .user-actions .action-btn[data-v-83471ee8] {
845
848
  width: 20px;
846
849
  height: 20px;
847
850
  display: flex;
@@ -854,14 +857,14 @@
854
857
  font-size: 16px;
855
858
  outline: none;
856
859
  }
857
- .user-panel-float .user-actions .action-btn[data-v-961f30d7]:hover {
860
+ .user-panel-float .user-actions .action-btn[data-v-83471ee8]:hover {
858
861
  background-color: var(--theme-icon-hover);
859
862
  color: var(--theme-text);
860
863
  }
861
- .user-panel-float .user-actions .action-btn[data-v-961f30d7]:focus {
864
+ .user-panel-float .user-actions .action-btn[data-v-83471ee8]:focus {
862
865
  outline: none;
863
866
  }
864
- .server-sidebar[data-v-961f30d7] {
867
+ .server-sidebar[data-v-83471ee8] {
865
868
  display: flex;
866
869
  flex-direction: column;
867
870
  width: 72px;
@@ -869,23 +872,23 @@
869
872
  padding: 0 0 16px;
870
873
  padding-bottom: 73px;
871
874
  }
872
- .server-sidebar .server-list[data-v-961f30d7] {
875
+ .server-sidebar .server-list[data-v-83471ee8] {
873
876
  flex: 1;
874
877
  overflow-y: auto;
875
878
  overflow-x: hidden;
876
879
  border-right: 1px solid var(--theme-line);
877
880
  padding-top: 16px;
878
881
  }
879
- .server-sidebar .server-list[data-v-961f30d7]::-webkit-scrollbar {
882
+ .server-sidebar .server-list[data-v-83471ee8]::-webkit-scrollbar {
880
883
  width: 0;
881
884
  }
882
- .server-sidebar .logo-wrap[data-v-961f30d7] {
885
+ .server-sidebar .logo-wrap[data-v-83471ee8] {
883
886
  margin: 0 16px;
884
887
  border-bottom: 1px solid var(--theme-line-split);
885
888
  padding-bottom: 12px;
886
889
  margin-bottom: 12px;
887
890
  }
888
- .server-sidebar .logo-wrap .logo[data-v-961f30d7] {
891
+ .server-sidebar .logo-wrap .logo[data-v-83471ee8] {
889
892
  width: 40px;
890
893
  height: 40px;
891
894
  border-radius: 8px;
@@ -896,7 +899,7 @@
896
899
  overflow: hidden;
897
900
  transition: border-radius 0.15s ease-out, background-color 0.15s ease-out;
898
901
  }
899
- .server-sidebar .server-item[data-v-961f30d7] {
902
+ .server-sidebar .server-item[data-v-83471ee8] {
900
903
  position: relative;
901
904
  display: flex;
902
905
  align-items: center;
@@ -904,7 +907,7 @@
904
907
  margin: 0 16px 16px;
905
908
  cursor: pointer;
906
909
  }
907
- .server-sidebar .server-item .server-icon[data-v-961f30d7] {
910
+ .server-sidebar .server-item .server-icon[data-v-83471ee8] {
908
911
  width: 40px;
909
912
  height: 40px;
910
913
  border-radius: 8px;
@@ -915,36 +918,36 @@
915
918
  overflow: hidden;
916
919
  transition: border-radius 0.15s ease-out, background-color 0.15s ease-out;
917
920
  }
918
- .server-sidebar .server-item .server-icon img[data-v-961f30d7] {
921
+ .server-sidebar .server-item .server-icon img[data-v-83471ee8] {
919
922
  width: 100%;
920
923
  height: 100%;
921
924
  -o-object-fit: cover;
922
925
  object-fit: cover;
923
926
  }
924
- .server-sidebar .server-item .server-icon .server-initial[data-v-961f30d7] {
927
+ .server-sidebar .server-item .server-icon .server-initial[data-v-83471ee8] {
925
928
  font-size: 18px;
926
929
  font-weight: 500;
927
930
  color: var(--theme-text);
928
931
  }
929
- .server-sidebar .server-item:hover .server-icon[data-v-961f30d7], .server-sidebar .server-item.active .server-icon[data-v-961f30d7] {
932
+ .server-sidebar .server-item:hover .server-icon[data-v-83471ee8], .server-sidebar .server-item.active .server-icon[data-v-83471ee8] {
930
933
  border-radius: 16px;
931
934
  background-color: var(--theme-form-control-line-active);
932
935
  border: 1px solid var(--theme-table-header-bg);
933
936
  }
934
- .server-sidebar .server-item:hover .server-icon .server-initial[data-v-961f30d7], .server-sidebar .server-item.active .server-icon .server-initial[data-v-961f30d7] {
937
+ .server-sidebar .server-item:hover .server-icon .server-initial[data-v-83471ee8], .server-sidebar .server-item.active .server-icon .server-initial[data-v-83471ee8] {
935
938
  color: var(--theme-light-text);
936
939
  }
937
- .server-sidebar .server-item .unread-badge[data-v-961f30d7] {
940
+ .server-sidebar .server-item .unread-badge[data-v-83471ee8] {
938
941
  position: absolute;
939
942
  bottom: -4px;
940
943
  right: 4px;
941
944
  }
942
- .server-sidebar .server-item.add-server[data-v-961f30d7] {
945
+ .server-sidebar .server-item.add-server[data-v-83471ee8] {
943
946
  margin-top: 8px;
944
947
  padding-top: 8px;
945
948
  border-top: 2px solid var(--theme-global-bg);
946
949
  }
947
- .server-sidebar .server-item.add-server .add-server-btn[data-v-961f30d7] {
950
+ .server-sidebar .server-item.add-server .add-server-btn[data-v-83471ee8] {
948
951
  width: 48px;
949
952
  height: 48px;
950
953
  border-radius: 50%;
@@ -957,12 +960,12 @@
957
960
  color: var(--theme-success-text);
958
961
  font-size: 20px;
959
962
  }
960
- .server-sidebar .server-item.add-server .add-server-btn[data-v-961f30d7]:hover {
963
+ .server-sidebar .server-item.add-server .add-server-btn[data-v-83471ee8]:hover {
961
964
  border-radius: 16px;
962
965
  background-color: var(--theme-success-text);
963
966
  color: var(--theme-text);
964
967
  }
965
- .channel-sidebar[data-v-961f30d7] {
968
+ .channel-sidebar[data-v-83471ee8] {
966
969
  display: flex;
967
970
  flex-direction: column;
968
971
  width: 294px;
@@ -974,7 +977,7 @@
974
977
  padding-bottom: 73px;
975
978
  position: relative;
976
979
  }
977
- .channel-sidebar .resize-handle[data-v-961f30d7] {
980
+ .channel-sidebar .resize-handle[data-v-83471ee8] {
978
981
  position: absolute;
979
982
  top: 0;
980
983
  right: -3px;
@@ -984,17 +987,17 @@
984
987
  z-index: 20;
985
988
  transition: background-color 0.15s ease;
986
989
  }
987
- .channel-sidebar .resize-handle[data-v-961f30d7]:hover, .channel-sidebar .resize-handle[data-v-961f30d7]:active {
990
+ .channel-sidebar .resize-handle[data-v-83471ee8]:hover, .channel-sidebar .resize-handle[data-v-83471ee8]:active {
988
991
  background-color: var(--theme-form-control-line-active);
989
992
  }
990
- .channel-sidebar .server-header[data-v-961f30d7] {
993
+ .channel-sidebar .server-header[data-v-83471ee8] {
991
994
  display: flex;
992
995
  align-items: center;
993
996
  justify-content: space-between;
994
997
  padding: 22px 20px;
995
998
  border-bottom: 1px solid var(--theme-line);
996
999
  }
997
- .channel-sidebar .server-header .server-name[data-v-961f30d7] {
1000
+ .channel-sidebar .server-header .server-name[data-v-83471ee8] {
998
1001
  font-size: 15px;
999
1002
  font-weight: 600;
1000
1003
  color: var(--theme-stress-text);
@@ -1002,26 +1005,26 @@
1002
1005
  text-overflow: ellipsis;
1003
1006
  white-space: nowrap;
1004
1007
  }
1005
- .channel-sidebar .server-header .server-setting[data-v-961f30d7] {
1008
+ .channel-sidebar .server-header .server-setting[data-v-83471ee8] {
1006
1009
  color: #b9bbbe;
1007
1010
  cursor: pointer;
1008
1011
  font-size: 16px;
1009
1012
  }
1010
- .channel-sidebar .server-header .server-setting[data-v-961f30d7]:hover {
1013
+ .channel-sidebar .server-header .server-setting[data-v-83471ee8]:hover {
1011
1014
  color: #dcddde;
1012
1015
  }
1013
- .channel-sidebar .channel-list[data-v-961f30d7] {
1016
+ .channel-sidebar .channel-list[data-v-83471ee8] {
1014
1017
  flex: 1;
1015
1018
  overflow-y: auto;
1016
1019
  }
1017
- .channel-sidebar .channel-list[data-v-961f30d7]::-webkit-scrollbar {
1020
+ .channel-sidebar .channel-list[data-v-83471ee8]::-webkit-scrollbar {
1018
1021
  width: 4px;
1019
1022
  }
1020
- .channel-sidebar .channel-list[data-v-961f30d7]::-webkit-scrollbar-thumb {
1023
+ .channel-sidebar .channel-list[data-v-83471ee8]::-webkit-scrollbar-thumb {
1021
1024
  background-color: var(--theme-line);
1022
1025
  border-radius: 2px;
1023
1026
  }
1024
- .channel-sidebar .channel-item[data-v-961f30d7] {
1027
+ .channel-sidebar .channel-item[data-v-83471ee8] {
1025
1028
  display: flex;
1026
1029
  align-items: center;
1027
1030
  padding: 0 20px;
@@ -1031,39 +1034,39 @@
1031
1034
  cursor: pointer;
1032
1035
  color: var(--theme-icon-fill-weak);
1033
1036
  }
1034
- .channel-sidebar .channel-item[data-v-961f30d7]:not(:last-child) {
1037
+ .channel-sidebar .channel-item[data-v-83471ee8]:not(:last-child) {
1035
1038
  margin-bottom: 2px;
1036
1039
  }
1037
- .channel-sidebar .channel-item[data-v-961f30d7]:hover {
1040
+ .channel-sidebar .channel-item[data-v-83471ee8]:hover {
1038
1041
  background-color: var(--theme-select-bg);
1039
1042
  color: var(--theme-text);
1040
1043
  }
1041
- .channel-sidebar .channel-item:hover .channel-setting[data-v-961f30d7] {
1044
+ .channel-sidebar .channel-item:hover .channel-setting[data-v-83471ee8] {
1042
1045
  opacity: 1;
1043
1046
  }
1044
- .channel-sidebar .channel-item.active[data-v-961f30d7] {
1047
+ .channel-sidebar .channel-item.active[data-v-83471ee8] {
1045
1048
  background-color: var(--theme-select-bg);
1046
1049
  color: var(--theme-text);
1047
1050
  font-weight: 500;
1048
1051
  font-size: 16px;
1049
1052
  }
1050
- .channel-sidebar .channel-item .channel-icon[data-v-961f30d7] {
1053
+ .channel-sidebar .channel-item .channel-icon[data-v-83471ee8] {
1051
1054
  margin-right: 6px;
1052
1055
  font-size: 20px;
1053
1056
  font-weight: 400;
1054
1057
  color: #8e9297;
1055
1058
  }
1056
- .channel-sidebar .channel-item .channel-name[data-v-961f30d7] {
1059
+ .channel-sidebar .channel-item .channel-name[data-v-83471ee8] {
1057
1060
  flex: 1;
1058
1061
  overflow: hidden;
1059
1062
  text-overflow: ellipsis;
1060
1063
  white-space: nowrap;
1061
1064
  font-size: 14px;
1062
1065
  }
1063
- .channel-sidebar .channel-item .channel-unread[data-v-961f30d7] {
1066
+ .channel-sidebar .channel-item .channel-unread[data-v-83471ee8] {
1064
1067
  margin-left: 4px;
1065
1068
  }
1066
- .channel-sidebar .channel-item .channel-setting[data-v-961f30d7] {
1069
+ .channel-sidebar .channel-item .channel-setting[data-v-83471ee8] {
1067
1070
  opacity: 0;
1068
1071
  margin-left: 8px;
1069
1072
  font-size: 14px;
@@ -1072,10 +1075,10 @@
1072
1075
  transition: opacity 0.15s ease, color 0.15s ease;
1073
1076
  flex-shrink: 0;
1074
1077
  }
1075
- .channel-sidebar .channel-item .channel-setting[data-v-961f30d7]:hover {
1078
+ .channel-sidebar .channel-item .channel-setting[data-v-83471ee8]:hover {
1076
1079
  color: var(--theme-text);
1077
1080
  }
1078
- .channel-sidebar .add-channel-item[data-v-961f30d7] {
1081
+ .channel-sidebar .add-channel-item[data-v-83471ee8] {
1079
1082
  display: flex;
1080
1083
  align-items: center;
1081
1084
  padding: 12px 22px;
@@ -1084,7 +1087,7 @@
1084
1087
  margin-top: 4px;
1085
1088
  color: var(--theme-link);
1086
1089
  }
1087
- .channel-sidebar .add-channel-item .channel-icon[data-v-961f30d7] {
1090
+ .channel-sidebar .add-channel-item .channel-icon[data-v-83471ee8] {
1088
1091
  margin-right: 6px;
1089
1092
  font-size: 16px;
1090
1093
  color: var(--theme-link);
@@ -1093,64 +1096,64 @@
1093
1096
  align-items: center;
1094
1097
  justify-content: center;
1095
1098
  }
1096
- .channel-sidebar .add-channel-item .channel-name[data-v-961f30d7] {
1099
+ .channel-sidebar .add-channel-item .channel-name[data-v-83471ee8] {
1097
1100
  font-size: 14px;
1098
1101
  }
1099
- [data-v-961f30d7] .ant-modal .ant-modal-content {
1102
+ [data-v-83471ee8] .ant-modal .ant-modal-content {
1100
1103
  background-color: var(--theme-global-bg);
1101
1104
  border-radius: 8px;
1102
1105
  }
1103
- [data-v-961f30d7] .ant-modal .ant-modal-header {
1106
+ [data-v-83471ee8] .ant-modal .ant-modal-header {
1104
1107
  background-color: var(--theme-global-bg);
1105
1108
  border-bottom: none;
1106
1109
  }
1107
- [data-v-961f30d7] .ant-modal .ant-modal-title {
1110
+ [data-v-83471ee8] .ant-modal .ant-modal-title {
1108
1111
  color: var(--theme-text);
1109
1112
  }
1110
- [data-v-961f30d7] .ant-modal .ant-modal-close-x {
1113
+ [data-v-83471ee8] .ant-modal .ant-modal-close-x {
1111
1114
  color: #b9bbbe;
1112
1115
  }
1113
- [data-v-961f30d7] .ant-modal .ant-form-item-label > label {
1116
+ [data-v-83471ee8] .ant-modal .ant-form-item-label > label {
1114
1117
  color: #b9bbbe;
1115
1118
  }
1116
- [data-v-961f30d7] .ant-modal .ant-input {
1119
+ [data-v-83471ee8] .ant-modal .ant-input {
1117
1120
  background-color: var(--theme-line);
1118
1121
  border-color: #040405;
1119
1122
  color: #dcddde;
1120
1123
  }
1121
- [data-v-961f30d7] .ant-modal .ant-input::-moz-placeholder {
1124
+ [data-v-83471ee8] .ant-modal .ant-input::-moz-placeholder {
1122
1125
  color: #72767d;
1123
1126
  }
1124
- [data-v-961f30d7] .ant-modal .ant-input:-ms-input-placeholder {
1127
+ [data-v-83471ee8] .ant-modal .ant-input:-ms-input-placeholder {
1125
1128
  color: #72767d;
1126
1129
  }
1127
- [data-v-961f30d7] .ant-modal .ant-input::placeholder {
1130
+ [data-v-83471ee8] .ant-modal .ant-input::placeholder {
1128
1131
  color: #72767d;
1129
1132
  }
1130
- [data-v-961f30d7] .ant-modal .ant-input:hover,[data-v-961f30d7] .ant-modal .ant-input:focus {
1133
+ [data-v-83471ee8] .ant-modal .ant-input:hover,[data-v-83471ee8] .ant-modal .ant-input:focus {
1131
1134
  border-color: #5865f2;
1132
1135
  }
1133
- [data-v-961f30d7] .ant-modal .ant-tabs-tab {
1136
+ [data-v-83471ee8] .ant-modal .ant-tabs-tab {
1134
1137
  color: #b9bbbe;
1135
1138
  }
1136
- [data-v-961f30d7] .ant-modal .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
1139
+ [data-v-83471ee8] .ant-modal .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
1137
1140
  color: var(--theme-text);
1138
1141
  }
1139
- [data-v-961f30d7] .ant-modal .ant-tabs-ink-bar {
1142
+ [data-v-83471ee8] .ant-modal .ant-tabs-ink-bar {
1140
1143
  background-color: #5865f2;
1141
1144
  }
1142
- .footer-container[data-v-961f30d7] {
1145
+ .footer-container[data-v-83471ee8] {
1143
1146
  display: flex;
1144
1147
  align-items: center;
1145
1148
  justify-content: flex-end;
1146
1149
  gap: 10px;
1147
1150
  }
1148
- .invite-btn[data-v-961f30d7] {
1151
+ .invite-btn[data-v-83471ee8] {
1149
1152
  cursor: pointer;
1150
1153
  color: var(--theme-icon-fill-weak);
1151
1154
  transition: color 0.15s ease;
1152
1155
  }
1153
- .invite-btn[data-v-961f30d7]:hover {
1156
+ .invite-btn[data-v-83471ee8]:hover {
1154
1157
  color: var(--theme-text);
1155
1158
  }.channel-modal .ant-modal-header {
1156
1159
  background-color: var(--theme-table-header-bg);