koishi-plugin-chat-patch 3.0.2 → 5.0.1

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 (237) hide show
  1. package/client/vue/index.vue +60 -634
  2. package/client/web/dist/assets/AppIcon-DIku6-h0.png +0 -0
  3. package/client/web/dist/assets/AppIconDark-BYymN71t.png +0 -0
  4. package/client/web/dist/assets/CapacitorAppIcon-CSZwNhvi.png +0 -0
  5. package/client/web/dist/assets/CapacitorAppIconDark-BMvMOzsg.png +0 -0
  6. package/client/web/dist/assets/Chat-CTdyeaX2.css +1 -0
  7. package/client/web/dist/assets/Chat-DkZvD7d8.js +28 -0
  8. package/client/web/dist/assets/MealHungryPan-Beos3lRI.js +1 -0
  9. package/client/web/dist/assets/MsgBody-aZ4_aija.js +1 -0
  10. package/client/web/dist/assets/MsgBody.vue_vue_type_script_setup_true_lang-CPZjRLp6.js +67 -0
  11. package/client/web/dist/assets/NapcatAppIcon-C7VOAkW9.png +0 -0
  12. package/client/web/dist/assets/Vue-lEhHouxB.png +0 -0
  13. package/client/web/dist/assets/append_darwin-CqBNU62J.css +1 -0
  14. package/client/web/dist/assets/append_full_vibrancy-j0D2LM9m.css +1 -0
  15. package/client/web/dist/assets/append_linux-uhxeBqeC.css +1 -0
  16. package/client/web/dist/assets/append_linux_vibrancy-COiZq8MS.css +1 -0
  17. package/client/web/dist/assets/append_napcat-DV8CAyAd.css +1 -0
  18. package/client/web/dist/assets/append_new-407Lo5_V.css +1 -0
  19. package/client/web/dist/assets/append_vibrancy-6FHctkOY.css +1 -0
  20. package/client/web/dist/assets/append_win32-srmD-78y.css +1 -0
  21. package/client/web/dist/assets/cakes-CxTVKdnK.svg +189 -0
  22. package/client/web/dist/assets/core-DhEqZVGG.js +1 -0
  23. package/client/web/dist/assets/event-Cadp6m6J.js +1 -0
  24. package/client/web/dist/assets/index-CPTXiemn.js +4045 -0
  25. package/client/web/dist/assets/index-Cg_esKB0.js +1 -0
  26. package/client/web/dist/assets/index-Cln012sP.css +1 -0
  27. package/client/web/dist/assets//346/226/271/346/255/243/345/226/265/345/221/234/344/275/223-CJKIKBn3.ttf +0 -0
  28. package/client/web/dist/assets//346/234/237/345/276/205-C90_OY60.png +0 -0
  29. package/client/web/dist/bcui/css/color-dark.css +35 -0
  30. package/client/web/dist/bcui/css/color-light.css +35 -0
  31. package/client/web/dist/bcui/css/style.css +468 -0
  32. package/client/web/dist/bcui/js/main.js +193 -0
  33. package/client/web/dist/css/append-dark.css +13 -0
  34. package/client/web/dist/css/append-light.css +13 -0
  35. package/client/web/dist/css/append-napcat-dark.css +14 -0
  36. package/client/web/dist/css/append-napcat-light.css +14 -0
  37. package/client/web/dist/favicon.ico +0 -0
  38. package/client/web/dist/img/icons/icon-for-fuck-apple.png +0 -0
  39. package/client/web/dist/img/icons/icon-maskable.png +0 -0
  40. package/client/web/dist/img/icons/icon.png +0 -0
  41. package/client/web/dist/img/icons/icon.svg +10 -0
  42. package/client/web/dist/index.html +22 -0
  43. package/client/web/dist/robots.txt +2 -0
  44. package/client/web/dist/sw.js +58 -0
  45. package/client/web/env.d.ts +56 -0
  46. package/client/web/index.html +21 -0
  47. package/client/web/package-lock.json +3419 -0
  48. package/client/web/package.json +62 -0
  49. package/client/web/public/bcui/css/color-dark.css +35 -0
  50. package/client/web/public/bcui/css/color-light.css +35 -0
  51. package/client/web/public/bcui/css/style.css +468 -0
  52. package/client/web/public/bcui/js/main.js +193 -0
  53. package/client/web/public/css/append-dark.css +13 -0
  54. package/client/web/public/css/append-light.css +13 -0
  55. package/client/web/public/css/append-napcat-dark.css +14 -0
  56. package/client/web/public/css/append-napcat-light.css +14 -0
  57. package/client/web/public/favicon.ico +0 -0
  58. package/client/web/public/img/icons/icon-for-fuck-apple.png +0 -0
  59. package/client/web/public/img/icons/icon-maskable.png +0 -0
  60. package/client/web/public/img/icons/icon.png +0 -0
  61. package/client/web/public/img/icons/icon.svg +10 -0
  62. package/client/web/public/robots.txt +2 -0
  63. package/client/web/public/sw.js +58 -0
  64. package/client/web/scripts/copy-bcui.mjs +17 -0
  65. package/client/web/src/App.vue +1127 -0
  66. package/client/web/src/assets/css/append/append_darwin.css +68 -0
  67. package/client/web/src/assets/css/append/append_full_vibrancy.css +290 -0
  68. package/client/web/src/assets/css/append/append_linux.css +125 -0
  69. package/client/web/src/assets/css/append/append_linux_vibrancy.css +22 -0
  70. package/client/web/src/assets/css/append/append_napcat.css +35 -0
  71. package/client/web/src/assets/css/append/append_new.css +843 -0
  72. package/client/web/src/assets/css/append/append_vibrancy.css +113 -0
  73. package/client/web/src/assets/css/append/append_win32.css +109 -0
  74. package/client/web/src/assets/css/append/mobile/append_mobile_horizontal.css +349 -0
  75. package/client/web/src/assets/css/append/mobile/append_mobile_vertical.css +96 -0
  76. package/client/web/src/assets/css/chat.css +2104 -0
  77. package/client/web/src/assets/css/msg.css +941 -0
  78. package/client/web/src/assets/css/options.css +811 -0
  79. package/client/web/src/assets/css/sys_notice.css +62 -0
  80. package/client/web/src/assets/css/view.css +2105 -0
  81. package/client/web/src/assets/font//346/226/271/346/255/243/345/226/265/345/221/234/344/275/223.ttf +0 -0
  82. package/client/web/src/assets/img/Vue.png +0 -0
  83. package/client/web/src/assets/img/cakes.svg +189 -0
  84. package/client/web/src/assets/img/icons/AppIcon.png +0 -0
  85. package/client/web/src/assets/img/icons/AppIconDark.png +0 -0
  86. package/client/web/src/assets/img/icons/CapacitorAppIcon.png +0 -0
  87. package/client/web/src/assets/img/icons/CapacitorAppIconDark.png +0 -0
  88. package/client/web/src/assets/img/icons/NapcatAppIcon.png +0 -0
  89. package/client/web/src/assets/img/icons/NapcatAppIconDark.png +0 -0
  90. package/client/web/src/assets/img/icons/exit.png +0 -0
  91. package/client/web/src/assets/img/icons/pen.png +0 -0
  92. package/client/web/src/assets/img/stars.svg +89 -0
  93. package/client/web/src/assets/img//346/234/237/345/276/205.png +0 -0
  94. package/client/web/src/assets/l10n/_About I10n.md +35 -0
  95. package/client/web/src/assets/l10n/_l10nconfig.json +7 -0
  96. package/client/web/src/assets/l10n/zh-CN.po +1941 -0
  97. package/client/web/src/assets/logo.png +0 -0
  98. package/client/web/src/assets/pathMap/LLOneBot.yaml +2 -0
  99. package/client/web/src/assets/pathMap/Lagrange.OneBot.yaml +180 -0
  100. package/client/web/src/assets/pathMap/NapCat.Onebot.yaml +224 -0
  101. package/client/web/src/assets/pathMap/SnowLuma.yaml +80 -0
  102. package/client/web/src/assets/qed.txt +1 -0
  103. package/client/web/src/components/AboutPan.vue +197 -0
  104. package/client/web/src/components/BulletinBody.vue +129 -0
  105. package/client/web/src/components/DepPan.vue +310 -0
  106. package/client/web/src/components/EmojiFace.vue +32 -0
  107. package/client/web/src/components/FacePan.vue +461 -0
  108. package/client/web/src/components/FileBody.vue +129 -0
  109. package/client/web/src/components/FileManager.vue +532 -0
  110. package/client/web/src/components/FriendBody.vue +54 -0
  111. package/client/web/src/components/GlobalSessionSearchBar.vue +301 -0
  112. package/client/web/src/components/History.vue +49 -0
  113. package/client/web/src/components/LazyLottie.vue +82 -0
  114. package/client/web/src/components/MergePan.vue +127 -0
  115. package/client/web/src/components/MsgBody.vue +1478 -0
  116. package/client/web/src/components/MusicPlayer.vue +549 -0
  117. package/client/web/src/components/NoticeBody.vue +168 -0
  118. package/client/web/src/components/QzonePermissionPan.vue +150 -0
  119. package/client/web/src/components/RawMsgRenderPreviewPan.vue +190 -0
  120. package/client/web/src/components/ThemeColorPickerPan.vue +420 -0
  121. package/client/web/src/components/TinySessionBody.vue +51 -0
  122. package/client/web/src/components/UmamiInfoPan.vue +1549 -0
  123. package/client/web/src/components/UpdatePan.vue +263 -0
  124. package/client/web/src/components/ViewerCom.vue +1360 -0
  125. package/client/web/src/components/VoiceMsg.vue +626 -0
  126. package/client/web/src/components/WelPan.vue +894 -0
  127. package/client/web/src/components/msg-body/.gitkeep +0 -0
  128. package/client/web/src/components/msg-component/JsonSegComp.vue +138 -0
  129. package/client/web/src/components/msg-component/XmlSegComp.vue +132 -0
  130. package/client/web/src/components/msg-component/jsonComp/AutoReply.vue +97 -0
  131. package/client/web/src/components/msg-component/jsonComp/Contact.lua.vue +129 -0
  132. package/client/web/src/components/msg-component/jsonComp/Feed.lua.vue +94 -0
  133. package/client/web/src/components/msg-component/jsonComp/Forum.vue +84 -0
  134. package/client/web/src/components/msg-component/jsonComp/Mannounce.vue +111 -0
  135. package/client/web/src/components/msg-component/jsonComp/Map.vue +52 -0
  136. package/client/web/src/components/msg-component/jsonComp/Miniapp.lua.vue +53 -0
  137. package/client/web/src/components/msg-component/jsonComp/Miniapp.vue +69 -0
  138. package/client/web/src/components/msg-component/jsonComp/Music.lua.vue +135 -0
  139. package/client/web/src/components/msg-component/jsonComp/Tuwen.lua.vue +56 -0
  140. package/client/web/src/components/notice-component/.gitkeep +0 -0
  141. package/client/web/src/components/notice-component/MealHungryPan.vue +119 -0
  142. package/client/web/src/components/tooltip/CustomFaceTooltip.vue +22 -0
  143. package/client/web/src/components/tooltip/Tooltip.vue +50 -0
  144. package/client/web/src/components/tooltip/Tooltips.vue +14 -0
  145. package/client/web/src/components/tooltip/UserInfoTooltip.vue +69 -0
  146. package/client/web/src/function/base.ts +238 -0
  147. package/client/web/src/function/connect.ts +2042 -0
  148. package/client/web/src/function/debug.ts +10 -0
  149. package/client/web/src/function/elements/information.ts +141 -0
  150. package/client/web/src/function/elements/system.ts +101 -0
  151. package/client/web/src/function/elements/vueComp.ts +62 -0
  152. package/client/web/src/function/favicon.ts +76 -0
  153. package/client/web/src/function/input.ts +69 -0
  154. package/client/web/src/function/model/emoji.ts +127 -0
  155. package/client/web/src/function/model/img.ts +150 -0
  156. package/client/web/src/function/model/msg-body.ts +51 -0
  157. package/client/web/src/function/msg.ts +2674 -0
  158. package/client/web/src/function/notify.ts +225 -0
  159. package/client/web/src/function/option.ts +749 -0
  160. package/client/web/src/function/satori-model.ts +818 -0
  161. package/client/web/src/function/satori.ts +325 -0
  162. package/client/web/src/function/sender.ts +178 -0
  163. package/client/web/src/function/tooltip.ts +49 -0
  164. package/client/web/src/function/utils/appUtil.ts +2288 -0
  165. package/client/web/src/function/utils/avatarUtil.ts +31 -0
  166. package/client/web/src/function/utils/backgroundUtil.ts +110 -0
  167. package/client/web/src/function/utils/linkViewUtil.ts +101 -0
  168. package/client/web/src/function/utils/localHistoryUtil.ts +517 -0
  169. package/client/web/src/function/utils/msgUtil.ts +1242 -0
  170. package/client/web/src/function/utils/pinyin.ts +141 -0
  171. package/client/web/src/function/utils/recordUtil.ts +187 -0
  172. package/client/web/src/function/utils/sessionUtil.ts +114 -0
  173. package/client/web/src/function/utils/systemUtil.ts +664 -0
  174. package/client/web/src/main.ts +91 -0
  175. package/client/web/src/pages/Chat.vue +3453 -0
  176. package/client/web/src/pages/Friends.vue +636 -0
  177. package/client/web/src/pages/Info.vue +717 -0
  178. package/client/web/src/pages/Messages.vue +875 -0
  179. package/client/web/src/pages/Options.vue +82 -0
  180. package/client/web/src/pages/Qzone.vue +1178 -0
  181. package/client/web/src/pages/chat-view/ChatDanmaku.vue +759 -0
  182. package/client/web/src/pages/chat-view/ChatGlagame.vue +642 -0
  183. package/client/web/src/pages/chat-view/ChatTerminal.vue +1044 -0
  184. package/client/web/src/pages/chat-view/SystemNotice.vue +171 -0
  185. package/client/web/src/pages/options/OptAccount.vue +107 -0
  186. package/client/web/src/pages/options/OptAddon.vue +185 -0
  187. package/client/web/src/pages/options/OptDev.vue +704 -0
  188. package/client/web/src/pages/options/OptFunction.vue +403 -0
  189. package/client/web/src/pages/options/OptInfo.vue +165 -0
  190. package/client/web/src/pages/options/OptView.vue +846 -0
  191. package/client/web/src/runtime/backend.ts +310 -0
  192. package/client/web/src/state/auth.ts +14 -0
  193. package/client/web/src/state/chat.ts +36 -0
  194. package/client/web/src/state/connection.ts +20 -0
  195. package/client/web/src/state/contact.ts +37 -0
  196. package/client/web/src/state/qzone.ts +18 -0
  197. package/client/web/src/state/sessionHistory.ts +25 -0
  198. package/client/web/src/state/settings.ts +18 -0
  199. package/client/web/src/state/sticker.ts +10 -0
  200. package/client/web/src/state/ui.ts +56 -0
  201. package/client/web/tsconfig.json +27 -0
  202. package/client/web/tsconfig.tsbuildinfo +1 -0
  203. package/client/web/vite.config.ts +33 -0
  204. package/dist/index.js +1 -12
  205. package/dist/style.css +1 -1
  206. package/lib/index.js +2070 -2077
  207. package/package.json +15 -2
  208. package/readme.md +0 -22
  209. package/src/bootstrap.ts +71 -0
  210. package/src/cache.ts +319 -0
  211. package/src/config.ts +23 -35
  212. package/src/database.ts +650 -0
  213. package/src/index.ts +27 -59
  214. package/src/media.ts +302 -0
  215. package/src/recorder.ts +175 -0
  216. package/src/self-message.ts +456 -0
  217. package/src/server.d.ts +26 -0
  218. package/src/types.ts +108 -48
  219. package/src/web.ts +712 -0
  220. package/client/vue/chat-logic.ts +0 -683
  221. package/client/vue/composables/useChatActions.ts +0 -61
  222. package/client/vue/composables/useChatData.ts +0 -185
  223. package/client/vue/composables/useImageCache.ts +0 -281
  224. package/client/vue/composables/useVideoCache.ts +0 -125
  225. package/client/vue/types.ts +0 -72
  226. package/lib/api-handlers.d.ts +0 -25
  227. package/lib/config.d.ts +0 -14
  228. package/lib/file-manager.d.ts +0 -124
  229. package/lib/index.d.ts +0 -17
  230. package/lib/logger.d.ts +0 -9
  231. package/lib/message-handler.d.ts +0 -35
  232. package/lib/types.d.ts +0 -57
  233. package/lib/utils.d.ts +0 -18
  234. package/src/api-handlers.ts +0 -646
  235. package/src/file-manager.ts +0 -1436
  236. package/src/message-handler.ts +0 -507
  237. package/src/utils.ts +0 -189
