koishi-plugin-chat-patch 3.0.2 → 5.0.0

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 (194) hide show
  1. package/client/vue/index.vue +60 -634
  2. package/client/web/env.d.ts +56 -0
  3. package/client/web/index.html +21 -0
  4. package/client/web/package-lock.json +3419 -0
  5. package/client/web/package.json +62 -0
  6. package/client/web/public/bcui/css/color-dark.css +35 -0
  7. package/client/web/public/bcui/css/color-light.css +35 -0
  8. package/client/web/public/bcui/css/style.css +468 -0
  9. package/client/web/public/bcui/js/main.js +193 -0
  10. package/client/web/public/css/append-dark.css +13 -0
  11. package/client/web/public/css/append-light.css +13 -0
  12. package/client/web/public/css/append-napcat-dark.css +14 -0
  13. package/client/web/public/css/append-napcat-light.css +14 -0
  14. package/client/web/public/favicon.ico +0 -0
  15. package/client/web/public/img/icons/icon-for-fuck-apple.png +0 -0
  16. package/client/web/public/img/icons/icon-maskable.png +0 -0
  17. package/client/web/public/img/icons/icon.png +0 -0
  18. package/client/web/public/img/icons/icon.svg +10 -0
  19. package/client/web/public/robots.txt +2 -0
  20. package/client/web/public/sw.js +58 -0
  21. package/client/web/scripts/copy-bcui.mjs +17 -0
  22. package/client/web/src/App.vue +1127 -0
  23. package/client/web/src/assets/css/append/append_darwin.css +68 -0
  24. package/client/web/src/assets/css/append/append_full_vibrancy.css +290 -0
  25. package/client/web/src/assets/css/append/append_linux.css +125 -0
  26. package/client/web/src/assets/css/append/append_linux_vibrancy.css +22 -0
  27. package/client/web/src/assets/css/append/append_napcat.css +35 -0
  28. package/client/web/src/assets/css/append/append_new.css +843 -0
  29. package/client/web/src/assets/css/append/append_vibrancy.css +113 -0
  30. package/client/web/src/assets/css/append/append_win32.css +109 -0
  31. package/client/web/src/assets/css/append/mobile/append_mobile_horizontal.css +349 -0
  32. package/client/web/src/assets/css/append/mobile/append_mobile_vertical.css +96 -0
  33. package/client/web/src/assets/css/chat.css +2104 -0
  34. package/client/web/src/assets/css/msg.css +941 -0
  35. package/client/web/src/assets/css/options.css +811 -0
  36. package/client/web/src/assets/css/sys_notice.css +62 -0
  37. package/client/web/src/assets/css/view.css +2105 -0
  38. package/client/web/src/assets/font//346/226/271/346/255/243/345/226/265/345/221/234/344/275/223.ttf +0 -0
  39. package/client/web/src/assets/img/Vue.png +0 -0
  40. package/client/web/src/assets/img/cakes.svg +189 -0
  41. package/client/web/src/assets/img/icons/AppIcon.png +0 -0
  42. package/client/web/src/assets/img/icons/AppIconDark.png +0 -0
  43. package/client/web/src/assets/img/icons/CapacitorAppIcon.png +0 -0
  44. package/client/web/src/assets/img/icons/CapacitorAppIconDark.png +0 -0
  45. package/client/web/src/assets/img/icons/NapcatAppIcon.png +0 -0
  46. package/client/web/src/assets/img/icons/NapcatAppIconDark.png +0 -0
  47. package/client/web/src/assets/img/icons/exit.png +0 -0
  48. package/client/web/src/assets/img/icons/pen.png +0 -0
  49. package/client/web/src/assets/img/stars.svg +89 -0
  50. package/client/web/src/assets/img//346/234/237/345/276/205.png +0 -0
  51. package/client/web/src/assets/l10n/_About I10n.md +35 -0
  52. package/client/web/src/assets/l10n/_l10nconfig.json +7 -0
  53. package/client/web/src/assets/l10n/zh-CN.po +1941 -0
  54. package/client/web/src/assets/logo.png +0 -0
  55. package/client/web/src/assets/pathMap/LLOneBot.yaml +2 -0
  56. package/client/web/src/assets/pathMap/Lagrange.OneBot.yaml +180 -0
  57. package/client/web/src/assets/pathMap/NapCat.Onebot.yaml +224 -0
  58. package/client/web/src/assets/pathMap/SnowLuma.yaml +80 -0
  59. package/client/web/src/assets/qed.txt +1 -0
  60. package/client/web/src/components/AboutPan.vue +197 -0
  61. package/client/web/src/components/BulletinBody.vue +129 -0
  62. package/client/web/src/components/DepPan.vue +310 -0
  63. package/client/web/src/components/EmojiFace.vue +32 -0
  64. package/client/web/src/components/FacePan.vue +461 -0
  65. package/client/web/src/components/FileBody.vue +129 -0
  66. package/client/web/src/components/FileManager.vue +532 -0
  67. package/client/web/src/components/FriendBody.vue +54 -0
  68. package/client/web/src/components/GlobalSessionSearchBar.vue +301 -0
  69. package/client/web/src/components/History.vue +49 -0
  70. package/client/web/src/components/LazyLottie.vue +82 -0
  71. package/client/web/src/components/MergePan.vue +127 -0
  72. package/client/web/src/components/MsgBody.vue +1478 -0
  73. package/client/web/src/components/MusicPlayer.vue +549 -0
  74. package/client/web/src/components/NoticeBody.vue +168 -0
  75. package/client/web/src/components/QzonePermissionPan.vue +150 -0
  76. package/client/web/src/components/RawMsgRenderPreviewPan.vue +190 -0
  77. package/client/web/src/components/ThemeColorPickerPan.vue +420 -0
  78. package/client/web/src/components/TinySessionBody.vue +51 -0
  79. package/client/web/src/components/UmamiInfoPan.vue +1549 -0
  80. package/client/web/src/components/UpdatePan.vue +263 -0
  81. package/client/web/src/components/ViewerCom.vue +1360 -0
  82. package/client/web/src/components/VoiceMsg.vue +626 -0
  83. package/client/web/src/components/WelPan.vue +894 -0
  84. package/client/web/src/components/msg-body/.gitkeep +0 -0
  85. package/client/web/src/components/msg-component/JsonSegComp.vue +138 -0
  86. package/client/web/src/components/msg-component/XmlSegComp.vue +132 -0
  87. package/client/web/src/components/msg-component/jsonComp/AutoReply.vue +97 -0
  88. package/client/web/src/components/msg-component/jsonComp/Contact.lua.vue +129 -0
  89. package/client/web/src/components/msg-component/jsonComp/Feed.lua.vue +94 -0
  90. package/client/web/src/components/msg-component/jsonComp/Forum.vue +84 -0
  91. package/client/web/src/components/msg-component/jsonComp/Mannounce.vue +111 -0
  92. package/client/web/src/components/msg-component/jsonComp/Map.vue +52 -0
  93. package/client/web/src/components/msg-component/jsonComp/Miniapp.lua.vue +53 -0
  94. package/client/web/src/components/msg-component/jsonComp/Miniapp.vue +69 -0
  95. package/client/web/src/components/msg-component/jsonComp/Music.lua.vue +135 -0
  96. package/client/web/src/components/msg-component/jsonComp/Tuwen.lua.vue +56 -0
  97. package/client/web/src/components/notice-component/.gitkeep +0 -0
  98. package/client/web/src/components/notice-component/MealHungryPan.vue +119 -0
  99. package/client/web/src/components/tooltip/CustomFaceTooltip.vue +22 -0
  100. package/client/web/src/components/tooltip/Tooltip.vue +50 -0
  101. package/client/web/src/components/tooltip/Tooltips.vue +14 -0
  102. package/client/web/src/components/tooltip/UserInfoTooltip.vue +69 -0
  103. package/client/web/src/function/base.ts +238 -0
  104. package/client/web/src/function/connect.ts +2042 -0
  105. package/client/web/src/function/debug.ts +10 -0
  106. package/client/web/src/function/elements/information.ts +141 -0
  107. package/client/web/src/function/elements/system.ts +101 -0
  108. package/client/web/src/function/elements/vueComp.ts +62 -0
  109. package/client/web/src/function/favicon.ts +76 -0
  110. package/client/web/src/function/input.ts +69 -0
  111. package/client/web/src/function/model/emoji.ts +127 -0
  112. package/client/web/src/function/model/img.ts +150 -0
  113. package/client/web/src/function/model/msg-body.ts +51 -0
  114. package/client/web/src/function/msg.ts +2674 -0
  115. package/client/web/src/function/notify.ts +225 -0
  116. package/client/web/src/function/option.ts +749 -0
  117. package/client/web/src/function/satori-model.ts +818 -0
  118. package/client/web/src/function/satori.ts +325 -0
  119. package/client/web/src/function/sender.ts +178 -0
  120. package/client/web/src/function/tooltip.ts +49 -0
  121. package/client/web/src/function/utils/appUtil.ts +2288 -0
  122. package/client/web/src/function/utils/avatarUtil.ts +31 -0
  123. package/client/web/src/function/utils/backgroundUtil.ts +110 -0
  124. package/client/web/src/function/utils/linkViewUtil.ts +101 -0
  125. package/client/web/src/function/utils/localHistoryUtil.ts +517 -0
  126. package/client/web/src/function/utils/msgUtil.ts +1242 -0
  127. package/client/web/src/function/utils/pinyin.ts +141 -0
  128. package/client/web/src/function/utils/recordUtil.ts +187 -0
  129. package/client/web/src/function/utils/sessionUtil.ts +114 -0
  130. package/client/web/src/function/utils/systemUtil.ts +664 -0
  131. package/client/web/src/main.ts +91 -0
  132. package/client/web/src/pages/Chat.vue +3453 -0
  133. package/client/web/src/pages/Friends.vue +636 -0
  134. package/client/web/src/pages/Info.vue +717 -0
  135. package/client/web/src/pages/Messages.vue +875 -0
  136. package/client/web/src/pages/Options.vue +82 -0
  137. package/client/web/src/pages/Qzone.vue +1178 -0
  138. package/client/web/src/pages/chat-view/ChatDanmaku.vue +759 -0
  139. package/client/web/src/pages/chat-view/ChatGlagame.vue +642 -0
  140. package/client/web/src/pages/chat-view/ChatTerminal.vue +1044 -0
  141. package/client/web/src/pages/chat-view/SystemNotice.vue +171 -0
  142. package/client/web/src/pages/options/OptAccount.vue +107 -0
  143. package/client/web/src/pages/options/OptAddon.vue +185 -0
  144. package/client/web/src/pages/options/OptDev.vue +704 -0
  145. package/client/web/src/pages/options/OptFunction.vue +403 -0
  146. package/client/web/src/pages/options/OptInfo.vue +165 -0
  147. package/client/web/src/pages/options/OptView.vue +846 -0
  148. package/client/web/src/runtime/backend.ts +310 -0
  149. package/client/web/src/state/auth.ts +14 -0
  150. package/client/web/src/state/chat.ts +36 -0
  151. package/client/web/src/state/connection.ts +20 -0
  152. package/client/web/src/state/contact.ts +37 -0
  153. package/client/web/src/state/qzone.ts +18 -0
  154. package/client/web/src/state/sessionHistory.ts +25 -0
  155. package/client/web/src/state/settings.ts +18 -0
  156. package/client/web/src/state/sticker.ts +10 -0
  157. package/client/web/src/state/ui.ts +56 -0
  158. package/client/web/tsconfig.json +27 -0
  159. package/client/web/tsconfig.tsbuildinfo +1 -0
  160. package/client/web/vite.config.ts +33 -0
  161. package/dist/index.js +1 -12
  162. package/dist/style.css +1 -1
  163. package/lib/index.js +2070 -2077
  164. package/package.json +15 -2
  165. package/readme.md +0 -22
  166. package/src/bootstrap.ts +71 -0
  167. package/src/cache.ts +319 -0
  168. package/src/config.ts +23 -35
  169. package/src/database.ts +650 -0
  170. package/src/index.ts +27 -59
  171. package/src/media.ts +302 -0
  172. package/src/recorder.ts +175 -0
  173. package/src/self-message.ts +456 -0
  174. package/src/server.d.ts +26 -0
  175. package/src/types.ts +108 -48
  176. package/src/web.ts +712 -0
  177. package/client/vue/chat-logic.ts +0 -683
  178. package/client/vue/composables/useChatActions.ts +0 -61
  179. package/client/vue/composables/useChatData.ts +0 -185
  180. package/client/vue/composables/useImageCache.ts +0 -281
  181. package/client/vue/composables/useVideoCache.ts +0 -125
  182. package/client/vue/types.ts +0 -72
  183. package/lib/api-handlers.d.ts +0 -25
  184. package/lib/config.d.ts +0 -14
  185. package/lib/file-manager.d.ts +0 -124
  186. package/lib/index.d.ts +0 -17
  187. package/lib/logger.d.ts +0 -9
  188. package/lib/message-handler.d.ts +0 -35
  189. package/lib/types.d.ts +0 -57
  190. package/lib/utils.d.ts +0 -18
  191. package/src/api-handlers.ts +0 -646
  192. package/src/file-manager.ts +0 -1436
  193. package/src/message-handler.ts +0 -507
  194. package/src/utils.ts +0 -189
@@ -0,0 +1,2104 @@
1
+ textarea {
2
+ caret-color: var(--color-main);
3
+ }
4
+ input {
5
+ outline: none;
6
+ }
7
+
8
+ .chat-pan {
9
+ background-color: var(--color-card);
10
+ background-repeat: no-repeat;
11
+ background-position: center;
12
+ background-size: cover;
13
+
14
+ color: var(--color-font);
15
+ flex-direction: column;
16
+ pointer-events: none;
17
+ transition: all 0.3s;
18
+ position: absolute;
19
+ overflow: hidden;
20
+ display: flex;
21
+ height: 100%;
22
+ left: 371px;
23
+ z-index: 2;
24
+ right: 0;
25
+ top: 0;
26
+ }
27
+ .chat-pan.withBar {
28
+ height: calc(100% - 40px);
29
+ top: 40px;
30
+ }
31
+ .chat-pan.full {
32
+ height: 100%;
33
+ z-index: 20;
34
+ bottom: 0;
35
+ left: 0;
36
+ }
37
+ .chat-pan > div {
38
+ z-index: 2;
39
+ }
40
+ .chat-pan > div.bg {
41
+ background: rgba(var(--color-card-rgb), 0.6);
42
+ position: absolute;
43
+ height: 100%;
44
+ width: 100%;
45
+ z-index: 0;
46
+ }
47
+ .chat-pan > div.info {
48
+ background: rgba(var(--color-card-1-rgb), 0.8);
49
+ box-shadow: 0 0 1px var(--color-shader);
50
+ backdrop-filter: blur(50px);
51
+ width: calc(100% - 60px);
52
+ pointer-events: all;
53
+ align-items: center;
54
+ border-radius: 7px;
55
+ display: flex;
56
+ padding: 15px;
57
+ margin: 15px;
58
+ }
59
+ .chat-pan > div.info > svg {
60
+ background: var(--color-main);
61
+ color: var(--color-font-r);
62
+ margin-right: 10px;
63
+ border-radius: 7px;
64
+ cursor: pointer;
65
+ padding: 15px;
66
+ display: none;
67
+ height: 20px;
68
+ width: 20px;
69
+ }
70
+ .chat-pan > div.info > svg.back {
71
+ background: rgba(var(--color-card-2-rgb), 0.8);
72
+ display: block !important;
73
+ color: var(--color-font);
74
+ }
75
+ .chat-pan > div.info > img {
76
+ border: 2px solid var(--color-card-2);
77
+ border-radius: 7px;
78
+ margin-right: 10px;
79
+ object-fit: cover;
80
+ height: 50px;
81
+ width: 50px;
82
+ }
83
+ .chat-pan > div.info > div.info p {
84
+ font-weight: bold;
85
+ font-size: 1rem;
86
+ margin: 0;
87
+ }
88
+ .chat-pan > div.info > div.info span {
89
+ font-size: 0.8rem;
90
+ font-weight: 100;
91
+ margin-top: 3px;
92
+ display: block;
93
+ }
94
+ .chat-pan > div.info > div.space {
95
+ flex: 1;
96
+ }
97
+ .chat-pan > div.info > div.more {
98
+ background: var(--color-card-2);
99
+ border-radius: 50%;
100
+ cursor: pointer;
101
+ height: 45px;
102
+ width: 45px;
103
+ }
104
+ .chat-pan > div.info > div.more > svg {
105
+ color: var(--color-main);
106
+ margin: 10px;
107
+ height: 25px;
108
+ width: 25px;
109
+ }
110
+
111
+ .chat-pan > div.chat {
112
+ max-width: calc(100% - 20px);
113
+ width: calc(100% - 20px);
114
+ pointer-events: all;
115
+ overflow-y: scroll;
116
+ overflow-x: hidden;
117
+ scrollbar-gutter: stable;
118
+ margin: -90px 0 20px 20px;
119
+ padding-top: 90px;
120
+ z-index: 1;
121
+ flex: 1;
122
+ }
123
+ .chat-padding {
124
+ display: block;
125
+ }
126
+ .chat-pan > div.chat > div:last-child {
127
+ height: calc(100% - var(--safe-area-bottom));
128
+ }
129
+ .chat-pan > div.chat::-webkit-scrollbar {
130
+ background: transparent;
131
+ }
132
+
133
+ .chat-pan > div.new-msg {
134
+ transform: translateY(calc(-100% - 70px));
135
+ margin: 0 20px -25px auto;
136
+ border-right: 7px solid transparent;
137
+ border-radius: 50px 0 0 50px;
138
+ pointer-events: all;
139
+ cursor: pointer;
140
+ height: 50px;
141
+ z-index: 2;
142
+ }
143
+ .chat-pan > div.new-msg > div {
144
+ background: rgba(var(--color-card-1-rgb), 0.7);
145
+ backdrop-filter: blur(50px);
146
+ justify-content: center;
147
+ border-radius: 40px;
148
+ align-items: center;
149
+ margin-right: -7px;
150
+ margin-top: 10px;
151
+ display: flex;
152
+ height: 100%;
153
+ padding: 0;
154
+ }
155
+ .chat-pan > div.new-msg > div > svg {
156
+ color: var(--color-font);
157
+ padding: 16px;
158
+ height: 17px;
159
+ width: 17px;
160
+ }
161
+ .chat-pan > div.new-msg > div > span {
162
+ margin-right: 20px;
163
+ margin-left: -5px;
164
+ }
165
+ .chat-pan > div.more {
166
+ background: rgba(var(--color-card-rgb), 0.1);
167
+ transition: background 0.3s;
168
+ pointer-events: all;
169
+ position: absolute;
170
+ bottom: 0px;
171
+ width: 100%;
172
+ }
173
+ .chat-pan > div.more > div:nth-child(2) {
174
+ align-items: end;
175
+ display: flex;
176
+ padding: 20px;
177
+ }
178
+ .chat-pan > div.more > div:nth-child(2) > div {
179
+ background: var(--color-card-1);
180
+ border-radius: 7px;
181
+ }
182
+ .chat-pan > div.more > div:nth-child(2) > div:first-child {
183
+ margin-right: 20px;
184
+ cursor: pointer;
185
+ height: 50px;
186
+ width: 50px;
187
+ }
188
+ .chat-pan > div.more > div:nth-child(2) > div:first-child > svg {
189
+ color: var(--color-font-1);
190
+ margin: 15px;
191
+ height: 20px;
192
+ width: 20px;
193
+ }
194
+ .chat-pan > div.more > div:nth-child(2) > div:nth-child(2) {
195
+ align-items: center;
196
+ display: flex;
197
+ flex: 1;
198
+ }
199
+ .chat-pan > div.more > div:nth-child(2) > div:nth-child(2) > form {
200
+ align-items: center;
201
+ display: flex;
202
+ flex: 1;
203
+ }
204
+ .chat-pan > div.more > div:nth-child(2) > div > form {
205
+ width: 100%;
206
+ }
207
+ .chat-pan > div.more > div:nth-child(2) > div > form > input {
208
+ padding-top: 0 !important;
209
+ height: 50px !important;
210
+ margin: 0 !important;
211
+ }
212
+ .chat-pan > div.more > div:nth-child(2) > div > form > input,
213
+ .chat-pan > div.more > div:nth-child(2) > div > form > textarea {
214
+ width: calc(100% - 40px);
215
+ color: var(--color-font);
216
+ background: transparent;
217
+ border-radius: 7px;
218
+ font-size: 0.85rem;
219
+ line-height: 20px;
220
+ max-height: 40vh;
221
+ min-height: 20px;
222
+ padding: 0 20px;
223
+ margin: 10px 0;
224
+ height: 20px;
225
+ resize: none;
226
+ border: 0;
227
+ }
228
+ .chat-pan > div.more > div:nth-child(2) > div > form > input:disabled,
229
+ .chat-pan > div.more > div:nth-child(2) > div > form > textarea:disabled {
230
+ background: var(--color-card);
231
+ outline: 1px solid var(--color-card-2);
232
+ color: var(--color-font-2);
233
+ opacity: 0.7;
234
+ text-align: center;
235
+ font-size: 0.8rem;
236
+ }
237
+ .chat-pan > div.more > div:nth-child(2) > div > div {
238
+ border-radius: 7px;
239
+ cursor: pointer;
240
+ height: 40px;
241
+ margin: 5px;
242
+ width: 40px;
243
+ }
244
+ .chat-pan > div.more > div:nth-child(2) > div > div:hover {
245
+ background: var(--color-card-2);
246
+ }
247
+ .chat-pan > div.more > div:nth-child(2) > div svg {
248
+ color: var(--color-font-1);
249
+ width: 20px;
250
+ height: 20px;
251
+ margin: 10px;
252
+ }
253
+ .chat-pan > div.loading {
254
+ background: var(--color-card-1);
255
+ margin: -10px 15px 15px 15px;
256
+ justify-content: center;
257
+ align-items: center;
258
+ transition: all 0.3s;
259
+ border-radius: 7px;
260
+ overflow: hidden;
261
+ display: flex;
262
+ padding: 0;
263
+ height: 0;
264
+ }
265
+ .chat-pan > div.loading.show {
266
+ height: unset;
267
+ padding: 10px;
268
+ }
269
+ @-webkit-keyframes rotate {
270
+ from {
271
+ transform: rotate(0deg);
272
+ }
273
+ to {
274
+ transform: rotate(360deg);
275
+ }
276
+ }
277
+ @keyframes rotate {
278
+ from {
279
+ transform: rotate(0deg);
280
+ }
281
+ to {
282
+ transform: rotate(360deg);
283
+ }
284
+ }
285
+ .chat-pan > div.loading svg {
286
+ animation: rotate 1.5s linear infinite;
287
+ color: var(--color-font);
288
+ margin-right: 5px;
289
+ margin-top: 2px;
290
+ height: 0.9rem;
291
+ }
292
+
293
+ .sys-not-pan {
294
+ text-align: center;
295
+ padding: 20px;
296
+ display: flex;
297
+ }
298
+ .sys-not-pan > div {
299
+ padding-right: 10px;
300
+ pointer-events: all;
301
+ overflow-y: scroll;
302
+ }
303
+ .sys-not-pan > div:first-child {
304
+ background: var(--color-card-1);
305
+ align-items: center;
306
+ border-radius: 7px;
307
+ display: flex;
308
+ padding: 10px 20px;
309
+ }
310
+ .sys-not-pan > div:first-child > svg {
311
+ color: var(--color-font);
312
+ margin-right: 20px;
313
+ cursor: pointer;
314
+ height: 1.1rem;
315
+ }
316
+ .sys-not-pan > div:first-child > span {
317
+ font-size: 1rem;
318
+ }
319
+
320
+ .sys-not-list {
321
+ margin-top: 10px;
322
+ }
323
+ .sys-not-list > div {
324
+ background: var(--color-card-1);
325
+ margin-bottom: 10px;
326
+ border-radius: 7px;
327
+ display: flex;
328
+ flex-direction: row;
329
+ align-items: center;
330
+ padding: 10px;
331
+ }
332
+ .sys-not-list > div > div:first-child {
333
+ display: flex;
334
+ flex-direction: row;
335
+ align-items: center;
336
+ flex: 1;
337
+ }
338
+ .sys-not-list > div > div:first-child img {
339
+ width: 50px;
340
+ height: 50px;
341
+ border-radius: 7px;
342
+ border: 2px solid var(--color-card-2);
343
+ margin-right: 10px;
344
+ }
345
+ .sys-not-list > div > div:first-child div {
346
+ display: flex;
347
+ flex-direction: column;
348
+ justify-content: center;
349
+ align-items: flex-start;
350
+ text-align: left;
351
+ }
352
+ .sys-not-list > div > div:first-child span {
353
+ color: var(--color-main);
354
+ font-weight: bold;
355
+ }
356
+ .sys-not-list > div > div:first-child a {
357
+ color: var(--color-font);
358
+ font-size: 0.9rem;
359
+ }
360
+ .sys-not-list > div > div:first-child a:last-child {
361
+ color: var(--color-font-2);
362
+ }
363
+ .sys-not-list > div > div:last-child button {
364
+ margin-right: 10px;
365
+ width: 90px;
366
+ height: 35px;
367
+ font-size: 0.9rem;
368
+ }
369
+ .sys-not-list > div > div:last-child button:first-child {
370
+ background: var(--color-card-2);
371
+ color: var(--color-font-1);
372
+ }
373
+
374
+ .more-detail {
375
+ transition: height 0.3s;
376
+ overflow: hidden;
377
+ display: flex;
378
+ margin-top: 0;
379
+ width: 100%;
380
+ height: 0;
381
+ }
382
+ .more-detail.show {
383
+ padding-top: 20px;
384
+ display: flex;
385
+ height: 50px;
386
+ width: 100%;
387
+ }
388
+ .more-detail > div {
389
+ background: var(--color-card-1);
390
+ border-radius: 7px;
391
+ margin: 0 10px;
392
+ cursor: pointer;
393
+ height: 50px;
394
+ width: 50px;
395
+ }
396
+ .more-detail > div.space {
397
+ background: transparent !important;
398
+ flex: 1;
399
+ }
400
+ .more-detail > div:first-child {
401
+ margin-left: 20px;
402
+ }
403
+ .more-detail > div:last-child {
404
+ margin-right: 20px;
405
+ }
406
+ .more-detail > div > svg {
407
+ color: var(--color-font-1);
408
+ margin: 15px;
409
+ height: 20px;
410
+ width: 20px;
411
+ }
412
+
413
+ .msg-menu {
414
+ pointer-events: none;
415
+ position: absolute;
416
+ overflow: hidden;
417
+ height: calc(100% - var(--safe-area-bottom)) !important;
418
+ top: 0;
419
+ width: 100%;
420
+ z-index: 30;
421
+ }
422
+ .msg-menu.withBar {
423
+ height: calc(100% + 40px);
424
+ margin-top: -40px;
425
+ }
426
+ .msg-menu-bg {
427
+ pointer-events: all;
428
+ position: absolute;
429
+ height: 100%;
430
+ width: 100%;
431
+ }
432
+
433
+ .merge-pan {
434
+ --merge-pan-width: 400px;
435
+
436
+ align-items: stretch;
437
+ flex-direction: row;
438
+ position: absolute;
439
+ display: flex;
440
+ height: 100%;
441
+ width: 100%;
442
+ }
443
+ .merge-pan.show {
444
+ pointer-events: all;
445
+ }
446
+ .merge-pan > div:first-child {
447
+ background: var(--color-card-2);
448
+ transition: background 0.5s;
449
+ opacity: 0;
450
+ flex: 1;
451
+ }
452
+ .merge-pan.show > div:first-child {
453
+ opacity: 0.7;
454
+ }
455
+ .merge-pan > div:last-child {
456
+ transition: transform 0.3s ease;
457
+ transform: translateX(100%);
458
+ overflow: hidden;
459
+ min-width: unset;
460
+ padding: 0;
461
+ flex-direction: column;
462
+ display: flex;
463
+ width: var(--merge-pan-width);
464
+ }
465
+ .merge-pan.show > div:last-child {
466
+ transform: translateX(0);
467
+ }
468
+ .merge-pan > div:last-child > div:first-child {
469
+ align-items: center;
470
+ display: flex;
471
+ padding: 20px;
472
+ }
473
+ .merge-pan > div:last-child > div:first-child span {
474
+ white-space: nowrap;
475
+ margin-left: 15px;
476
+ font-size: 1rem;
477
+ flex: 1;
478
+ }
479
+ .merge-pan > div:last-child > div:first-child svg {
480
+ color: var(--color-font);
481
+ cursor: pointer;
482
+ height: 1.5rem;
483
+ }
484
+ .merge-pan > div:last-child > div:last-child {
485
+ margin: 0 10px 10px 10px;
486
+ overflow-y: scroll;
487
+ flex: 1;
488
+ }
489
+ .merge-pan .loading {
490
+ transform: translateY(50%);
491
+ flex-direction: column;
492
+ align-items: center;
493
+ display: none;
494
+ height: 100%;
495
+ width: 100%;
496
+ }
497
+ .merge-pan .loading > svg {
498
+ animation: rotate 1.5s linear infinite;
499
+ color: var(--color-main);
500
+ width: 2rem;
501
+ height: 2rem;
502
+ }
503
+ .merge-pan .loading > span {
504
+ color: var(--color-main);
505
+ margin-top: 10px;
506
+ }
507
+ .merge-pan .loading.show {
508
+ display: flex;
509
+ }
510
+
511
+ .custom-face-tooltip,
512
+ .member-info {
513
+ width: fit-content;
514
+ pointer-events: none;
515
+
516
+ transform: translate(-20px, calc(-100% - 0.8rem));
517
+ box-shadow: 0 0 5px var(--color-shader);
518
+ background: rgba(var(--color-card-2-rgb), 0.75);
519
+ border: 1px solid var(--color-card-2);
520
+ backdrop-filter: blur(15px);
521
+ padding: 10px 20px 10px 10px;
522
+ overflow: hidden;
523
+ max-width: 55%;
524
+ max-height: calc(100% - var(--safe-area-bottom));
525
+ }
526
+ .member-info span,
527
+ .member-info a {
528
+ color: var(--color-font);
529
+ }
530
+
531
+ .member-info > div:nth-child(1) {
532
+ display: flex;
533
+ }
534
+ .member-info > div:nth-child(1) > img {
535
+ outline: 2px solid var(--color-main);
536
+ border-radius: 7px;
537
+ height: 60px;
538
+ width: 60px;
539
+ }
540
+ .member-info > div:nth-child(1) > div {
541
+ margin-left: 20px;
542
+ overflow: hidden;
543
+ flex: 1;
544
+ }
545
+ .member-info > div:nth-child(1) > div > span {
546
+ color: var(--color-font-1);
547
+ font-size: 0.9rem;
548
+ white-space: nowrap;
549
+ }
550
+ .member-info > div:nth-child(1) > div > span[name='id'] {
551
+ font-size: 0.8rem;
552
+ display: block;
553
+ opacity: 0.7
554
+ }
555
+ .member-info > div:nth-child(1) > div > div {
556
+ margin-bottom: 5px;
557
+ flex-wrap: wrap;
558
+ display: flex;
559
+ }
560
+ .member-info > div:nth-child(1) > div > div > a {
561
+ text-overflow: ellipsis;
562
+ width: 100%;
563
+ overflow: hidden;
564
+ white-space: nowrap;
565
+ margin-right: 10px;
566
+ font-weight: bold;
567
+ font-size: 1rem;
568
+ display: block;
569
+ }
570
+ .member-info > div:nth-child(1) > div > div > div {
571
+ margin-top: 4px;
572
+ }
573
+ /* 群成员下边区域 */
574
+ .member-info > div:nth-child(2).member {
575
+ display: flex;
576
+ margin-top: 10px;
577
+ align-items: center;
578
+ }
579
+ .member-info > div:nth-child(2).member > :nth-child(1) {
580
+ width: 60px;
581
+ display: block;
582
+ font-size: 13px;
583
+ }
584
+ .member-info > div:nth-child(2).member > :nth-child(2) {
585
+ margin-left: 20px;
586
+ }
587
+
588
+
589
+ .custom-face-tooltip {
590
+ padding: 0;
591
+ border: 2px solid var(--color-main);
592
+ max-width: 90vw;
593
+ max-height: 35vh;
594
+ width: auto;
595
+ height: auto;
596
+ object-fit: contain;
597
+ transform: translate(-50%, calc(-100% - 0.8rem)) scale(0.5);
598
+ transform-origin: bottom;
599
+ border-radius: 7px;
600
+ }
601
+
602
+
603
+ .chat-info-pan {
604
+ pointer-events: all;
605
+ position: absolute;
606
+ height: 100%;
607
+ width: 100%;
608
+ }
609
+ .chat-info-float-enter-active,
610
+ .chat-info-float-leave-active {
611
+ transition: none;
612
+ }
613
+ .chat-info-float-enter-active .chat-info {
614
+ animation: chatInfoPanelSlideUp 0.3s cubic-bezier(0.4, 0, 0.2, 1);
615
+ animation-fill-mode: both;
616
+ }
617
+ .chat-info-float-leave-active .chat-info {
618
+ animation: chatInfoPanelSlideDown 0.2s cubic-bezier(0.4, 0, 0.6, 1);
619
+ animation-fill-mode: both;
620
+ }
621
+ .chat-info {
622
+ overflow: hidden;
623
+ margin: 50vh 0 0 50%;
624
+ box-shadow: 0 0 10px var(--color-shader);
625
+ transform: translate(-50%, -50%);
626
+ flex-direction: column;
627
+ position: absolute;
628
+ min-width: 400px;
629
+ max-height: 80%;
630
+ display: flex;
631
+ width: 50%;
632
+ z-index: 1;
633
+ }
634
+
635
+ @keyframes chatInfoPanelSlideUp {
636
+ from {
637
+ transform: translate(-50%, -20%) scale(0.95);
638
+ opacity: 0;
639
+ }
640
+
641
+ to {
642
+ transform: translate(-50%, -50%) scale(1);
643
+ opacity: 1;
644
+ }
645
+ }
646
+
647
+ @keyframes chatInfoPanelSlideDown {
648
+ from {
649
+ transform: translate(-50%, -50%) scale(1);
650
+ opacity: 1;
651
+ }
652
+
653
+ to {
654
+ transform: translate(-50%, -5%) scale(0.98);
655
+ opacity: 0;
656
+ }
657
+ }
658
+
659
+ .chat-info header {
660
+ letter-spacing: 0;
661
+ }
662
+ .chat-info > header {
663
+ margin-bottom: 5px;
664
+ display: flex;
665
+ }
666
+ .chat-info > header > span {
667
+ white-space: nowrap;
668
+ font-size: 1rem;
669
+ flex: 1;
670
+ }
671
+ .chat-info > header > svg {
672
+ color: var(--color-font);
673
+ cursor: pointer;
674
+ height: 1.5rem;
675
+ }
676
+ .chat-info-base {
677
+ background: var(--color-card-1);
678
+ border-radius: 7px;
679
+ margin: 0 10px;
680
+ padding: 20px;
681
+ }
682
+ .chat-info-base.user {
683
+ background: transparent;
684
+ margin: 0;
685
+ }
686
+ .chat-info-base > div:first-child {
687
+ background: var(--color-card-2);
688
+ border-radius: 7px 7px 0 0;
689
+ width: calc(100% + 20px);
690
+ align-items: center;
691
+ margin-left: -20px;
692
+ margin-top: -20px;
693
+ display: flex;
694
+ padding: 10px;
695
+ }
696
+ .chat-info-base.user > div:first-child {
697
+ background: var(--color-card-1);
698
+ border-radius: 7px;
699
+ }
700
+ .chat-info-base > div:first-child > img {
701
+ border: 2px solid var(--color-card-1);
702
+ outline: 2px solid var(--color-main);
703
+ border-radius: 7px;
704
+ height: 40px;
705
+ width: 40px;
706
+ }
707
+ .chat-info-base > div:first-child > div:nth-child(2) {
708
+ flex-direction: column;
709
+ margin-left: 20px;
710
+ display: flex;
711
+ flex: 1;
712
+ }
713
+ .chat-info-base > div:first-child > div:nth-child(2) > a {
714
+ color: var(--color-font);
715
+ font-weight: bold;
716
+ font-size: 1rem;
717
+ }
718
+ .chat-info-base > div:first-child > div:nth-child(2) > span {
719
+ color: var(--color-font-1);
720
+ }
721
+ .chat-info-base > div:first-child > div:nth-child(3) {
722
+ background: var(--color-card-2);
723
+ border-radius: 100%;
724
+ padding: 15px;
725
+ height: 20px;
726
+ width: 20px;
727
+ }
728
+ .chat-info-base > div:first-child > div:nth-child(3) > svg {
729
+ color: var(--color-font);
730
+ }
731
+ .chat-info-base > div:last-child {
732
+ padding: 0 10px;
733
+ }
734
+ .chat-info-base > div:last-child > header {
735
+ color: var(--color-main);
736
+ padding-bottom: 5px;
737
+ font-size: 0.9rem;
738
+ margin-top: 10px;
739
+ }
740
+ .chat-info-base > div:last-child > div.tags {
741
+ align-items: center;
742
+ margin-top: 10px;
743
+ flex-wrap: wrap;
744
+ display: flex;
745
+ }
746
+ .chat-info-base > div:last-child > div.tags > div {
747
+ background: var(--color-main);
748
+ color: var(--color-font-r);
749
+ margin: 5px 5px 0 5px;
750
+ border-radius: 1rem;
751
+ padding: 2px 10px;
752
+ font-size: 0.8rem;
753
+ }
754
+ .chat-info-base > div:last-child > div.admin {
755
+ align-items: center;
756
+ flex-wrap: wrap;
757
+ display: flex;
758
+ }
759
+ .chat-info-base > div:last-child > div.admin > img {
760
+ border: 2px solid var(--color-card-2);
761
+ border-radius: 100%;
762
+ margin: 0 3px 3px 0;
763
+ height: 35px;
764
+ }
765
+ .chat-info-base > div:last-child > div.outher > span {
766
+ display: block;
767
+ }
768
+ .chat-info-base > div:last-child > div.outher > span > span {
769
+ color: var(--color-font-1);
770
+ }
771
+ .chat-info-tab-member {
772
+ padding: 0 20px;
773
+ }
774
+ .chat-info-tab-member > div {
775
+ transition: background 0.3s;
776
+ align-items: center;
777
+ border-radius: 7px;
778
+ cursor: pointer;
779
+ display: flex;
780
+ padding: 10px;
781
+ }
782
+ .chat-info-tab-member > div:hover {
783
+ background: var(--color-card-1);
784
+ }
785
+ .chat-info-tab-member > div > img {
786
+ border-radius: 100%;
787
+ margin-right: 10px;
788
+ height: 30px;
789
+ width: 30px;
790
+ }
791
+ .chat-info-tab-member > div > div {
792
+ overflow: hidden;
793
+ align-items: center;
794
+ display: flex;
795
+ flex: 1;
796
+ }
797
+ .chat-info-tab-member > div > div > a {
798
+ color: var(--color-font);
799
+ white-space: nowrap;
800
+ text-overflow: ellipsis;
801
+ max-width: 80%;
802
+ overflow: hidden;
803
+ }
804
+ .chat-info-tab-member > div > div > svg {
805
+ color: var(--color-main);
806
+ margin-left: 5px;
807
+ height: 0.8rem;
808
+ }
809
+ .chat-info-tab-member > div > span {
810
+ color: var(--color-font-2);
811
+ transition: all .2s;
812
+ opacity: 1;
813
+ }
814
+ .chat-info-tab-member > div.edit:hover > span {
815
+ transform: translateX(-10px);
816
+ opacity: 0;
817
+ }
818
+ .chat-info-tab-member > div > svg {
819
+ color: var(--color-font-2);
820
+ transition: all .2s;
821
+ margin-right: -25px;
822
+ margin-left: 10px;
823
+ width: 15px;
824
+ opacity: 0;
825
+ }
826
+ .chat-info-tab-member > div > svg:hover {
827
+ color: var(--color-main);
828
+ }
829
+ .chat-info-tab-member > div.edit:hover > svg {
830
+ margin-right: 5px;
831
+ display: block;
832
+ opacity: 1;
833
+ }
834
+
835
+ .chat-info-tab {
836
+ height: 100%;
837
+ overflow: hidden;
838
+ margin-top: 20px;
839
+ display: flex;
840
+ flex-direction: column;
841
+ }
842
+ .chat-info-tab > div:first-child {
843
+ min-height: 30px;
844
+ }
845
+ .chat-info-tab > div:first-child:hover {
846
+ box-shadow: unset;
847
+ }
848
+ .chat-info-tab .tab-bar {
849
+ --bc-tab-margin: 10px;
850
+ padding-left: 0;
851
+ }
852
+ .chat-info-tab .tab-body {
853
+ overflow-y: scroll;
854
+ }
855
+
856
+ .user-config {
857
+ display: flex;
858
+ flex-direction: column;
859
+ transition: all 0.3s;
860
+ transform: translateY(calc(100% + 20px));
861
+ box-shadow: 0 -3px 3px var(--color-shader);
862
+ background: var(--color-card);
863
+ position: absolute;
864
+ width: calc(100% - 30px);
865
+ margin-left: -15px;
866
+ height: auto;
867
+ top: 0;
868
+ bottom: 0;
869
+ margin-top: 50px;
870
+ }
871
+ .user-config.show {
872
+ transform: translateY(0);
873
+ }
874
+ .user-config:hover {
875
+ box-shadow: 0 -3px 3px var(--color-shader) !important;
876
+ }
877
+
878
+ .user-config > div:first-child {
879
+ background: var(--color-card-1);
880
+ border-radius: 7px 7px 0 0;
881
+ align-items: center;
882
+ padding: 15px 20px;
883
+ margin: -15px;
884
+ display: flex;
885
+ }
886
+ .user-config > div:first-child > img {
887
+ border-radius: 7px;
888
+ width: 35px;
889
+ border: 1px solid var(--color-card-2);
890
+ outline: 2px solid var(--color-main);
891
+ }
892
+ .user-config > div:first-child > svg {
893
+ cursor: pointer;
894
+ width: 17px;
895
+ height: 17px;
896
+ }
897
+ .user-config > div:first-child > div {
898
+ flex-direction: column;
899
+ margin-left: 10px;
900
+ display: flex;
901
+ flex: 1;
902
+ }
903
+ .user-config > div:first-child > div > a {
904
+ font-size: 0.9rem;
905
+ }
906
+ .user-config > div:first-child > div > span {
907
+ color: var(--color-font-2);
908
+ font-size: 0.8rem;
909
+ }
910
+ .user-config > div:last-child {
911
+ flex: 1;
912
+ overflow-y: scroll;
913
+ padding: 0 15px 0 20px;
914
+ margin-top: 25px;
915
+ }
916
+ .user-config > div:last-child > div:hover {
917
+ background: var(--color-card-1);
918
+ }
919
+ .user-config > div:last-child > header {
920
+ font-weight: normal;
921
+ font-size: 0.9rem;
922
+ padding: 10px 0 0 0;
923
+ }
924
+ .user-config > div:last-child > div:hover input {
925
+ background: var(--color-card-2);
926
+ transition: all 0.3s;
927
+ }
928
+
929
+ .user-config button {
930
+ width: calc(100% - 60px);
931
+ margin: 25px 30px 0 30px;
932
+ }
933
+
934
+ .bulletins {
935
+ padding: 0 20px;
936
+ }
937
+ .bulletins > div {
938
+ transition: background 0.3s;
939
+ border-radius: 7px;
940
+ padding: 10px 20px;
941
+ }
942
+ .bulletins > div:hover {
943
+ background: var(--color-card-1);
944
+ }
945
+ .bulletins > div.base {
946
+ cursor: pointer;
947
+ }
948
+ .bulletins > div.base > span {
949
+ background: var(--color-card-1);
950
+ margin-top: 10px;
951
+ border-radius: 7px;
952
+ text-align: center;
953
+ font-size: 0.8rem;
954
+ display: block;
955
+ padding: 5px;
956
+ }
957
+ .bulletins > div.base > header {
958
+ align-items: center;
959
+ display: flex;
960
+ }
961
+ .bulletins > div.base > header > svg {
962
+ color: var(--color-main);
963
+ margin-right: 10px;
964
+ margin-top: 2px;
965
+ height: 1.1rem;
966
+ }
967
+ .bulletins > div.base > header > span {
968
+ color: var(--color-main);
969
+ font-weight: bold;
970
+ font-size: 1rem;
971
+ }
972
+ .bulletins > div.base > header > span:last-child {
973
+ color: var(--color-font-2);
974
+ font-size: 0.8rem;
975
+ font-weight: normal;
976
+ }
977
+ .bulletins > div.base > div.body {
978
+ text-overflow: ellipsis;
979
+ overflow: hidden;
980
+ max-height: 6rem;
981
+ display: flex;
982
+ }
983
+ .bulletins > div.base > div.body.all {
984
+ max-height: unset;
985
+ flex-flow: column;
986
+ }
987
+ .bulletins > div.base > div.body > .img {
988
+ height: 6rem;
989
+ width: 6rem;
990
+ object-fit: cover;
991
+ object-position: center;
992
+ border-radius: 7px;
993
+ }
994
+ .bulletins > div.base > div.body > .img.all {
995
+ margin-top: 1rem;
996
+ width: unset;
997
+ height: unset;
998
+ }
999
+
1000
+ .bulletins > div.base > div.body > span {
1001
+ white-space: pre-line;
1002
+ }
1003
+ .bulletins > div.base > div.body > span > a {
1004
+ color: var(--color-main) !important;
1005
+ font-weight: bold;
1006
+ text-decoration: underline;
1007
+ padding: 0 5px;
1008
+ opacity: 0.8;
1009
+ }
1010
+ .bulletins > div.base > div.body > span > a:before {
1011
+ text-align: center;
1012
+ content: '🔗';
1013
+ color: transparent;
1014
+ text-shadow: 0 0 0 var(--color-font-1);
1015
+ }
1016
+ .bulletins > div.base > div.info {
1017
+ background: var(--color-card-1);
1018
+ transition: background 0.3s;
1019
+ align-items: center;
1020
+ border-radius: 7px;
1021
+ padding: 10px 20px;
1022
+ margin-top: 10px;
1023
+ display: flex;
1024
+ }
1025
+ .bulletins > div.base:hover > div.info {
1026
+ background: var(--color-card-2);
1027
+ }
1028
+ .bulletins > div.base > div.info > img {
1029
+ outline: 2px solid var(--color-main);
1030
+ border: 2px solid var(--color-card);
1031
+ border-radius: 100%;
1032
+ width: 20px;
1033
+ }
1034
+ .bulletins > div.base > div.info > a {
1035
+ color: var(--color-main);
1036
+ margin-left: 10px;
1037
+ font-size: 0.9rem;
1038
+ }
1039
+ .bulletins > div.base > div.info > div {
1040
+ flex: 1;
1041
+ }
1042
+ .bulletins > div.base > div.info > span {
1043
+ color: var(--color-font-2);
1044
+ font-size: 0.8rem;
1045
+ }
1046
+
1047
+ .group-files {
1048
+ padding: 0 10px;
1049
+ }
1050
+ .group-files > div > div {
1051
+ transition: background 0.3s;
1052
+ align-items: center;
1053
+ border-radius: 7px;
1054
+ flex-wrap: wrap;
1055
+ padding: 10px;
1056
+ display: flex;
1057
+ margin: 5px;
1058
+ }
1059
+ .group-files > div > div.folder {
1060
+ cursor: pointer;
1061
+ }
1062
+ .group-files > div > div.folder.open {
1063
+ background: var(--color-card-1);
1064
+ }
1065
+ .group-files > div > div:hover {
1066
+ background: var(--color-card-1);
1067
+ }
1068
+ .group-files > div > div > svg {
1069
+ color: var(--color-font);
1070
+ margin: 0 15px 0 10px;
1071
+ height: 1.2rem;
1072
+ }
1073
+ .group-files > div > div > div.main {
1074
+ margin-right: 20px;
1075
+ flex: 1;
1076
+ }
1077
+ .group-files > div > div > div.main span {
1078
+ overflow-wrap: anywhere;
1079
+ }
1080
+ .group-files > div > div > div.download {
1081
+ background: var(--color-card-2);
1082
+ border-radius: 100%;
1083
+ cursor: pointer;
1084
+ height: 1.9rem;
1085
+ width: 1.9rem;
1086
+ }
1087
+ .group-files > div > div > div.download > svg {
1088
+ color: var(--color-font);
1089
+ height: 0.8rem;
1090
+ margin: 10px;
1091
+ }
1092
+ .group-files > div > div > div > div > span {
1093
+ color: var(--color-font-1);
1094
+ font-size: 0.8rem;
1095
+ }
1096
+ .group-files > div > div > div > div > span:first-child {
1097
+ color: var(--color-main);
1098
+ }
1099
+ .group-files > div > div > div > div > span::after {
1100
+ color: var(--color-font-1);
1101
+ content: '\2022';
1102
+ margin-left: 5px;
1103
+ }
1104
+ .group-files > div > div > div > div > span:last-child::after {
1105
+ content: '';
1106
+ }
1107
+
1108
+ .info-pan-set {
1109
+ padding: 0 20px;
1110
+ }
1111
+ .info-pan-set > div:hover {
1112
+ background: var(--color-card-1) !important;
1113
+ }
1114
+ .info-pan-set > div > label.ss-switch {
1115
+ --switch-dot-border: 5px;
1116
+ --switch-dot-margin: 8px;
1117
+ --switch-height: 25px;
1118
+ min-width: 45px;
1119
+ margin: 5px 0;
1120
+ }
1121
+ .info-pan-set > div > label.ss-switch > div {
1122
+ background: var(--color-card-2);
1123
+ }
1124
+ .info-pan-set > div > label.ss-switch > div > div {
1125
+ margin-top: 3px;
1126
+ }
1127
+ .info-pan-set > div > label.ss-switch input:checked ~ div {
1128
+ background: var(--color-main);
1129
+ }
1130
+
1131
+ .sub_file {
1132
+ margin-top: 10px;
1133
+ width: 100%;
1134
+ }
1135
+ /* .sub_file > div > div:hover {
1136
+ background: var(--color-card-2);
1137
+ } */
1138
+
1139
+ .img-sender {
1140
+ pointer-events: all;
1141
+ position: absolute;
1142
+ height: 100%;
1143
+ width: 100%;
1144
+ left: 0;
1145
+ top: 0;
1146
+ }
1147
+ .img-sender > div.bg {
1148
+ background: var(--color-card-2);
1149
+ height: 100%;
1150
+ opacity: 0.7;
1151
+ width: 100%;
1152
+ }
1153
+ .img-sender > div.card {
1154
+ margin: calc(50vh - 75px) 0 0 50%;
1155
+ transform: translate(-50%, -50%);
1156
+ flex-direction: column;
1157
+ position: absolute;
1158
+ display: flex;
1159
+ height: 50%;
1160
+ width: 50%;
1161
+ z-index: 1;
1162
+ }
1163
+ .img-sender > div.card > div.hander {
1164
+ align-items: center;
1165
+ display: flex;
1166
+ }
1167
+ .img-sender > div.card > div.hander > span {
1168
+ font-weight: bold;
1169
+ font-size: 1rem;
1170
+ flex: 1;
1171
+ }
1172
+ .img-sender > div.card > div.hander > button {
1173
+ width: 100px;
1174
+ }
1175
+ .img-sender > div.card > div.imgs {
1176
+ margin-bottom: 20px;
1177
+ overflow-y: scroll;
1178
+ overflow-x: hidden;
1179
+ margin-right: -7px;
1180
+ margin-top: 10px;
1181
+ height: 100%;
1182
+ }
1183
+ .img-sender > div.card > div.imgs::-webkit-scrollbar {
1184
+ display: none;
1185
+ }
1186
+ .img-sender > div.card > div.imgs > div {
1187
+ border: 2px solid var(--color-card-2);
1188
+ border-radius: 7px;
1189
+ margin-right: 9px;
1190
+ margin-top: 10px;
1191
+ padding: 10px;
1192
+ }
1193
+ .img-sender > div.card > div.imgs > div > img {
1194
+ transform: translateX(-50%);
1195
+ margin-bottom: 9px;
1196
+ border-radius: 7px;
1197
+ max-height: 30vh;
1198
+ margin-left: 50%;
1199
+ max-width: 100%;
1200
+ margin-top: 5px;
1201
+ }
1202
+ .img-sender > div.card > div.imgs > div > div {
1203
+ margin-bottom: calc(-20px - 1rem);
1204
+ background: var(--color-card-2);
1205
+ backdrop-filter: blur(10px);
1206
+ height: calc(1rem + 15px);
1207
+ width: calc(1rem + 15px);
1208
+ justify-content: center;
1209
+ border-radius: 100%;
1210
+ align-items: center;
1211
+ position: relative;
1212
+ margin-right: 10px;
1213
+ margin-top: 9px;
1214
+ cursor: pointer;
1215
+ display: flex;
1216
+ float: right;
1217
+ z-index: 1;
1218
+ }
1219
+ .img-sender > div.card > div.imgs > div > div > svg {
1220
+ color: var(--color-font);
1221
+ height: 1rem;
1222
+ }
1223
+ .img-sender > div.card > div.sender {
1224
+ display: flex;
1225
+ }
1226
+ .img-sender > div.card > div.sender > input {
1227
+ background: var(--color-card-1);
1228
+ width: calc(100% - 20px);
1229
+ border-radius: 7px;
1230
+ padding: 0 10px;
1231
+ height: 50px;
1232
+ border: 0;
1233
+ flex: 1;
1234
+ }
1235
+ .img-sender > div.card > div.sender > svg {
1236
+ background: var(--color-card-1);
1237
+ color: var(--color-font-1);
1238
+ border-radius: 7px;
1239
+ margin-right: 20px;
1240
+ padding: 15px;
1241
+ cursor: pointer;
1242
+ height: 20px;
1243
+ width: 20px;
1244
+ }
1245
+
1246
+ .face-pan {
1247
+ background: var(--color-card-1);
1248
+ transform: translateY(-100%);
1249
+ position: absolute;
1250
+ margin-left: 20px;
1251
+ height: 250px;
1252
+ width: 300px;
1253
+ padding: 0;
1254
+ }
1255
+ .face-pan div.tab-body > div {
1256
+ overflow: hidden !important;
1257
+ }
1258
+ .fase-pan-tab > li > svg {
1259
+ color: var(--color-font);
1260
+ margin-top: 10px;
1261
+ margin-left: 5px;
1262
+ height: 1.1rem;
1263
+ width: 1.1rem;
1264
+ }
1265
+
1266
+ .face-pan .tab-bar {
1267
+ --bc-tab-margin: 5px;
1268
+ width: 100%;
1269
+ }
1270
+ .face-pan div.tab-main {
1271
+ margin-top: 30px !important;
1272
+ }
1273
+ .face-pan div.tab-main > div {
1274
+ background: transparent;
1275
+ min-height: 40px;
1276
+ }
1277
+ .face-pan div.tab-main > div:hover {
1278
+ box-shadow: unset;
1279
+ }
1280
+ .face-pan div.title {
1281
+ padding: 0 10px;
1282
+ display: flex;
1283
+ align-items: center;
1284
+ }
1285
+ .face-pan div.title > div {
1286
+ margin-right: 10px;
1287
+ background: var(--color-main);
1288
+ width: 5px;
1289
+ height: 1rem;
1290
+ border-radius: 5px;
1291
+ }
1292
+ .face-pan div.title > span {
1293
+ flex: 1;
1294
+ font-size: 0.85rem;
1295
+ color: var(--color-font-2);
1296
+ }
1297
+ .face-pan div.title > svg {
1298
+ margin-left: 10px;
1299
+ cursor: pointer;
1300
+ }
1301
+
1302
+ .face-pan div.system-face-bar {
1303
+ height: calc(300px - 145px);
1304
+ overflow-y: scroll;
1305
+ width: 100%;
1306
+ }
1307
+
1308
+ .face {
1309
+ display: grid;
1310
+ grid-template-columns: repeat(6, minmax(0, 1fr));
1311
+ }
1312
+
1313
+ .custom-face-bar .face {
1314
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1315
+ }
1316
+
1317
+ .face > div {
1318
+ background: var(--color-card-2);
1319
+ border-radius: 100%;
1320
+ cursor: pointer;
1321
+ height: 40px;
1322
+ width: 40px;
1323
+ margin: 5px;
1324
+ display: flex;
1325
+ align-items: center;
1326
+ justify-content: center;
1327
+ }
1328
+
1329
+ .face > div > .emoji-face {
1330
+ display: block;
1331
+ margin: 7.5px;
1332
+ height: 20px;
1333
+ width: 20px;
1334
+ }
1335
+
1336
+ .face > span {
1337
+ cursor: pointer;
1338
+ width: 60px;
1339
+ height: 60px;
1340
+ display: flex;
1341
+ justify-content: center;
1342
+ align-items: center;
1343
+ margin: 2px;
1344
+ }
1345
+
1346
+ .face > span > img {
1347
+ background: var(--color-card-2);
1348
+ max-height: 100%;
1349
+ max-width: 100%;
1350
+ margin: 5px;
1351
+ border-radius: 7px;
1352
+ }
1353
+
1354
+ .jin-pan {
1355
+ background: var(--color-card-1);
1356
+ transform: translateY(-100%);
1357
+ width: calc(100% - 40px);
1358
+ flex-direction: column;
1359
+ position: absolute;
1360
+ margin-left: 20px;
1361
+ max-height: 50vh;
1362
+ max-width: 400px;
1363
+ overflow: hidden;
1364
+ display: flex;
1365
+ padding: 0;
1366
+ }
1367
+ .jin-pan > div:first-child {
1368
+ align-items: center;
1369
+ display: flex;
1370
+ padding: 20px;
1371
+ }
1372
+ .jin-pan > div:first-child > svg {
1373
+ color: var(--color-font);
1374
+ cursor: pointer;
1375
+ height: 1.5rem;
1376
+ }
1377
+ .jin-pan > div:first-child > span {
1378
+ white-space: nowrap;
1379
+ margin-left: 15px;
1380
+ font-size: 1rem;
1381
+ flex: 1;
1382
+ }
1383
+ .jin-pan-body {
1384
+ padding: 0 13px 0 20px;
1385
+ margin-bottom: 20px;
1386
+ overflow-y: scroll;
1387
+ }
1388
+ .jin-pan-body > div {
1389
+ background: var(--color-card-2);
1390
+ border-radius: 7px;
1391
+ padding: 15px 20px;
1392
+ margin: 10px 0;
1393
+ }
1394
+ .jin-pan-body > div:first-child {
1395
+ margin-top: 0 !important;
1396
+ }
1397
+ .jin-pan-body > div > span {
1398
+ color: var(--color-font-2);
1399
+ text-align: right;
1400
+ font-size: 0.8rem;
1401
+ display: block;
1402
+ width: 100%;
1403
+ }
1404
+ .jin-pan-body > div > div:first-child {
1405
+ align-items: center;
1406
+ display: flex;
1407
+ }
1408
+ .jin-pan-body > div > div:first-child > img {
1409
+ border: 1px solid var(--color-card-2);
1410
+ outline: 2px solid var(--color-main);
1411
+ border-radius: 100%;
1412
+ margin-right: 10px;
1413
+ width: 25px;
1414
+ }
1415
+ .jin-pan-body > div > div:first-child > div {
1416
+ flex-direction: column;
1417
+ display: flex;
1418
+ }
1419
+ .jin-pan-body > div > div:first-child a {
1420
+ color: var(--color-font);
1421
+ font-size: 0.9rem;
1422
+ }
1423
+ .jin-pan-body > div > div:first-child span {
1424
+ color: var(--color-font-2);
1425
+ border-radius: 2rem;
1426
+ font-size: 0.8rem;
1427
+ }
1428
+ .jin-pan-body > div > div:first-child > span {
1429
+ font-size: 0.8rem;
1430
+ flex: 1;
1431
+ text-align: right;
1432
+ }
1433
+ .jin-pan-body > div > div.context {
1434
+ padding: 15px 15px 5px 15px;
1435
+ align-items: flex-end;
1436
+ flex-direction: row;
1437
+ flex-wrap: wrap;
1438
+ display: flex;
1439
+ }
1440
+ .jin-pan-body > div > div.context > img {
1441
+ margin: 0 10px 10px 10px;
1442
+ border-radius: 7px;
1443
+ max-width: 60%;
1444
+ }
1445
+ .jin-pan-body > div > div.context > .emoji-face {
1446
+ margin: -5px 5px 0 5px;
1447
+ height: 1.4rem;
1448
+ }
1449
+ .jin-pan-load {
1450
+ background: transparent !important;
1451
+ justify-content: center;
1452
+ display: flex;
1453
+ }
1454
+ .jin-pan-load > svg {
1455
+ color: var(--color-font);
1456
+ width: 1rem;
1457
+ }
1458
+
1459
+ .search-tag {
1460
+ background: var(--color-card-1);
1461
+ margin: 0 20px;
1462
+ transition: all 0.3s;
1463
+ align-items: center;
1464
+ flex-direction: row;
1465
+ border-radius: 7px;
1466
+ overflow: hidden;
1467
+ display: flex;
1468
+ height: 0;
1469
+ }
1470
+ .search-tag.show {
1471
+ margin: 10px 20px 10px 20px;
1472
+ margin-top: 20px;
1473
+ padding: 10px;
1474
+ height: auto;
1475
+ }
1476
+ .search-tag svg {
1477
+ color: var(--color-font-2);
1478
+ margin-right: 10px;
1479
+ height: 1rem;
1480
+ }
1481
+ .search-tag > span {
1482
+ max-width: calc(100% - 2rem);
1483
+ text-overflow: ellipsis;
1484
+ white-space: nowrap;
1485
+ overflow: hidden;
1486
+ flex: 1;
1487
+ }
1488
+
1489
+ .select-tag {
1490
+ background: var(--color-card-1);
1491
+ justify-content: space-evenly;
1492
+ margin: 0 20px 10px 20px;
1493
+ transition: all 0.3s;
1494
+ align-items: center;
1495
+ flex-direction: row;
1496
+ border-radius: 7px;
1497
+ overflow: hidden;
1498
+ display: flex;
1499
+ height: 0;
1500
+ }
1501
+ .select-tag.show {
1502
+ margin: 0 20px 10px 20px;
1503
+ margin-top: 20px;
1504
+ padding: 15px 10px;
1505
+ height: auto;
1506
+ }
1507
+ .select-tag > div {
1508
+ flex-direction: column;
1509
+ align-items: center;
1510
+ display: flex;
1511
+ }
1512
+ .select-tag > div > svg,
1513
+ .select-tag > div > span:first-child {
1514
+ background: var(--color-card-2);
1515
+ color: var(--color-font-1);
1516
+ border-radius: 100%;
1517
+ cursor: pointer;
1518
+ height: 0.8rem;
1519
+ width: 0.8rem;
1520
+ padding: 15px;
1521
+ }
1522
+ .select-tag > div > span:first-child {
1523
+ border: 1px solid var(--color-main);
1524
+ text-align: center;
1525
+ font-weight: bold;
1526
+ color: var(--color-font);
1527
+ font-size: calc(0.8rem + 3px);
1528
+ padding: 12px 15px 18px 15px;
1529
+ }
1530
+ .select-tag > div > span {
1531
+ color: var(--color-font-2);
1532
+ font-size: 0.75rem;
1533
+ margin-top: 5px;
1534
+ }
1535
+
1536
+ .replay-tag {
1537
+ background: var(--color-card-1);
1538
+ margin: 0 20px -10px 20px;
1539
+ transition: all 0.3s;
1540
+ align-items: center;
1541
+ flex-direction: row;
1542
+ border-radius: 7px;
1543
+ overflow: hidden;
1544
+ display: flex;
1545
+ height: 0;
1546
+ }
1547
+
1548
+ .img-pan-enter-active {
1549
+ animation: img-pan-appear 0.3s;
1550
+ }
1551
+
1552
+ .img-pan-leave-active {
1553
+ animation: img-pan-appear 0.3s reverse;
1554
+ }
1555
+
1556
+ @keyframes img-pan-appear {
1557
+ from {
1558
+ height: 0;
1559
+ }
1560
+
1561
+ to {
1562
+ height: calc(15vh + 0.9rem + 5px + 30px);
1563
+ }
1564
+ }
1565
+
1566
+ .img-pan {
1567
+ overflow-x: auto;
1568
+ padding: 0;
1569
+ background-color: var(--color-card-1);
1570
+ pointer-events: all;
1571
+ margin: 10px 15px;
1572
+ }
1573
+
1574
+ .img-pan > .imgs {
1575
+ height: auto;
1576
+ width: auto;
1577
+ margin: 0;
1578
+ display: flex;
1579
+ flex-direction: row;
1580
+ }
1581
+
1582
+ .img-pan > .imgs > div {
1583
+ display: flex;
1584
+ position: relative;
1585
+ flex-direction: column;
1586
+ padding: 5px;
1587
+ border-radius: 7px;
1588
+ border: 1px solid var(--color-main);
1589
+ overflow: hidden;
1590
+ margin: 10px 5px;
1591
+ flex-shrink: 0;
1592
+ }
1593
+
1594
+ .img-pan > .imgs > div:first-child {
1595
+ margin-left: 10px;
1596
+ }
1597
+ .img-pan > .imgs > div:last-child {
1598
+ margin-right: 10px;
1599
+ }
1600
+
1601
+ .img-pan > .imgs > div > .img-btns {
1602
+ position: absolute;
1603
+ background-color: var(--color-bg);
1604
+ display: flex;
1605
+ border-radius: 1mm;
1606
+ top: 1mm;
1607
+ right: 1mm;
1608
+ }
1609
+
1610
+ .img-pan > .imgs > div > .img-btns > div {
1611
+ width: 5mm;
1612
+ height: 5mm;
1613
+ padding: 1mm;
1614
+ display: flex;
1615
+ transition: background-color 0.3s;
1616
+ }
1617
+ .img-pan > .imgs > div > .img-btns > div:nth-child(1) {
1618
+ margin-right: 1mm;
1619
+ }
1620
+
1621
+ .img-pan > .imgs > div > .img-btns > div > svg {
1622
+ width: 5mm;
1623
+ height: 5mm;
1624
+ margin: 0;
1625
+ }
1626
+ .img-pan > .imgs > div > .img-btns > div:nth-child(1) > svg {
1627
+ margin-top: 1mm;
1628
+ margin-left: 1mm;
1629
+ width: 5mm;
1630
+ height: 4mm;
1631
+ }
1632
+
1633
+ .img-pan > .imgs > div > .img-btns > div:hover {
1634
+ background-color: var(--color-card-2);
1635
+ cursor: pointer;
1636
+ }
1637
+
1638
+ .img-pan > .imgs > div > .img {
1639
+ width: 100px;
1640
+ height: 15vh;
1641
+ display: flex;
1642
+ justify-content: center;
1643
+ align-items: center;
1644
+ background-color: var(--color-card-1);
1645
+ border-radius: 7px;
1646
+ overflow: hidden;
1647
+ }
1648
+
1649
+ .img-pan > .imgs > div > .img > img {
1650
+ max-width: 100%;
1651
+ max-height: 100%;
1652
+ }
1653
+
1654
+ .img-pan > .imgs > div > span {
1655
+ color: var(--color-font-1);
1656
+ margin-top: 5px;
1657
+ font-size: 0.9rem;
1658
+ text-align: center;
1659
+ background-color: var(--color-card);
1660
+ border-radius: 7px;
1661
+ }
1662
+
1663
+ .input-special-tag {
1664
+ background: var(--color-card);
1665
+ transition: all 0.3s;
1666
+ align-items: center;
1667
+ flex-direction: row;
1668
+ border-radius: 7px;
1669
+ overflow: hidden;
1670
+ display: flex;
1671
+ height: 0;
1672
+ }
1673
+ .replay-tag.show {
1674
+ margin: 0 20px -10px 20px;
1675
+ margin-top: 20px;
1676
+ padding: 10px;
1677
+ height: auto;
1678
+ }
1679
+ .replay-tag svg {
1680
+ color: var(--color-font-2);
1681
+ margin-right: 10px;
1682
+ height: 1rem;
1683
+ }
1684
+ .replay-tag > span {
1685
+ max-width: calc(100% - 2rem);
1686
+ text-overflow: ellipsis;
1687
+ white-space: nowrap;
1688
+ overflow: hidden;
1689
+ flex: 1;
1690
+ }
1691
+ .replay-tag > div {
1692
+ height: calc(1rem + 40px);
1693
+ justify-content: center;
1694
+ align-items: center;
1695
+ margin: -20px 0;
1696
+ display: flex;
1697
+ width: 2rem;
1698
+ }
1699
+ .replay-tag > div > svg {
1700
+ margin-right: 0 !important;
1701
+ color: var(--color-font-1);
1702
+ }
1703
+
1704
+ .at-tag {
1705
+ background: var(--color-card-1);
1706
+ transform-origin: bottom;
1707
+ transform: scaleY(0);
1708
+ transition: all 0.3s;
1709
+ border-radius: 7px;
1710
+ overflow-y: scroll;
1711
+ max-height: 25vh;
1712
+ padding: 0;
1713
+ margin: 0;
1714
+ height: 0;
1715
+ }
1716
+ .at-tag.show {
1717
+ margin: 20px 20px -5px 20px;
1718
+ transform: scaleY(1);
1719
+ height: unset;
1720
+ }
1721
+ .at-tag > div {
1722
+ align-items: center;
1723
+ border-radius: 7px;
1724
+ cursor: pointer;
1725
+ padding: 10px;
1726
+ display: flex;
1727
+ margin: 5px;
1728
+ }
1729
+ .at-tag > div:hover {
1730
+ background: var(--color-card-2);
1731
+ }
1732
+ .at-tag > div.selected {
1733
+ background: var(--color-card-2);
1734
+ }
1735
+ .at-tag > div > img {
1736
+ border-radius: 100%;
1737
+ margin-right: 10px;
1738
+ height: 1rem;
1739
+ }
1740
+ .at-tag > div > span {
1741
+ flex: 1;
1742
+ }
1743
+ .at-tag > div > span.emp {
1744
+ text-align: center;
1745
+ }
1746
+ .at-tag > div > a {
1747
+ color: var(--color-font-2);
1748
+ font-size: 0.8rem;
1749
+ }
1750
+
1751
+ .forward-pan {
1752
+ pointer-events: all;
1753
+ position: absolute;
1754
+ height: 100%;
1755
+ z-index: 20;
1756
+ width: 100%;
1757
+ left: 0;
1758
+ top: 0;
1759
+ }
1760
+ .forward-pan > div.bg {
1761
+ background: var(--color-card-2);
1762
+ height: 100%;
1763
+ opacity: 0.7;
1764
+ width: 100%;
1765
+ }
1766
+ .forward-pan > div.card {
1767
+ transform: translate(-50%, -50%);
1768
+ flex-direction: column;
1769
+ margin: 50vh 0 0 50%;
1770
+ position: absolute;
1771
+ display: flex;
1772
+ height: 70%;
1773
+ width: 50%;
1774
+ z-index: 1;
1775
+ }
1776
+ .forward-pan > div.card > header {
1777
+ align-items: center;
1778
+ padding: 10px;
1779
+ display: flex;
1780
+ }
1781
+ .forward-pan > div.card > header > span {
1782
+ font-size: 1rem;
1783
+ flex: 1;
1784
+ }
1785
+ .forward-pan > div.card > header > svg {
1786
+ color: var(--color-font);
1787
+ cursor: pointer;
1788
+ height: 1.5rem;
1789
+ }
1790
+ .forward-pan > div.card > input {
1791
+ background: var(--color-card-1);
1792
+ border-radius: 7px;
1793
+ padding: 0 10px;
1794
+ height: 40px;
1795
+ border: 0;
1796
+ }
1797
+ .forward-pan > div.card > div {
1798
+ flex-direction: column;
1799
+ overflow-y: scroll;
1800
+ margin-top: 10px;
1801
+ display: flex;
1802
+ flex: 1;
1803
+ }
1804
+ .forward-pan > div.card > div > div {
1805
+ align-items: center;
1806
+ border-radius: 7px;
1807
+ cursor: pointer;
1808
+ margin: 3px 0;
1809
+ padding: 10px;
1810
+ display: flex;
1811
+ }
1812
+ .forward-pan > div.card > div > div:hover {
1813
+ background: var(--color-card-1);
1814
+ }
1815
+ .forward-pan > div.card > div > div > img {
1816
+ border-radius: 7px;
1817
+ margin-right: 10px;
1818
+ height: 2.5rem;
1819
+ width: 2.5rem;
1820
+ }
1821
+ .forward-pan > div.card > div > div p {
1822
+ color: var(--color-font);
1823
+ margin: 0;
1824
+ }
1825
+ .forward-pan > div.card > div > div span {
1826
+ color: var(--color-font-1);
1827
+ font-size: 0.8rem;
1828
+ }
1829
+
1830
+ div.tiny-session-body {
1831
+ align-items: center;
1832
+ border-radius: 7px;
1833
+ cursor: pointer;
1834
+ margin: 3px 0;
1835
+ padding: 10px;
1836
+ display: flex;
1837
+ height: 40px;
1838
+ width: 100%;
1839
+ }
1840
+ div.tiny-session-body > div:nth-child(1) {
1841
+ height: 1.8rem;
1842
+ width: 5px;
1843
+ border-radius: 2px;
1844
+ margin-left: -10px;
1845
+ margin-right: 5px;
1846
+ background: var(--color-main);
1847
+ transition: all 0.3s;
1848
+ transform: scaleY(0);
1849
+ }
1850
+ div.tiny-session-body.selected {
1851
+ background: linear-gradient(to right, var(--color-card-1), 60%, #00000000);
1852
+ }
1853
+ div.tiny-session-body.selected > div:nth-child(1) {
1854
+ transform: scaleY(1);
1855
+ }
1856
+ div.tiny-session-body:hover {
1857
+ background: var(--color-card-2);
1858
+ }
1859
+ div.tiny-session-body > img {
1860
+ border-radius: 7px;
1861
+ margin-right: 10px;
1862
+ height: 2.5rem;
1863
+ width: 2.5rem;
1864
+ object-fit: cover;
1865
+ }
1866
+ div.tiny-session-body > svg {
1867
+ border-radius: 7px;
1868
+ margin-right: 10px;
1869
+ height: 1.25rem;
1870
+ width: 1.25rem;
1871
+ padding: 0.625rem;
1872
+ background-color: var(--color);
1873
+ }
1874
+ div.tiny-session-body > div {
1875
+ overflow: hidden;
1876
+ }
1877
+ div.tiny-session-body > div p {
1878
+ color: var(--color-font);
1879
+ white-space: nowrap;
1880
+ text-overflow: ellipsis;
1881
+ overflow: hidden;
1882
+ display: block;
1883
+ margin: 0;
1884
+ }
1885
+ div.tiny-session-body > div:nth-child(3) {
1886
+ display: flex;
1887
+ flex-direction: column;
1888
+ height: 100%;
1889
+ width: 100%;
1890
+ }
1891
+ div.tiny-session-body > div:nth-child(3) > p {
1892
+ min-height: 1rem;
1893
+ height: 1rem;
1894
+ }
1895
+ div.tiny-session-body > div:nth-child(3) > div {
1896
+ display: flex;
1897
+ align-items: center;
1898
+ flex-direction: row;
1899
+ flex: 1;
1900
+ overflow: hidden;
1901
+ white-space: nowrap;
1902
+ }
1903
+ div.tiny-session-body > div:nth-child(3) > div > span {
1904
+ color: var(--color-font-1);
1905
+ font-size: 0.8rem;
1906
+ min-width: 2rem;
1907
+ margin-right: 3px;
1908
+ text-overflow: ellipsis;
1909
+ overflow: hidden;
1910
+ }
1911
+ div.tiny-session-body > div:nth-child(3) > div {
1912
+ flex: 1;
1913
+ display: flex;
1914
+ }
1915
+ div.tiny-session-body > div:nth-child(3) > div > svg {
1916
+ margin-right: 5px;
1917
+ height: 1rem;
1918
+ }
1919
+
1920
+ .respond {
1921
+ width: calc(100% + 65px);
1922
+ overflow: hidden;
1923
+ display: flex;
1924
+ flex-direction: row !important;
1925
+ margin-top: -70px !important;
1926
+ margin-bottom: 20px !important;
1927
+ border: 1px solid var(--color-shader);
1928
+ background: var(--color-bg) !important;
1929
+ box-shadow: 0 0 5px var(--color-shader);
1930
+ min-height: 40px !important;
1931
+ height: 40px !important;
1932
+ transition: all 0.3s !important;
1933
+ margin-left: -12px;
1934
+ }
1935
+ .respond:hover {
1936
+ background: var(--color-bg) !important;
1937
+ }
1938
+ .respond > svg {
1939
+ color: var(--color-font-2);
1940
+ margin-right: 10px;
1941
+ min-width: 20px;
1942
+ height: 20px;
1943
+ padding: 2.5px;
1944
+ border-radius: 7px;
1945
+ }
1946
+ .respond > span,
1947
+ .respond > img {
1948
+ transition: background 0.3s;
1949
+ border-radius: 7px;
1950
+ margin-right: 5px;
1951
+ padding: 5px;
1952
+ height: 25px;
1953
+ width: 25px;
1954
+ }
1955
+ .respond > span:hover,
1956
+ .respond > svg:hover,
1957
+ .respond > img:hover {
1958
+ background: var(--color-card-2);
1959
+ }
1960
+
1961
+ .respond.open {
1962
+ height: 100px !important;
1963
+ display: flex;
1964
+ flex-direction: row;
1965
+ align-items: flex-start;
1966
+ flex-wrap: wrap;
1967
+ overflow-y: scroll;
1968
+ padding: 10px !important;
1969
+ margin-top: -140px !important;
1970
+ margin-bottom: 20px !important;
1971
+ }
1972
+ .respond.open > svg {
1973
+ display: none;
1974
+ }
1975
+
1976
+ @media (max-width: 700px) {
1977
+ /* 多选操作在窄屏下可横向滚动,避免操作项被裁切 */
1978
+ .select-tag.show {
1979
+ justify-content: flex-start;
1980
+ overflow-x: auto;
1981
+ }
1982
+ .select-tag > div {
1983
+ flex: 0 0 auto;
1984
+ min-width: 64px;
1985
+ }
1986
+ /* 消息面板 */
1987
+ .chat-pan {
1988
+ height: calc(100% - 75px - var(--safe-area-bottom));
1989
+ left: 80px !important;
1990
+ }
1991
+ .chat-pan.withBar {
1992
+ height: calc(100% - 115px);
1993
+ top: 40px;
1994
+ }
1995
+ .chat-pan.open {
1996
+ transform: translateX(220px);
1997
+ }
1998
+ /* 群信息面板 */
1999
+ .chat-info {
2000
+ width: calc(100% - 80px);
2001
+ transform: unset;
2002
+ min-width: unset;
2003
+ margin: 20px;
2004
+ bottom: 75px;
2005
+ }
2006
+ .chat-info-pan {
2007
+ height: calc(100% + 75px);
2008
+ }
2009
+ .chat-info-float-enter-active .chat-info {
2010
+ animation: none;
2011
+ transition: transform 0.3s;
2012
+ }
2013
+ .chat-info-float-leave-active .chat-info {
2014
+ animation: none;
2015
+ transition: transform 0.2s;
2016
+ }
2017
+ .chat-info-float-enter-from .chat-info,
2018
+ .chat-info-float-leave-to .chat-info {
2019
+ transform: translateX(100%);
2020
+ }
2021
+ /* AT 信息悬浮面板 */
2022
+ .mumber-info > div:first-child {
2023
+ max-width: 55%;
2024
+ }
2025
+ /* 合并转发消息面板 */
2026
+ .merge-pan {
2027
+ --merge-pan-width: 90%;
2028
+ }
2029
+ /* 发送图片面板 */
2030
+ .img-sender > div.card {
2031
+ width: calc(100% - 80px);
2032
+ }
2033
+ /* 转发面板 */
2034
+ .forward-pan > div.card {
2035
+ width: calc(100% - 120px);
2036
+ }
2037
+ }
2038
+
2039
+ @media (max-width: 500px) {
2040
+ /* 群信息面板 */
2041
+ .chat-info {
2042
+ height: calc(100% - 115px);
2043
+ width: calc(100% - 40px);
2044
+ max-height: unset;
2045
+ border-radius: 0;
2046
+ min-width: unset;
2047
+ margin: 0;
2048
+ }
2049
+ .chat-info:hover {
2050
+ box-shadow: none;
2051
+ }
2052
+ /* 表情面板 */
2053
+ .face-pan {
2054
+ width: calc(100% - 40px);
2055
+ height: 330px;
2056
+ }
2057
+ .face-stickers {
2058
+ height: calc(330px - 120px);
2059
+ }
2060
+ .base-face > div {
2061
+ height: 50px;
2062
+ width: 50px;
2063
+ }
2064
+ .base-face > div > img {
2065
+ height: 30px;
2066
+ width: 30px;
2067
+ }
2068
+ .face-stickers > img {
2069
+ height: 60px;
2070
+ width: 60px;
2071
+ }
2072
+ /* 合并转发消息面板 */
2073
+ .merge-pan {
2074
+ --merge-pan-width: 100%;
2075
+ }
2076
+ .merge-pan.show > div:last-child:hover {
2077
+ box-shadow: none;
2078
+ }
2079
+ /* 图片发送器 */
2080
+ .img-sender > div.card {
2081
+ height: calc(100% - 40px);
2082
+ width: calc(100% - 40px);
2083
+ border-radius: 0;
2084
+ transform: unset;
2085
+ box-shadow: none;
2086
+ margin: 0;
2087
+ }
2088
+ /* 转发面板 */
2089
+ .forward-pan > div.card {
2090
+ height: calc(100% - 40px);
2091
+ width: calc(100% - 40px);
2092
+ border-radius: 0;
2093
+ transform: unset;
2094
+ box-shadow: none;
2095
+ margin: 0;
2096
+ }
2097
+ /* 聊天面板(二级侧栏) */
2098
+ .chat-pan {
2099
+ left: 0 !important;
2100
+ }
2101
+ .chat-pan.open {
2102
+ transform: translateX(100%);
2103
+ }
2104
+ }