@@ -0,0 +1,811 @@
1
+ /*
2
+ options.css - 设置页的样式
3
+ 2022/09/23 - Stapx Steve [林槐]
4
+ */
5
+
6
+ .st0 {
7
+ fill: var(--color-main);
8
+ }
9
+
10
+ .st1 {
11
+ fill: var(--color-font-1-r);
12
+ }
13
+
14
+ .sr-only {
15
+ position: absolute;
16
+ width: 1px;
17
+ height: 1px;
18
+ padding: 0;
19
+ margin: -1px;
20
+ overflow: hidden;
21
+ clip: rect(0, 0, 0, 0);
22
+ white-space: nowrap;
23
+ border: 0;
24
+ }
25
+
26
+ .opt-main {
27
+ overflow: hidden;
28
+ background: var(--color-bg);
29
+ height: 0;
30
+ flex-direction: row;
31
+ display: flex;
32
+ padding: 5px;
33
+ }
34
+ .opt-main.active {
35
+ height: 100% !important;
36
+ }
37
+
38
+ .opt-main > div:first-child {
39
+ transition: all 0.3s;
40
+ overflow-y: scroll;
41
+ padding: 10px;
42
+ width: 350px;
43
+ }
44
+
45
+ .opt-main > div:first-child::-webkit-scrollbar {
46
+ display: none;
47
+ }
48
+
49
+ .opt-main > div:first-child > div:not(:first-child) {
50
+ padding: 10px 20px;
51
+ margin-top: 20px;
52
+ }
53
+
54
+ .opt-main > div:last-child {
55
+ flex-direction: column;
56
+ display: flex;
57
+ flex: 1;
58
+ height: 100%;
59
+ overflow: hidden;
60
+ }
61
+
62
+ .about-pan > div:not(:first-child) {
63
+ margin-top: 20px;
64
+ }
65
+ .logo-card {
66
+ color: var(--color-font);
67
+ flex-direction: column;
68
+ align-items: center;
69
+ padding: 20px 30px;
70
+ display: flex;
71
+ }
72
+
73
+ .logo-card > svg {
74
+ width: 25%;
75
+ }
76
+ .logo-card > svg > path:first-child {
77
+ fill: var(--color-main) !important;
78
+ }
79
+ .logo-card > svg > path:not(:last-child):not(:nth-last-child(2)) {
80
+ fill: var(--color-card);
81
+ }
82
+ .logo-card > svg > path:last-child,
83
+ .logo-card > svg > path:nth-last-child(2) {
84
+ fill: var(--color-card-2);
85
+ }
86
+
87
+ .logo-card > a {
88
+ color: var(--color-font-1);
89
+ margin-top: 10px;
90
+ display: block;
91
+ }
92
+
93
+ .logo-card > div {
94
+ align-items: center;
95
+ margin-top: 20px;
96
+ display: flex;
97
+ }
98
+
99
+ .logo-card > div > span {
100
+ font-size: 1.4rem;
101
+ }
102
+
103
+ .logo-card > div > a {
104
+ border-radius: 7px !important;
105
+ background: var(--color-main);
106
+ color: var(--color-font-r);
107
+ margin-left: 10px;
108
+ display: block;
109
+ padding: 0 5px;
110
+ }
111
+
112
+ .logo-card a[class='ss-button'] {
113
+ color: var(--color-font-r);
114
+ border-radius: 2rem;
115
+ text-align: center;
116
+ line-height: 35px;
117
+ cursor: pointer;
118
+ width: 100%;
119
+ }
120
+ .logo-card a[class='ss-button'] > svg {
121
+ height: calc(100% - 20px);
122
+ color: var(--color-font-r);
123
+ }
124
+
125
+ .jump-card {
126
+ min-height: unset;
127
+ cursor: pointer;
128
+ padding: 15px;
129
+ display: flex;
130
+ }
131
+ .jump-card header {
132
+ flex: 1;
133
+ }
134
+ .jump-card header div:first-child {
135
+ height: 22px;
136
+ }
137
+ .jump-card > header {
138
+ padding: 0 !important;
139
+ flex: 1;
140
+ font-size: 0.9rem !important;
141
+ font-weight: 400;
142
+ color: var(--color-font-2);
143
+ }
144
+ .jump-card > svg {
145
+ color: var(--color-main);
146
+ height: 20px;
147
+ width: 20px;
148
+ margin-top: 3px;
149
+ margin-right: -10px;
150
+ }
151
+
152
+ .buttons {
153
+ width: 100%;
154
+ }
155
+ .buttons > a {
156
+ margin: 0 !important;
157
+ }
158
+ .buttons > a:not(:first-child) {
159
+ margin-left: 10px !important;
160
+ width: 40px !important;
161
+ }
162
+
163
+ .contributors-card {
164
+ background: rgba(var(--color-card-2-rgb), 0.5);
165
+ align-items: flex-start !important;
166
+ flex-direction: column;
167
+ border-radius: 7px;
168
+ padding: 10px;
169
+ width: 100%;
170
+ }
171
+ .contributors-card > div:first-child {
172
+ background: var(--color-main);
173
+ height: 100%;
174
+ width: 5px;
175
+ }
176
+ .contributors-card > span {
177
+ font-size: 0.9rem !important;
178
+ margin-bottom: 5px;
179
+ display: inline-block;
180
+ width: 100%;
181
+ }
182
+ .contributors-card > div {
183
+ align-items: center;
184
+ flex-wrap: wrap;
185
+ display: flex;
186
+ width: 100%;
187
+ }
188
+ .contributors-card > div:last-child {
189
+ padding: 10px;
190
+ }
191
+ .contributors-card > div > img {
192
+ border-radius: 30px;
193
+ margin-bottom: 5px;
194
+ margin-right: 5px;
195
+ cursor: pointer;
196
+ height: 30px;
197
+ width: 30px;
198
+ }
199
+ .contributors-card > div.contributors {
200
+ margin-top: 5px;
201
+ }
202
+ .contributors-card > div.contributors > div {
203
+ margin: 10px !important;
204
+ background-size: 100%;
205
+ align-items: center;
206
+ border-radius: 7px;
207
+ aspect-ratio: 1;
208
+ cursor: pointer;
209
+ display: flex;
210
+ height: 25px;
211
+ width: 100%;
212
+ }
213
+ .contributors-card > div.contributors > div.me {
214
+ outline: 2px solid var(--color-main);
215
+ border: 1px solid var(--color-card-1);
216
+ box-sizing: border-box;
217
+ }
218
+ .contributors-card > div.contributors > div > div {
219
+ flex-direction: column;
220
+ display: flex;
221
+ flex: 1;
222
+ }
223
+ .contributors-card > div.contributors > div img {
224
+ border-radius: 30px;
225
+ margin-right: 10px;
226
+ width: 30px;
227
+ }
228
+ .contributors-card > div.contributors > div span {
229
+ font-size: 0.8rem;
230
+ }
231
+ .contributors-card > div.contributors > div span:last-child {
232
+ color: var(--color-font-2);
233
+ font-size: 0.75rem;
234
+ }
235
+
236
+ .opt-tab {
237
+ height: calc(100% - 115px);
238
+ flex-direction: column;
239
+ display: flex;
240
+ }
241
+ .opt-tab div.tab-body > div {
242
+ padding-right: 7px;
243
+ overflow-x: hidden;
244
+ }
245
+ .opt-tab > div:first-child {
246
+ min-height: 5px;
247
+ }
248
+ .opt-tab .tab-bar {
249
+ --bc-tab-margin: 5px;
250
+ }
251
+ .opt-tab .tab-body {
252
+ overflow-x: hidden;
253
+ padding: 5px;
254
+ }
255
+
256
+ .opt-about {
257
+ display: block !important;
258
+ }
259
+
260
+ .bcd-body {
261
+ background: var(--color-card-1);
262
+ }
263
+
264
+ .opt-body {
265
+ overflow-y: scroll;
266
+ margin-top: 20px;
267
+ padding: 0;
268
+ flex: 1;
269
+ }
270
+ .opt-body::-webkit-scrollbar {
271
+ display: none;
272
+ }
273
+
274
+ .opt-body > div {
275
+ height: 100%;
276
+ overflow-y: scroll;
277
+ padding-right: 7px;
278
+ }
279
+
280
+ .opt-body header {
281
+ font-size: 0.95rem;
282
+ }
283
+
284
+ .opt-body label[class='ss-switch'] {
285
+ --switch-dot-border: 5px;
286
+ --switch-dot-margin: 8px;
287
+ --switch-height: 25px;
288
+ min-width: 45px;
289
+ margin: 5px 0;
290
+ }
291
+
292
+ .opt-body label[class='ss-switch'] > div > div {
293
+ margin-top: 3px;
294
+ }
295
+
296
+ .ss-switch {
297
+ --switch-dot-margin: 6px;
298
+ --switch-height: 25px;
299
+ min-width: 45px;
300
+ }
301
+ .ss-switch > div > div {
302
+ margin-top: 2px;
303
+ }
304
+ .ss-switch > div > div {
305
+ margin-left: calc(var(--switch-dot-margin) - 5px);
306
+ }
307
+
308
+ .ss-switch input:checked ~ div > div {
309
+ border: var(--switch-dot-border) solid #fff;
310
+ margin-left: calc(
311
+ 100% - var(--switch-height) + var(--switch-dot-margin) - 5px
312
+ );
313
+ }
314
+
315
+ .opt-page > div {
316
+ padding: 15px 20px;
317
+ }
318
+
319
+ .opt-page > div > header {
320
+ letter-spacing: 0;
321
+ }
322
+
323
+ .opt-page > div > div.tip {
324
+ background: var(--color-card-1);
325
+ color: var(--color-font-2);
326
+ border-radius: 7px;
327
+ font-size: 0.8rem;
328
+ margin: 5px 0;
329
+ padding: 15px;
330
+ }
331
+
332
+ .opt-page > div:not(:first-child) {
333
+ margin-top: 20px;
334
+ }
335
+
336
+ .opt-item {
337
+ transition: background 0.3s;
338
+ padding: 10px 15px 10px 20px;
339
+ align-items: center;
340
+ border-radius: 7px;
341
+ display: flex;
342
+ }
343
+
344
+ .opt-main:not(.opt-fast-animation) .opt-page > .ss-card {
345
+ opacity: 0;
346
+ transform: translateY(-15px);
347
+ animation: opt-item-enter 0.2s ease-out forwards;
348
+ }
349
+
350
+ .opt-main:not(.opt-fast-animation) .opt-page > .ss-card:nth-child(6n + 2) { animation-delay: 0.1s; }
351
+ .opt-main:not(.opt-fast-animation) .opt-page > .ss-card:nth-child(6n + 3) { animation-delay: 0.15s; }
352
+ .opt-main:not(.opt-fast-animation) .opt-page > .ss-card:nth-child(6n + 4) { animation-delay: 0.2s; }
353
+ .opt-main:not(.opt-fast-animation) .opt-page > .ss-card:nth-child(6n + 5) { animation-delay: 0.25s; }
354
+ .opt-main:not(.opt-fast-animation) .opt-page > .ss-card:nth-child(6n) { animation-delay: 0.3s; }
355
+
356
+ .opt-item:hover {
357
+ background: var(--color-card-2);
358
+ }
359
+
360
+ .opt-item > div {
361
+ flex-direction: column;
362
+ margin-right: 20px;
363
+ overflow: hidden;
364
+ display: flex;
365
+ flex: 1;
366
+ }
367
+ .opt-item > div > label {
368
+ cursor: pointer;
369
+ }
370
+ .opt-item > div > span:first-child,
371
+ .opt-item > div > label:first-child {
372
+ font-size: 0.85rem;
373
+ }
374
+ .opt-item > div:first-child {
375
+ transition: all 0.3s;
376
+ border-radius: 5px;
377
+ margin-right: 16px;
378
+ margin-left: -20px;
379
+ cursor: pointer;
380
+ max-width: 5px;
381
+ height: 1.3rem;
382
+ }
383
+ .opt-item:hover > div:first-child.changed {
384
+ background: var(--color-font);
385
+ }
386
+
387
+ .opt-item > div.select-wrapper {
388
+ position: relative;
389
+ margin-right: 0;
390
+ height: 30px;
391
+ max-width: 170px;
392
+ }
393
+ .opt-item > div.select-wrapper::after {
394
+ content: "";
395
+ position: absolute;
396
+ pointer-events: none;
397
+ right: 12px;
398
+ top: 50%;
399
+ transform: translateY(-50%);
400
+ width: 0;
401
+ height: 0;
402
+ border-left: 6px solid transparent;
403
+ border-right: 6px solid transparent;
404
+ border-top: 6px solid var(--color-font-2);
405
+ }
406
+ .opt-item select {
407
+ -webkit-appearance: none;
408
+ -moz-appearance: none;
409
+ appearance: none;
410
+ height: 100%;
411
+ background: var(--color-card-1);
412
+ color: var(--color-font);
413
+ border: none;
414
+ padding: 0 10px;
415
+ border-radius: 7px;
416
+ font-size: 0.8rem;
417
+ }
418
+
419
+ .opt-item > div > span:last-child,
420
+ .opt-item > div > label:last-child {
421
+ color: var(--color-font-1);
422
+ text-overflow: clip;
423
+ font-size: 0.8rem;
424
+ }
425
+ .opt-item > div > span:last-child > a,
426
+ .opt-item > div > label:last-child > a {
427
+ color: var(--color-font-1);
428
+ font-size: 0.8rem;
429
+ }
430
+
431
+ .opt-item > svg {
432
+ color: var(--color-font);
433
+ margin-right: 20px;
434
+ margin-top: 1px;
435
+ height: 1.1rem;
436
+ width: 1.1rem;
437
+ }
438
+ .opt-item input[type='password'],
439
+ .opt-item input[type='text'] {
440
+ line-height: 35px;
441
+ font-size: 0.8rem;
442
+ }
443
+ .opt-item div.ss-range {
444
+ --range-height: 30px !important;
445
+ max-width: 170px;
446
+ margin: 0 0 0 -25px;
447
+ }
448
+ .opt-item div.ss-range span {
449
+ font-size: 0.85rem;
450
+ }
451
+
452
+ .opt-item > div.file-choice {
453
+ display: flex;
454
+ max-width: 170px;
455
+ flex-direction: row;
456
+ margin-right: 0;
457
+ }
458
+
459
+ .opt-item > div.file-choice > div {
460
+ background: var(--color-card-1);
461
+ border-radius: 7px;
462
+ font-size: 0.8rem;
463
+ height: 30px;
464
+ min-width: 30px;
465
+ line-height: 30px;
466
+ text-align: center;
467
+ }
468
+
469
+ .opt-item > div.file-choice > div.choice-btn {
470
+ flex: 1;
471
+ padding: 0 10px;
472
+ }
473
+
474
+ .opt-item > div.file-choice > div.rm-btn {
475
+ margin-left: 10px;
476
+ width: 30px;
477
+ cursor: pointer;
478
+ color: var(--color-red);
479
+ }
480
+
481
+ .l10n-info {
482
+ border-left: 7px solid var(--color-main);
483
+ background: var(--color-card-1);
484
+ align-items: center;
485
+ margin-bottom: 20px;
486
+ border-radius: 7px;
487
+ display: flex;
488
+ padding: 15px;
489
+ }
490
+
491
+ .l10n-info > svg {
492
+ color: var(--color-font);
493
+ margin: 0 20px 0 10px;
494
+ min-width: 2.7rem;
495
+ width: 2.7rem;
496
+ height: 2.7rem;
497
+ }
498
+
499
+ .l10n-info span {
500
+ display: block;
501
+ }
502
+
503
+ .l10n-info > div {
504
+ flex: 1;
505
+ }
506
+
507
+ .l10n-info > div > span:first-child {
508
+ margin-bottom: 8px;
509
+ font-size: 1rem;
510
+ font-weight: bold;
511
+ }
512
+ .l10n-info > div > span:first-child > a {
513
+ color: var(--color-font-2);
514
+ font-weight: normal;
515
+ font-size: 0.7rem;
516
+ margin-left: 5px;
517
+ }
518
+ .l10n-info > div > span.author {
519
+ color: var(--color-font-1);
520
+ font-size: 0.8rem;
521
+ }
522
+ .l10n-info > div > span:last-child {
523
+ font-weight: unset;
524
+ font-size: 0.8rem;
525
+ }
526
+
527
+ .l10n-info > span {
528
+ color: var(--color-font-1);
529
+ margin-right: 10px;
530
+ margin-left: 40px;
531
+ }
532
+
533
+ .bot-status {
534
+ background: var(--color-card-1);
535
+ transition: background 0.3s;
536
+ padding: 10px;
537
+ margin-top: -10px;
538
+ margin-bottom: 10px;
539
+ border-radius: 7px;
540
+ display: flex;
541
+ flex-direction: row;
542
+ align-items: center;
543
+ }
544
+ .bot-status.normal {
545
+ background: var(--color-bg-green);
546
+ }
547
+ .bot-status.slow {
548
+ background: var(--color-bg-yellow);
549
+ }
550
+ .bot-status > div {
551
+ transition: background 0.3s;
552
+ background: var(--color-main);
553
+ width: 0.5rem;
554
+ height: 0.5rem;
555
+ border-radius: 100%;
556
+ margin-right: 10px;
557
+ }
558
+ .bot-status.loading {
559
+ opacity: 1 !important;
560
+ }
561
+ .bot-status.normal > div {
562
+ background: var(--color-green);
563
+ }
564
+ .bot-status.slow > div {
565
+ background: var(--color-yellow);
566
+ }
567
+ .bot-status > span {
568
+ font-size: 0.85rem;
569
+ }
570
+
571
+ .theme-color-col {
572
+ flex-direction: row-reverse !important;
573
+ margin-right: 0 !important;
574
+ overflow: unset !important;
575
+ display: flex !important;
576
+ margin-top: -10px;
577
+ }
578
+
579
+ .theme-color-col > input#theme_color_custom,
580
+ .theme-color-col > label {
581
+ --radio-size: 16px;
582
+ margin-left: -7px;
583
+ }
584
+ .theme-color-col > input#theme_color_custom {
585
+ transform: translateX(-100%);
586
+ width: var(--radio-size);
587
+ height: 1px;
588
+ z-index: -1;
589
+ opacity: 0;
590
+ }
591
+
592
+ .ss-radio:hover > div:nth-child(2) {
593
+ padding: calc((var(--radio-size) / 4) + 2px);
594
+ }
595
+
596
+ .ss-radio input:checked ~ div:nth-child(2) {
597
+ padding: calc(var(--radio-size) - 2px);
598
+ height: 0;
599
+ width: 0;
600
+ }
601
+
602
+ .account-info {
603
+ background: var(--color-main);
604
+ align-items: center;
605
+ display: flex;
606
+ }
607
+
608
+ .account-info > img {
609
+ border: 2px solid var(--color-main);
610
+ outline: 3px solid var(--color-card-2);
611
+ border-radius: 100%;
612
+ height: 40px;
613
+ }
614
+
615
+ .account-info > div {
616
+ flex-direction: column;
617
+ margin-left: 20px;
618
+ display: flex;
619
+ flex: 1;
620
+ }
621
+
622
+ .account-info > div > span {
623
+ color: var(--color-font-1-r);
624
+ margin-right: 20px;
625
+ }
626
+
627
+ @keyframes opt-item-enter {
628
+ from {
629
+ opacity: 0;
630
+ transform: translateY(-10px);
631
+ }
632
+ to {
633
+ opacity: 1;
634
+ transform: translateY(0);
635
+ }
636
+ }
637
+
638
+ @media (prefers-reduced-motion: reduce) {
639
+ .opt-main:not(.opt-fast-animation) .opt-page > .ss-card {
640
+ opacity: 1;
641
+ transform: none;
642
+ animation: none;
643
+ }
644
+ }
645
+
646
+ .account-info > div > div {
647
+ align-items: flex-end;
648
+ display: flex;
649
+ }
650
+
651
+ .account-info > div > div > span:first-child {
652
+ color: var(--color-font-r);
653
+ font-size: 1.1rem;
654
+ font-weight: bold;
655
+ }
656
+
657
+ .account-info > div > div > span:last-child {
658
+ color: var(--color-font-1-r);
659
+ margin-bottom: 2px;
660
+ margin-left: 10px;
661
+ opacity: 0.7;
662
+ }
663
+ .account-info > svg {
664
+ background: var(--color-card-2);
665
+ color: var(--color-main);
666
+ border-radius: 100%;
667
+ cursor: pointer;
668
+ padding: 10px;
669
+ height: 20px;
670
+ width: 20px;
671
+ }
672
+
673
+ .account-not-login {
674
+ display: flex;
675
+ flex-direction: column;
676
+ align-items: center;
677
+ width: 50%;
678
+ margin: 40px auto 0 auto;
679
+ }
680
+ .account-not-login > svg {
681
+ font-size: 2rem;
682
+ color: var(--color-main);
683
+ margin-top: 40px;
684
+ }
685
+ .account-not-login > span {
686
+ color: var(--color-font-2);
687
+ font-size: 0.9rem;
688
+ margin-top: 10px;
689
+ }
690
+ .account-not-login > button {
691
+ width: 90%;
692
+ margin-top: 30px;
693
+ margin-bottom: 20px;
694
+ }
695
+
696
+ .end-card {
697
+ margin: 20px 5px 20px 5px;
698
+ display: flex;
699
+ align-items: center;
700
+ }
701
+
702
+ .end-card > div {
703
+ flex: 1;
704
+ }
705
+
706
+ .end-card > div > span {
707
+ margin-left: 20px;
708
+ font-size: 0.6rem;
709
+ }
710
+
711
+ .end-card > div > div {
712
+ margin-bottom: 10px;
713
+ }
714
+
715
+ .end-card > div > div > span {
716
+ letter-spacing: 0.1rem;
717
+ font-size: 1rem;
718
+ font-weight: 300;
719
+ text-indent: 0;
720
+ }
721
+
722
+ .end-card > div > div > a {
723
+ color: var(--color-font-1);
724
+ font-size: 0.6rem;
725
+ margin-left: 10px;
726
+ }
727
+
728
+ .ws-test-out {
729
+ min-height: 90px;
730
+ resize: vertical;
731
+ margin-top: 10px;
732
+ width: 100%;
733
+ }
734
+
735
+ .bot-info > div > span {
736
+ width: 100%;
737
+ display: flex;
738
+ flex-wrap: wrap;
739
+ }
740
+ .bot-info > div > span > span {
741
+ color: var(--color-font);
742
+ width: 50%;
743
+ }
744
+ .bot-info > div > span > span:first-child {
745
+ color: var(--color-main);
746
+ font-weight: bold;
747
+ font-size: 1rem;
748
+ width: 100%;
749
+ }
750
+
751
+ .debug-info {
752
+ font-family: 'Fira Code', 'Courier New', Courier, monospace;
753
+ margin: -10px -10px 0 -10px;
754
+ width: 100%;
755
+ min-height: 150px;
756
+ border: unset;
757
+ background: var(--color-card-1);
758
+ border-radius: 7px;
759
+ padding: 10px;
760
+ font-size: 0.8rem;
761
+ color: var(--color-font-1);
762
+ }
763
+
764
+ @media (max-width: 700px) {
765
+ .option-title {
766
+ display: none !important;
767
+ }
768
+ .opt-main > div:first-child {
769
+ display: none;
770
+ }
771
+
772
+ .opt-item {
773
+ flex-wrap: wrap;
774
+ height: auto;
775
+ padding: 10px 15px 10px 20px;
776
+ }
777
+ .opt-about {
778
+ display: block !important;
779
+ }
780
+
781
+ .opt-item > div.select-wrapper {
782
+ margin-left: calc(1.1rem + 20px);
783
+ max-width: unset !important;
784
+ width: 100% !important;
785
+ height: 35px;
786
+ margin-top: 10px;
787
+ flex:unset;
788
+ }
789
+ .opt-item div.ss-range,
790
+ .opt-item input[type='password'],
791
+ .opt-item input[type='text'],
792
+ .opt-item input[type='number'] {
793
+ margin-left: calc(1.1rem + 20px);
794
+ width: 100% !important;
795
+ margin-top: 10px;
796
+ }
797
+ .opt-item div.ss-range {
798
+ min-width: calc(100% - 40px);
799
+ }
800
+
801
+ .opt-tab .tab-bar > span {
802
+ display: none;
803
+ }
804
+ }
805
+
806
+ @media (max-width: 500px) {
807
+ .account-not-login {
808
+ margin: 0 auto;
809
+ width: calc(100% - 40px);
810
+ }
811
+ }