@taskon/widget-react 0.0.1-beta.2 → 0.0.1-beta.3
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.
- package/README.md +55 -16
- package/dist/CommunityTaskList.css +432 -628
- package/dist/EligibilityInfo.css +944 -431
- package/dist/PageBuilder.css +0 -2
- package/dist/Quest.css +460 -505
- package/dist/TaskOnProvider.css +15 -15
- package/dist/UserCenterWidget.css +0 -174
- package/dist/UserCenterWidget2.css +870 -102
- package/dist/chunks/{CommunityTaskList-BlH1Wdd5.js → CommunityTaskList-C9mPl_31.js} +913 -826
- package/dist/chunks/{EligibilityInfo-C7GZ2G5u.js → EligibilityInfo-DGBffKN8.js} +1137 -449
- package/dist/chunks/{LeaderboardWidget-CmYfDeHV.js → LeaderboardWidget-DPOQVXkT.js} +15 -10
- package/dist/chunks/{PageBuilder-Bw0zSkFh.js → PageBuilder-WCZvxL2j.js} +5 -5
- package/dist/chunks/{Quest-DKFZ-pPU.js → Quest-DjGH_8bx.js} +464 -314
- package/dist/chunks/{TaskOnProvider-BD6Vp2x8.js → TaskOnProvider-iannERG1.js} +2 -207
- package/dist/chunks/{ThemeProvider-wnSXrNQb.js → ThemeProvider-DNJqI2lD.js} +246 -54
- package/dist/chunks/UserCenterWidget-B0O-f_xl.js +8344 -0
- package/dist/chunks/{UserCenterWidget-Cw6h_5hT.js → UserCenterWidget-CAhgp46j.js} +204 -1001
- package/dist/chunks/{WidgetShell-D_5OjvNZ.js → dynamic-import-helper-B2j_dZ4V.js} +607 -40
- package/dist/chunks/useToast-CaRkylKe.js +304 -0
- package/dist/chunks/{usercenter-ja-uu-XfVF9.js → usercenter-ja-B2465c1O.js} +4 -10
- package/dist/chunks/{usercenter-ko-DYgUOVzd.js → usercenter-ko-xAEYxqLg.js} +4 -10
- package/dist/community-task.d.ts +34 -3
- package/dist/community-task.js +1 -1
- package/dist/core.d.ts +40 -3
- package/dist/core.js +9 -10
- package/dist/dynamic-import-helper.css +186 -0
- package/dist/index.d.ts +207 -10
- package/dist/index.js +21 -19
- package/dist/leaderboard.d.ts +8 -1
- package/dist/leaderboard.js +2 -2
- package/dist/page-builder.js +1 -1
- package/dist/quest.d.ts +8 -2
- package/dist/quest.js +1 -1
- package/dist/user-center.d.ts +20 -136
- package/dist/user-center.js +19 -236
- package/package.json +7 -2
- package/dist/TipPopover.css +0 -210
- package/dist/WidgetShell.css +0 -182
- package/dist/chunks/TipPopover-BrW8jo71.js +0 -2926
- package/dist/chunks/UserCenterWidget-BE329iS7.js +0 -3546
- package/dist/chunks/dynamic-import-helper-DxEFwm31.js +0 -537
- package/dist/chunks/useToast-B-wyO5zL.js +0 -93
- package/dist/chunks/useWidgetLocale-JDelxtt8.js +0 -74
package/dist/EligibilityInfo.css
CHANGED
|
@@ -1,3 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConfirmNoticeDialog styles
|
|
3
|
+
*
|
|
4
|
+
* @description
|
|
5
|
+
* Reproduces the visual rhythm of taskon-website ConfirmNotice:
|
|
6
|
+
* icon -> title -> description -> actions,
|
|
7
|
+
* while intentionally removing the glow background layer.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* Narrow the default dialog body padding for this notice layout */
|
|
11
|
+
.taskon-confirm-notice-dialog .taskon-dialog-body {
|
|
12
|
+
padding: 0;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/* ConfirmNotice content root */
|
|
16
|
+
.taskon-confirm-notice {
|
|
17
|
+
position: relative;
|
|
18
|
+
width: 100%;
|
|
19
|
+
max-width: 470px;
|
|
20
|
+
padding: 40px 55px;
|
|
21
|
+
background: var(--taskon-color-bg-popup, #0d0d0d);
|
|
22
|
+
color: var(--taskon-color-text, #ffffff);
|
|
23
|
+
border-radius: 10px;
|
|
24
|
+
text-align: center;
|
|
25
|
+
box-sizing: border-box;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/* Status icon */
|
|
29
|
+
.taskon-confirm-notice-icon {
|
|
30
|
+
width: 46px;
|
|
31
|
+
height: 46px;
|
|
32
|
+
display: block;
|
|
33
|
+
margin: 0 auto;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* Title */
|
|
37
|
+
.taskon-confirm-notice-title {
|
|
38
|
+
margin: 20px 0 0;
|
|
39
|
+
font-weight: 600;
|
|
40
|
+
font-size: 22px;
|
|
41
|
+
line-height: 28px;
|
|
42
|
+
color: var(--taskon-color-text, #ffffff);
|
|
43
|
+
white-space: pre-wrap;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Description */
|
|
47
|
+
.taskon-confirm-notice-desc {
|
|
48
|
+
margin: 10px 0 0;
|
|
49
|
+
font-size: 16px;
|
|
50
|
+
line-height: 20px;
|
|
51
|
+
color: var(--taskon-color-text-secondary, rgba(255, 255, 255, 0.7));
|
|
52
|
+
white-space: pre-wrap;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/* Action container */
|
|
56
|
+
.taskon-confirm-notice-buttons {
|
|
57
|
+
margin-top: 20px;
|
|
58
|
+
display: flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
justify-content: center;
|
|
61
|
+
gap: 10px;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.taskon-confirm-notice-buttons--col {
|
|
65
|
+
flex-wrap: wrap;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/* Base action button style */
|
|
69
|
+
.taskon-confirm-notice-button {
|
|
70
|
+
min-width: 161px;
|
|
71
|
+
height: 36px;
|
|
72
|
+
padding: 0 16px;
|
|
73
|
+
border-radius: 8px;
|
|
74
|
+
border: 1px solid transparent;
|
|
75
|
+
font-size: 14px;
|
|
76
|
+
font-weight: 600;
|
|
77
|
+
line-height: 36px;
|
|
78
|
+
text-align: center;
|
|
79
|
+
cursor: pointer;
|
|
80
|
+
transition: all 0.2s ease;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.taskon-confirm-notice-button:disabled {
|
|
84
|
+
opacity: 0.5;
|
|
85
|
+
cursor: not-allowed;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* Cancel button */
|
|
89
|
+
.taskon-confirm-notice-button--cancel {
|
|
90
|
+
color: rgba(255, 255, 255, 0.9);
|
|
91
|
+
background: rgba(255, 255, 255, 0.1);
|
|
92
|
+
border-color: rgba(255, 255, 255, 0.16);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.taskon-confirm-notice-button--cancel:hover:not(:disabled),
|
|
96
|
+
.taskon-confirm-notice-button--cancel:focus-visible:not(:disabled) {
|
|
97
|
+
background: rgba(255, 255, 255, 0.16);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Confirm button */
|
|
101
|
+
.taskon-confirm-notice-button--confirm {
|
|
102
|
+
color: #000000;
|
|
103
|
+
background: var(--taskon-color-primary, #cbff01);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.taskon-confirm-notice-button--confirm:hover:not(:disabled),
|
|
107
|
+
.taskon-confirm-notice-button--confirm:focus-visible:not(:disabled) {
|
|
108
|
+
filter: brightness(0.95);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/* Mobile adaptation (aligned with original vw-based behavior) */
|
|
112
|
+
@media (max-width: 750px) {
|
|
113
|
+
.taskon-confirm-notice {
|
|
114
|
+
max-width: none;
|
|
115
|
+
width: auto;
|
|
116
|
+
padding: 8vw 6.667vw 6.667vw;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.taskon-confirm-notice-icon {
|
|
120
|
+
width: 7.467vw;
|
|
121
|
+
height: 7.467vw;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.taskon-confirm-notice-title {
|
|
125
|
+
margin-top: 4vw;
|
|
126
|
+
font-size: 4.533vw;
|
|
127
|
+
line-height: 5.733vw;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.taskon-confirm-notice-desc {
|
|
131
|
+
margin-top: 2vw;
|
|
132
|
+
font-size: 3.733vw;
|
|
133
|
+
line-height: 4.667vw;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.taskon-confirm-notice-buttons {
|
|
137
|
+
margin-top: 5.333vw;
|
|
138
|
+
flex-direction: column;
|
|
139
|
+
gap: 2.667vw;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.taskon-confirm-notice-button {
|
|
143
|
+
width: 100%;
|
|
144
|
+
min-width: 100%;
|
|
145
|
+
height: 9.333vw;
|
|
146
|
+
line-height: 9.333vw;
|
|
147
|
+
border-radius: 2.133vw;
|
|
148
|
+
font-size: 3.467vw;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
1
151
|
/**
|
|
2
152
|
* Textarea 通用组件样式
|
|
3
153
|
* @description 复刻 Vue 版本 BaseTextareaPro.vue 样式
|
|
@@ -17,9 +167,9 @@
|
|
|
17
167
|
padding: 12px;
|
|
18
168
|
padding-bottom: 36px; /* 给计数器留空间 */
|
|
19
169
|
border-radius: 6px;
|
|
20
|
-
border: 1px solid
|
|
21
|
-
background:
|
|
22
|
-
color: var(--taskon-color-text
|
|
170
|
+
border: 1px solid var(--taskon-color-border);
|
|
171
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
172
|
+
color: var(--taskon-color-text);
|
|
23
173
|
font-size: 14px;
|
|
24
174
|
line-height: 1.5;
|
|
25
175
|
resize: none;
|
|
@@ -28,7 +178,7 @@
|
|
|
28
178
|
}
|
|
29
179
|
|
|
30
180
|
.taskon-textarea:focus {
|
|
31
|
-
border-color: var(--taskon-color-primary
|
|
181
|
+
border-color: var(--taskon-color-primary);
|
|
32
182
|
}
|
|
33
183
|
|
|
34
184
|
.taskon-textarea:disabled {
|
|
@@ -37,11 +187,11 @@
|
|
|
37
187
|
}
|
|
38
188
|
|
|
39
189
|
.taskon-textarea--error {
|
|
40
|
-
border-color:
|
|
190
|
+
border-color: var(--taskon-color-error);
|
|
41
191
|
}
|
|
42
192
|
|
|
43
193
|
.taskon-textarea::placeholder {
|
|
44
|
-
color: var(--taskon-color-text-tertiary
|
|
194
|
+
color: var(--taskon-color-text-tertiary);
|
|
45
195
|
}
|
|
46
196
|
|
|
47
197
|
/* ==================== 字数统计 ==================== */
|
|
@@ -52,11 +202,11 @@
|
|
|
52
202
|
font-weight: 400;
|
|
53
203
|
font-size: 14px;
|
|
54
204
|
line-height: 20px;
|
|
55
|
-
color:
|
|
205
|
+
color: var(--taskon-color-text-tertiary);
|
|
56
206
|
}
|
|
57
207
|
|
|
58
208
|
.taskon-textarea-count-current {
|
|
59
|
-
color:
|
|
209
|
+
color: var(--taskon-color-text);
|
|
60
210
|
}
|
|
61
211
|
|
|
62
212
|
/* ==================== 响应式 ==================== */
|
|
@@ -83,7 +233,7 @@
|
|
|
83
233
|
/* 可点击链接 - 统一蓝色加下划线样式 */
|
|
84
234
|
.taskon-title-express-link {
|
|
85
235
|
display: inline;
|
|
86
|
-
color:
|
|
236
|
+
color: var(--taskon-color-link);
|
|
87
237
|
cursor: pointer;
|
|
88
238
|
text-decoration: underline;
|
|
89
239
|
transition: opacity 0.2s ease;
|
|
@@ -96,7 +246,7 @@
|
|
|
96
246
|
/* 可复制文本 */
|
|
97
247
|
.taskon-title-express-copy {
|
|
98
248
|
display: inline;
|
|
99
|
-
color: var(--taskon-color-secondary
|
|
249
|
+
color: var(--taskon-color-secondary);
|
|
100
250
|
cursor: pointer;
|
|
101
251
|
}
|
|
102
252
|
|
|
@@ -107,65 +257,573 @@
|
|
|
107
257
|
justify-content: center;
|
|
108
258
|
gap: 6px;
|
|
109
259
|
padding: 8px 12px;
|
|
110
|
-
background: var(--taskon-color-bg-
|
|
111
|
-
border-radius:
|
|
260
|
+
background: var(--taskon-color-bg-floating);
|
|
261
|
+
border-radius: var(--taskon-border-radius-sm);
|
|
112
262
|
border: none;
|
|
113
263
|
outline: none;
|
|
114
|
-
box-shadow: 0 4px 12px
|
|
264
|
+
box-shadow: 0 4px 12px var(--taskon-color-bg-mask);
|
|
115
265
|
cursor: pointer;
|
|
116
266
|
font-size: 14px;
|
|
117
267
|
font-weight: 500;
|
|
118
268
|
line-height: 18px;
|
|
119
|
-
color: var(--taskon-color-text
|
|
269
|
+
color: var(--taskon-color-text);
|
|
120
270
|
z-index: 9999;
|
|
121
271
|
animation: taskon-popover-fade-in 0.15s ease;
|
|
122
272
|
}
|
|
123
273
|
|
|
124
|
-
.taskon-title-express-popover-content:focus {
|
|
125
|
-
outline: none;
|
|
274
|
+
.taskon-title-express-popover-content:focus {
|
|
275
|
+
outline: none;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.taskon-title-express-popover-content:hover {
|
|
279
|
+
background: var(--taskon-color-bg-surface);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/* 复制图标 */
|
|
283
|
+
.taskon-title-express-copy-icon {
|
|
284
|
+
width: 14px;
|
|
285
|
+
height: 14px;
|
|
286
|
+
flex-shrink: 0;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/* Radix Popover 箭头 */
|
|
290
|
+
.taskon-title-express-popover-arrow {
|
|
291
|
+
fill: var(--taskon-color-bg-floating);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/* 动画 */
|
|
295
|
+
@keyframes taskon-popover-fade-in {
|
|
296
|
+
from {
|
|
297
|
+
opacity: 0;
|
|
298
|
+
transform: translateY(2px);
|
|
299
|
+
}
|
|
300
|
+
to {
|
|
301
|
+
opacity: 1;
|
|
302
|
+
transform: translateY(0);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/* 响应式样式(移动端) */
|
|
307
|
+
@media (max-width: 750px) {
|
|
308
|
+
.taskon-title-express-popover-content {
|
|
309
|
+
padding: 2.13vw 3.2vw;
|
|
310
|
+
font-size: 3.73vw;
|
|
311
|
+
line-height: 4.8vw;
|
|
312
|
+
border-radius: 2.13vw;
|
|
313
|
+
gap: 1.6vw;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
.taskon-title-express-copy-icon {
|
|
317
|
+
width: 3.73vw;
|
|
318
|
+
height: 3.73vw;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* CardDescExpress 组件样式
|
|
323
|
+
* @module components/CardDescExpress
|
|
324
|
+
*
|
|
325
|
+
* @description
|
|
326
|
+
* 对齐原版 TextPreview + Quill 富文本渲染思路:
|
|
327
|
+
* - 容器层控制截断与基础排版
|
|
328
|
+
* - 内容层按 Quill 语义处理列表/缩进/对齐
|
|
329
|
+
*/
|
|
330
|
+
|
|
331
|
+
.taskon-card-desc-rich {
|
|
332
|
+
max-height: 60px;
|
|
333
|
+
overflow: hidden;
|
|
334
|
+
font-size: 14px;
|
|
335
|
+
line-height: 21px;
|
|
336
|
+
color: var(--taskon-color-text-tertiary);
|
|
337
|
+
white-space: pre-wrap;
|
|
338
|
+
overflow-wrap: break-word;
|
|
339
|
+
word-break: break-word;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.taskon-card-desc-rich--no-max-height {
|
|
343
|
+
margin-top: 0;
|
|
344
|
+
max-height: none;
|
|
345
|
+
overflow: visible;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/* ========== 基础防护(降低宿主 reset 影响) ========== */
|
|
349
|
+
.taskon-card-desc-rich,
|
|
350
|
+
.taskon-card-desc-rich *,
|
|
351
|
+
.taskon-card-desc-rich *::before,
|
|
352
|
+
.taskon-card-desc-rich *::after {
|
|
353
|
+
box-sizing: border-box;
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
/* ========== 基础块元素(对齐 Quill 编辑器语义) ========== */
|
|
357
|
+
.taskon-card-desc-rich p,
|
|
358
|
+
.taskon-card-desc-rich ol,
|
|
359
|
+
.taskon-card-desc-rich ul,
|
|
360
|
+
.taskon-card-desc-rich pre,
|
|
361
|
+
.taskon-card-desc-rich blockquote,
|
|
362
|
+
.taskon-card-desc-rich h1,
|
|
363
|
+
.taskon-card-desc-rich h2,
|
|
364
|
+
.taskon-card-desc-rich h3,
|
|
365
|
+
.taskon-card-desc-rich h4,
|
|
366
|
+
.taskon-card-desc-rich h5,
|
|
367
|
+
.taskon-card-desc-rich h6 {
|
|
368
|
+
display: block;
|
|
369
|
+
margin: 0;
|
|
370
|
+
padding: 0;
|
|
371
|
+
counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.taskon-card-desc-rich h1 {
|
|
375
|
+
font-size: 2rem;
|
|
376
|
+
line-height: 33px;
|
|
377
|
+
font-weight: 700;
|
|
378
|
+
color: var(--taskon-color-text);
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
@media (max-width: 750px) {
|
|
382
|
+
.taskon-card-desc-rich h1 {
|
|
383
|
+
font-size: 4.8vw;
|
|
384
|
+
line-height: 6vw;
|
|
385
|
+
font-weight: 600;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
.taskon-card-desc-rich h2 {
|
|
390
|
+
font-size: 1.5em;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
.taskon-card-desc-rich h3 {
|
|
394
|
+
font-size: 1.17em;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.taskon-card-desc-rich h4 {
|
|
398
|
+
font-size: 1em;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
.taskon-card-desc-rich h5 {
|
|
402
|
+
font-size: 0.83em;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
.taskon-card-desc-rich h6 {
|
|
406
|
+
font-size: 0.67em;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
/* ========== 列表(核心:确保圆点/编号稳定可见) ========== */
|
|
410
|
+
.taskon-card-desc-rich ol,
|
|
411
|
+
.taskon-card-desc-rich ul {
|
|
412
|
+
margin: 0.5em 0;
|
|
413
|
+
padding-left: 1.5em;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
.taskon-card-desc-rich ol > li,
|
|
417
|
+
.taskon-card-desc-rich ul > li {
|
|
418
|
+
list-style-type: none;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
.taskon-card-desc-rich li {
|
|
422
|
+
display: list-item;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
.taskon-card-desc-rich ul > li::before {
|
|
426
|
+
content: "\2022";
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.taskon-card-desc-rich ul[data-checked="true"],
|
|
430
|
+
.taskon-card-desc-rich ul[data-checked="false"] {
|
|
431
|
+
pointer-events: none;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
.taskon-card-desc-rich ul[data-checked="true"] > li *,
|
|
435
|
+
.taskon-card-desc-rich ul[data-checked="false"] > li * {
|
|
436
|
+
pointer-events: all;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
.taskon-card-desc-rich ul[data-checked="true"] > li::before,
|
|
440
|
+
.taskon-card-desc-rich ul[data-checked="false"] > li::before {
|
|
441
|
+
cursor: pointer;
|
|
442
|
+
pointer-events: all;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.taskon-card-desc-rich ul[data-checked="true"] > li::before {
|
|
446
|
+
content: "\2611";
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
.taskon-card-desc-rich ul[data-checked="false"] > li::before {
|
|
450
|
+
content: "\2610";
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
.taskon-card-desc-rich li::before {
|
|
454
|
+
display: inline-block;
|
|
455
|
+
width: 1.2em;
|
|
456
|
+
white-space: nowrap;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
.taskon-card-desc-rich li:not(.ql-direction-rtl)::before {
|
|
460
|
+
margin-right: 0.3em;
|
|
461
|
+
margin-left: -1.5em;
|
|
462
|
+
text-align: right;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
.taskon-card-desc-rich li.ql-direction-rtl::before {
|
|
466
|
+
margin-right: -1.5em;
|
|
467
|
+
margin-left: 0.3em;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
.taskon-card-desc-rich ol li:not(.ql-direction-rtl),
|
|
471
|
+
.taskon-card-desc-rich ul li:not(.ql-direction-rtl) {
|
|
472
|
+
padding-left: 1.5em;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.taskon-card-desc-rich ol li.ql-direction-rtl,
|
|
476
|
+
.taskon-card-desc-rich ul li.ql-direction-rtl {
|
|
477
|
+
padding-right: 1.5em;
|
|
478
|
+
}
|
|
479
|
+
|
|
480
|
+
.taskon-card-desc-rich ol li {
|
|
481
|
+
counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
|
|
482
|
+
counter-increment: list-0;
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
.taskon-card-desc-rich ol li::before {
|
|
486
|
+
content: counter(list-0, decimal) ". ";
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.taskon-card-desc-rich ol li.ql-indent-1 {
|
|
490
|
+
counter-increment: list-1;
|
|
491
|
+
counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.taskon-card-desc-rich ol li.ql-indent-1::before {
|
|
495
|
+
content: counter(list-1, lower-alpha) ". ";
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
.taskon-card-desc-rich ol li.ql-indent-2 {
|
|
499
|
+
counter-increment: list-2;
|
|
500
|
+
counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
|
|
501
|
+
}
|
|
502
|
+
|
|
503
|
+
.taskon-card-desc-rich ol li.ql-indent-2::before {
|
|
504
|
+
content: counter(list-2, lower-roman) ". ";
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
.taskon-card-desc-rich ol li.ql-indent-3 {
|
|
508
|
+
counter-increment: list-3;
|
|
509
|
+
counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
.taskon-card-desc-rich ol li.ql-indent-3::before {
|
|
513
|
+
content: counter(list-3, decimal) ". ";
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
.taskon-card-desc-rich ol li.ql-indent-4 {
|
|
517
|
+
counter-increment: list-4;
|
|
518
|
+
counter-reset: list-5 list-6 list-7 list-8 list-9;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
.taskon-card-desc-rich ol li.ql-indent-4::before {
|
|
522
|
+
content: counter(list-4, lower-alpha) ". ";
|
|
523
|
+
}
|
|
524
|
+
|
|
525
|
+
.taskon-card-desc-rich ol li.ql-indent-5 {
|
|
526
|
+
counter-increment: list-5;
|
|
527
|
+
counter-reset: list-6 list-7 list-8 list-9;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
.taskon-card-desc-rich ol li.ql-indent-5::before {
|
|
531
|
+
content: counter(list-5, lower-roman) ". ";
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
.taskon-card-desc-rich ol li.ql-indent-6 {
|
|
535
|
+
counter-increment: list-6;
|
|
536
|
+
counter-reset: list-7 list-8 list-9;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
.taskon-card-desc-rich ol li.ql-indent-6::before {
|
|
540
|
+
content: counter(list-6, decimal) ". ";
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
.taskon-card-desc-rich ol li.ql-indent-7 {
|
|
544
|
+
counter-increment: list-7;
|
|
545
|
+
counter-reset: list-8 list-9;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
.taskon-card-desc-rich ol li.ql-indent-7::before {
|
|
549
|
+
content: counter(list-7, lower-alpha) ". ";
|
|
550
|
+
}
|
|
551
|
+
|
|
552
|
+
.taskon-card-desc-rich ol li.ql-indent-8 {
|
|
553
|
+
counter-increment: list-8;
|
|
554
|
+
counter-reset: list-9;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
.taskon-card-desc-rich ol li.ql-indent-8::before {
|
|
558
|
+
content: counter(list-8, lower-roman) ". ";
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
.taskon-card-desc-rich ol li.ql-indent-9 {
|
|
562
|
+
counter-increment: list-9;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.taskon-card-desc-rich ol li.ql-indent-9::before {
|
|
566
|
+
content: counter(list-9, decimal) ". ";
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
/* ========== 缩进与对齐(对齐 Quill class 语义) ========== */
|
|
570
|
+
.taskon-card-desc-rich .ql-indent-1:not(.ql-direction-rtl) {
|
|
571
|
+
padding-left: 3em;
|
|
572
|
+
}
|
|
573
|
+
|
|
574
|
+
.taskon-card-desc-rich li.ql-indent-1:not(.ql-direction-rtl) {
|
|
575
|
+
padding-left: 4.5em;
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
.taskon-card-desc-rich .ql-indent-1.ql-direction-rtl.ql-align-right {
|
|
579
|
+
padding-right: 3em;
|
|
580
|
+
}
|
|
581
|
+
|
|
582
|
+
.taskon-card-desc-rich li.ql-indent-1.ql-direction-rtl.ql-align-right {
|
|
583
|
+
padding-right: 4.5em;
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
.taskon-card-desc-rich .ql-indent-2:not(.ql-direction-rtl) {
|
|
587
|
+
padding-left: 6em;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
.taskon-card-desc-rich li.ql-indent-2:not(.ql-direction-rtl) {
|
|
591
|
+
padding-left: 7.5em;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
.taskon-card-desc-rich .ql-indent-2.ql-direction-rtl.ql-align-right {
|
|
595
|
+
padding-right: 6em;
|
|
596
|
+
}
|
|
597
|
+
|
|
598
|
+
.taskon-card-desc-rich li.ql-indent-2.ql-direction-rtl.ql-align-right {
|
|
599
|
+
padding-right: 7.5em;
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
.taskon-card-desc-rich .ql-indent-3:not(.ql-direction-rtl) {
|
|
603
|
+
padding-left: 9em;
|
|
604
|
+
}
|
|
605
|
+
|
|
606
|
+
.taskon-card-desc-rich li.ql-indent-3:not(.ql-direction-rtl) {
|
|
607
|
+
padding-left: 10.5em;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
.taskon-card-desc-rich .ql-indent-3.ql-direction-rtl.ql-align-right {
|
|
611
|
+
padding-right: 9em;
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
.taskon-card-desc-rich li.ql-indent-3.ql-direction-rtl.ql-align-right {
|
|
615
|
+
padding-right: 10.5em;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
.taskon-card-desc-rich .ql-indent-4:not(.ql-direction-rtl) {
|
|
619
|
+
padding-left: 12em;
|
|
620
|
+
}
|
|
621
|
+
|
|
622
|
+
.taskon-card-desc-rich li.ql-indent-4:not(.ql-direction-rtl) {
|
|
623
|
+
padding-left: 13.5em;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
.taskon-card-desc-rich .ql-indent-4.ql-direction-rtl.ql-align-right {
|
|
627
|
+
padding-right: 12em;
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
.taskon-card-desc-rich li.ql-indent-4.ql-direction-rtl.ql-align-right {
|
|
631
|
+
padding-right: 13.5em;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
.taskon-card-desc-rich .ql-indent-5:not(.ql-direction-rtl) {
|
|
635
|
+
padding-left: 15em;
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
.taskon-card-desc-rich li.ql-indent-5:not(.ql-direction-rtl) {
|
|
639
|
+
padding-left: 16.5em;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
.taskon-card-desc-rich .ql-indent-5.ql-direction-rtl.ql-align-right {
|
|
643
|
+
padding-right: 15em;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
.taskon-card-desc-rich li.ql-indent-5.ql-direction-rtl.ql-align-right {
|
|
647
|
+
padding-right: 16.5em;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
.taskon-card-desc-rich .ql-indent-6:not(.ql-direction-rtl) {
|
|
651
|
+
padding-left: 18em;
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
.taskon-card-desc-rich li.ql-indent-6:not(.ql-direction-rtl) {
|
|
655
|
+
padding-left: 19.5em;
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
.taskon-card-desc-rich .ql-indent-6.ql-direction-rtl.ql-align-right {
|
|
659
|
+
padding-right: 18em;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
.taskon-card-desc-rich li.ql-indent-6.ql-direction-rtl.ql-align-right {
|
|
663
|
+
padding-right: 19.5em;
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
.taskon-card-desc-rich .ql-indent-7:not(.ql-direction-rtl) {
|
|
667
|
+
padding-left: 21em;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
.taskon-card-desc-rich li.ql-indent-7:not(.ql-direction-rtl) {
|
|
671
|
+
padding-left: 22.5em;
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
.taskon-card-desc-rich .ql-indent-7.ql-direction-rtl.ql-align-right {
|
|
675
|
+
padding-right: 21em;
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
.taskon-card-desc-rich li.ql-indent-7.ql-direction-rtl.ql-align-right {
|
|
679
|
+
padding-right: 22.5em;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
.taskon-card-desc-rich .ql-indent-8:not(.ql-direction-rtl) {
|
|
683
|
+
padding-left: 24em;
|
|
684
|
+
}
|
|
685
|
+
|
|
686
|
+
.taskon-card-desc-rich li.ql-indent-8:not(.ql-direction-rtl) {
|
|
687
|
+
padding-left: 25.5em;
|
|
688
|
+
}
|
|
689
|
+
|
|
690
|
+
.taskon-card-desc-rich .ql-indent-8.ql-direction-rtl.ql-align-right {
|
|
691
|
+
padding-right: 24em;
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
.taskon-card-desc-rich li.ql-indent-8.ql-direction-rtl.ql-align-right {
|
|
695
|
+
padding-right: 25.5em;
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
.taskon-card-desc-rich .ql-indent-9:not(.ql-direction-rtl) {
|
|
699
|
+
padding-left: 27em;
|
|
700
|
+
}
|
|
701
|
+
|
|
702
|
+
.taskon-card-desc-rich li.ql-indent-9:not(.ql-direction-rtl) {
|
|
703
|
+
padding-left: 28.5em;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
.taskon-card-desc-rich .ql-indent-9.ql-direction-rtl.ql-align-right {
|
|
707
|
+
padding-right: 27em;
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
.taskon-card-desc-rich li.ql-indent-9.ql-direction-rtl.ql-align-right {
|
|
711
|
+
padding-right: 28.5em;
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
.taskon-card-desc-rich .ql-direction-rtl {
|
|
715
|
+
direction: rtl;
|
|
716
|
+
text-align: inherit;
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
.taskon-card-desc-rich .ql-align-center {
|
|
720
|
+
text-align: center;
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
.taskon-card-desc-rich .ql-align-right {
|
|
724
|
+
text-align: right;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
.taskon-card-desc-rich .ql-align-justify {
|
|
728
|
+
text-align: justify;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
/* ========== 常见富文本元素 ========== */
|
|
732
|
+
.taskon-card-desc-rich a {
|
|
733
|
+
color: var(--taskon-color-link);
|
|
734
|
+
text-decoration: underline;
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
.taskon-card-desc-rich a:hover {
|
|
738
|
+
opacity: 0.8;
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
.taskon-card-desc-rich strong,
|
|
742
|
+
.taskon-card-desc-rich b {
|
|
743
|
+
font-weight: 600;
|
|
744
|
+
color: var(--taskon-color-text);
|
|
126
745
|
}
|
|
127
746
|
|
|
128
|
-
.taskon-
|
|
129
|
-
|
|
747
|
+
.taskon-card-desc-rich em,
|
|
748
|
+
.taskon-card-desc-rich i {
|
|
749
|
+
font-style: italic;
|
|
130
750
|
}
|
|
131
751
|
|
|
132
|
-
|
|
133
|
-
.taskon-
|
|
134
|
-
|
|
135
|
-
height: 14px;
|
|
136
|
-
flex-shrink: 0;
|
|
752
|
+
.taskon-card-desc-rich u,
|
|
753
|
+
.taskon-card-desc-rich ins {
|
|
754
|
+
text-decoration: underline;
|
|
137
755
|
}
|
|
138
756
|
|
|
139
|
-
|
|
140
|
-
.
|
|
141
|
-
|
|
757
|
+
.taskon-card-desc-rich code {
|
|
758
|
+
padding: 0.2em 0.4em;
|
|
759
|
+
font-size: 0.9em;
|
|
760
|
+
background: var(--taskon-color-bg-surface-strong);
|
|
761
|
+
border-radius: 3px;
|
|
142
762
|
}
|
|
143
763
|
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
764
|
+
.taskon-card-desc-rich pre {
|
|
765
|
+
margin: 0.5em 0;
|
|
766
|
+
padding: 0.75em 1em;
|
|
767
|
+
overflow-x: auto;
|
|
768
|
+
text-wrap: initial;
|
|
769
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
770
|
+
border-radius: 6px;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
.taskon-card-desc-rich blockquote {
|
|
774
|
+
margin: 0.5em 0;
|
|
775
|
+
padding-left: 1em;
|
|
776
|
+
color: var(--taskon-color-text-tertiary);
|
|
777
|
+
border-left: 3px solid var(--taskon-color-link);
|
|
778
|
+
}
|
|
779
|
+
|
|
780
|
+
.taskon-card-desc-rich img {
|
|
781
|
+
max-width: 100%;
|
|
782
|
+
height: auto;
|
|
783
|
+
border-radius: 6px;
|
|
784
|
+
}
|
|
785
|
+
|
|
786
|
+
.taskon-card-desc-rich iframe {
|
|
787
|
+
display: block;
|
|
788
|
+
width: 100%;
|
|
789
|
+
max-width: 100%;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
/* ========== 响应式样式(移动端) ========== */
|
|
793
|
+
@media (max-width: 750px) {
|
|
794
|
+
.taskon-card-desc-rich {
|
|
795
|
+
max-height: 18vw;
|
|
796
|
+
font-size: 3.733vw;
|
|
797
|
+
line-height: normal;
|
|
149
798
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
799
|
+
|
|
800
|
+
.taskon-card-desc-rich--no-max-height {
|
|
801
|
+
margin-top: 0;
|
|
802
|
+
max-height: none;
|
|
153
803
|
}
|
|
154
804
|
}
|
|
805
|
+
/**
|
|
806
|
+
* TaskVerifyFailedDialog styles
|
|
807
|
+
* @description Match Vue ErrorInfo content rhythm and readability.
|
|
808
|
+
*/
|
|
809
|
+
|
|
810
|
+
.taskon-task-verify-failed-dialog .taskon-dialog-body {
|
|
811
|
+
padding: 0;
|
|
812
|
+
}
|
|
813
|
+
|
|
814
|
+
.taskon-task-verify-failed-dialog-message {
|
|
815
|
+
margin-top: 10px;
|
|
816
|
+
font-size: 16px;
|
|
817
|
+
line-height: 20px;
|
|
818
|
+
color: var(--taskon-color-text-tertiary);
|
|
819
|
+
white-space: pre-wrap;
|
|
820
|
+
}
|
|
155
821
|
|
|
156
|
-
/* 响应式样式(移动端) */
|
|
157
822
|
@media (max-width: 750px) {
|
|
158
|
-
.taskon-
|
|
159
|
-
|
|
823
|
+
.taskon-task-verify-failed-dialog-message {
|
|
824
|
+
margin-top: 3.73vw;
|
|
160
825
|
font-size: 3.73vw;
|
|
161
|
-
line-height: 4.
|
|
162
|
-
border-radius: 2.13vw;
|
|
163
|
-
gap: 1.6vw;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
.taskon-title-express-copy-icon {
|
|
167
|
-
width: 3.73vw;
|
|
168
|
-
height: 3.73vw;
|
|
826
|
+
line-height: 4.67vw;
|
|
169
827
|
}
|
|
170
828
|
}
|
|
171
829
|
/**
|
|
@@ -181,30 +839,11 @@
|
|
|
181
839
|
/* 继承 TaskCardBase 的样式 */
|
|
182
840
|
}
|
|
183
841
|
|
|
184
|
-
/* ============================================
|
|
185
|
-
* POW Description
|
|
186
|
-
* ============================================ */
|
|
187
|
-
.taskon-pow-desc {
|
|
188
|
-
font-size: 14px;
|
|
189
|
-
line-height: 21px;
|
|
190
|
-
color: rgba(255, 255, 255, 0.8);
|
|
191
|
-
word-break: break-word;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
.taskon-pow-desc a {
|
|
195
|
-
color: var(--taskon-primary-color, #3b82f6);
|
|
196
|
-
text-decoration: none;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
.taskon-pow-desc a:hover {
|
|
200
|
-
text-decoration: underline;
|
|
201
|
-
}
|
|
202
|
-
|
|
203
842
|
/* ============================================
|
|
204
843
|
* POW Input Area
|
|
205
844
|
* ============================================ */
|
|
206
845
|
.taskon-pow-input-area {
|
|
207
|
-
margin-top:
|
|
846
|
+
margin-top: var(--taskon-spacing-md);
|
|
208
847
|
}
|
|
209
848
|
|
|
210
849
|
/* ============================================
|
|
@@ -213,23 +852,24 @@
|
|
|
213
852
|
.taskon-pow-url-row {
|
|
214
853
|
display: flex;
|
|
215
854
|
align-items: center;
|
|
216
|
-
gap:
|
|
855
|
+
gap: var(--taskon-spacing-md);
|
|
217
856
|
}
|
|
218
857
|
|
|
219
858
|
.taskon-pow-input {
|
|
220
859
|
flex: 1;
|
|
221
|
-
padding:
|
|
222
|
-
|
|
223
|
-
border
|
|
224
|
-
|
|
225
|
-
|
|
860
|
+
padding: var(--taskon-spacing-sm)
|
|
861
|
+
var(--taskon-spacing-md);
|
|
862
|
+
border: 1px solid var(--taskon-color-border);
|
|
863
|
+
border-radius: var(--taskon-border-radius);
|
|
864
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
865
|
+
color: var(--taskon-color-text);
|
|
226
866
|
font-size: 14px;
|
|
227
867
|
outline: none;
|
|
228
868
|
transition: border-color 0.2s ease;
|
|
229
869
|
}
|
|
230
870
|
|
|
231
871
|
.taskon-pow-input:focus {
|
|
232
|
-
border-color: var(--taskon-primary
|
|
872
|
+
border-color: var(--taskon-color-primary);
|
|
233
873
|
}
|
|
234
874
|
|
|
235
875
|
.taskon-pow-input:disabled {
|
|
@@ -238,7 +878,7 @@
|
|
|
238
878
|
}
|
|
239
879
|
|
|
240
880
|
.taskon-pow-input::placeholder {
|
|
241
|
-
color:
|
|
881
|
+
color: var(--taskon-color-text-disabled);
|
|
242
882
|
}
|
|
243
883
|
|
|
244
884
|
/* ============================================
|
|
@@ -247,7 +887,7 @@
|
|
|
247
887
|
.taskon-pow-text-row {
|
|
248
888
|
display: flex;
|
|
249
889
|
align-items: flex-end;
|
|
250
|
-
gap:
|
|
890
|
+
gap: var(--taskon-spacing-md);
|
|
251
891
|
}
|
|
252
892
|
|
|
253
893
|
.taskon-pow-text-row .taskon-textarea-wrap {
|
|
@@ -258,7 +898,7 @@
|
|
|
258
898
|
* Image Upload Area - 与 Vue 版本 PowImageUploader 一致
|
|
259
899
|
* ============================================ */
|
|
260
900
|
.taskon-pow-image-uploader {
|
|
261
|
-
margin-top:
|
|
901
|
+
margin-top: var(--taskon-spacing-lg);
|
|
262
902
|
display: flex;
|
|
263
903
|
align-items: center;
|
|
264
904
|
}
|
|
@@ -274,20 +914,20 @@
|
|
|
274
914
|
text-align: center;
|
|
275
915
|
font-size: 0;
|
|
276
916
|
overflow: hidden;
|
|
277
|
-
border: 1px solid
|
|
278
|
-
border-radius:
|
|
279
|
-
background:
|
|
917
|
+
border: 1px solid var(--taskon-color-border);
|
|
918
|
+
border-radius: var(--taskon-border-radius);
|
|
919
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
280
920
|
cursor: pointer;
|
|
281
921
|
transition: border-color 0.2s ease;
|
|
282
922
|
}
|
|
283
923
|
|
|
284
924
|
.taskon-pow-image-upload-area:hover:not(.taskon-pow-image-upload-area--disabled) {
|
|
285
|
-
border-color: var(--taskon-primary
|
|
925
|
+
border-color: var(--taskon-color-primary);
|
|
286
926
|
}
|
|
287
927
|
|
|
288
928
|
.taskon-pow-image-upload-area:focus {
|
|
289
929
|
outline: none;
|
|
290
|
-
border-color: var(--taskon-primary
|
|
930
|
+
border-color: var(--taskon-color-primary);
|
|
291
931
|
}
|
|
292
932
|
|
|
293
933
|
.taskon-pow-image-upload-area--disabled {
|
|
@@ -298,7 +938,7 @@
|
|
|
298
938
|
.taskon-pow-image-upload-icon {
|
|
299
939
|
width: 18px;
|
|
300
940
|
height: 18px;
|
|
301
|
-
color:
|
|
941
|
+
color: var(--taskon-color-text-tertiary);
|
|
302
942
|
}
|
|
303
943
|
|
|
304
944
|
.taskon-pow-image-upload-tip {
|
|
@@ -308,12 +948,12 @@
|
|
|
308
948
|
letter-spacing: 0.04em;
|
|
309
949
|
text-transform: uppercase;
|
|
310
950
|
white-space: pre-wrap;
|
|
311
|
-
color:
|
|
951
|
+
color: var(--taskon-color-text-tertiary);
|
|
312
952
|
}
|
|
313
953
|
|
|
314
954
|
.taskon-pow-image-preview {
|
|
315
|
-
border-radius:
|
|
316
|
-
margin:
|
|
955
|
+
border-radius: var(--taskon-border-radius-sm);
|
|
956
|
+
margin: var(--taskon-spacing-lg) 0;
|
|
317
957
|
max-width: 100%;
|
|
318
958
|
max-height: 300px;
|
|
319
959
|
}
|
|
@@ -327,7 +967,7 @@
|
|
|
327
967
|
align-items: center;
|
|
328
968
|
justify-content: center;
|
|
329
969
|
flex-direction: column;
|
|
330
|
-
background:
|
|
970
|
+
background: var(--taskon-color-bg-mask);
|
|
331
971
|
}
|
|
332
972
|
|
|
333
973
|
.taskon-pow-image-upload-area:hover .taskon-pow-image-mask,
|
|
@@ -336,11 +976,11 @@
|
|
|
336
976
|
}
|
|
337
977
|
|
|
338
978
|
.taskon-pow-image-mask .taskon-pow-image-upload-icon {
|
|
339
|
-
color:
|
|
979
|
+
color: var(--taskon-color-secondary);
|
|
340
980
|
}
|
|
341
981
|
|
|
342
982
|
.taskon-pow-image-mask .taskon-pow-image-upload-tip {
|
|
343
|
-
color:
|
|
983
|
+
color: var(--taskon-color-secondary);
|
|
344
984
|
opacity: 1;
|
|
345
985
|
}
|
|
346
986
|
|
|
@@ -351,14 +991,14 @@
|
|
|
351
991
|
right: 0;
|
|
352
992
|
bottom: 0;
|
|
353
993
|
left: 0;
|
|
354
|
-
background:
|
|
994
|
+
background: var(--taskon-color-bg-surface-strong);
|
|
355
995
|
height: 6px;
|
|
356
996
|
}
|
|
357
997
|
|
|
358
998
|
.taskon-pow-image-progress-fill {
|
|
359
|
-
background: var(--taskon-primary
|
|
999
|
+
background: var(--taskon-color-primary);
|
|
360
1000
|
height: 100%;
|
|
361
|
-
border-radius:
|
|
1001
|
+
border-radius: var(--taskon-border-radius-sm);
|
|
362
1002
|
transition: width 0.2s ease;
|
|
363
1003
|
}
|
|
364
1004
|
|
|
@@ -368,7 +1008,7 @@
|
|
|
368
1008
|
.taskon-pow-error {
|
|
369
1009
|
margin-top: 10px;
|
|
370
1010
|
font-size: 14px;
|
|
371
|
-
color:
|
|
1011
|
+
color: var(--taskon-color-error);
|
|
372
1012
|
}
|
|
373
1013
|
|
|
374
1014
|
/* ============================================
|
|
@@ -377,7 +1017,7 @@
|
|
|
377
1017
|
/* 与 Vue 版本 AverageReview.vue 样式一致 */
|
|
378
1018
|
.taskon-pow-review-time {
|
|
379
1019
|
margin-top: 10px;
|
|
380
|
-
color:
|
|
1020
|
+
color: var(--taskon-color-warning);
|
|
381
1021
|
font-size: 13px;
|
|
382
1022
|
font-weight: 500;
|
|
383
1023
|
line-height: 16px;
|
|
@@ -425,29 +1065,6 @@
|
|
|
425
1065
|
max-height: 32vw;
|
|
426
1066
|
}
|
|
427
1067
|
}
|
|
428
|
-
/**
|
|
429
|
-
* ContractInteractiveTask Styles
|
|
430
|
-
*/
|
|
431
|
-
|
|
432
|
-
.taskon-contract-task {
|
|
433
|
-
/* 继承 TaskCardBase 样式 */
|
|
434
|
-
}
|
|
435
|
-
|
|
436
|
-
.taskon-contract-desc {
|
|
437
|
-
font-size: 14px;
|
|
438
|
-
line-height: 21px;
|
|
439
|
-
color: rgba(255, 255, 255, 0.8);
|
|
440
|
-
word-break: break-word;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
.taskon-contract-desc a {
|
|
444
|
-
color: var(--taskon-primary-color, #3b82f6);
|
|
445
|
-
text-decoration: none;
|
|
446
|
-
}
|
|
447
|
-
|
|
448
|
-
.taskon-contract-desc a:hover {
|
|
449
|
-
text-decoration: underline;
|
|
450
|
-
}
|
|
451
1068
|
/* ============================================
|
|
452
1069
|
DynamicPoints Component Styles
|
|
453
1070
|
与 Vue 版本 BaseDynamicPoint.vue 样式一致
|
|
@@ -456,33 +1073,33 @@
|
|
|
456
1073
|
.taskon-dynamic-points {
|
|
457
1074
|
display: inline-flex;
|
|
458
1075
|
align-items: center;
|
|
459
|
-
gap:
|
|
460
|
-
padding:
|
|
461
|
-
background:
|
|
462
|
-
border-radius:
|
|
1076
|
+
gap: var(--taskon-spacing-sm);
|
|
1077
|
+
padding: var(--taskon-spacing-sm) var(--taskon-spacing-md);
|
|
1078
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
1079
|
+
border-radius: var(--taskon-border-radius);
|
|
463
1080
|
}
|
|
464
1081
|
|
|
465
1082
|
.taskon-dynamic-points-value-wrap {
|
|
466
1083
|
display: flex;
|
|
467
1084
|
align-items: center;
|
|
468
|
-
gap:
|
|
1085
|
+
gap: var(--taskon-spacing-sm);
|
|
469
1086
|
flex-shrink: 0;
|
|
470
1087
|
}
|
|
471
1088
|
|
|
472
1089
|
.taskon-dynamic-points-value {
|
|
473
1090
|
font-size: 16px;
|
|
474
1091
|
font-weight: 600;
|
|
475
|
-
color: var(--taskon-
|
|
1092
|
+
color: var(--taskon-color-text);
|
|
476
1093
|
}
|
|
477
1094
|
|
|
478
1095
|
.taskon-dynamic-points-value--highlight {
|
|
479
|
-
color:
|
|
1096
|
+
color: var(--taskon-color-secondary);
|
|
480
1097
|
}
|
|
481
1098
|
|
|
482
1099
|
.taskon-dynamic-points-max {
|
|
483
1100
|
font-size: 14px;
|
|
484
1101
|
font-weight: 500;
|
|
485
|
-
color: var(--taskon-
|
|
1102
|
+
color: var(--taskon-color-text-tertiary);
|
|
486
1103
|
text-transform: capitalize;
|
|
487
1104
|
}
|
|
488
1105
|
|
|
@@ -490,12 +1107,12 @@
|
|
|
490
1107
|
display: inline-flex;
|
|
491
1108
|
align-items: center;
|
|
492
1109
|
justify-content: center;
|
|
493
|
-
color: var(--taskon-
|
|
1110
|
+
color: var(--taskon-color-text-tertiary);
|
|
494
1111
|
cursor: pointer;
|
|
495
1112
|
}
|
|
496
1113
|
|
|
497
1114
|
.taskon-dynamic-points-info:hover {
|
|
498
|
-
color: var(--taskon-
|
|
1115
|
+
color: var(--taskon-color-text);
|
|
499
1116
|
}
|
|
500
1117
|
|
|
501
1118
|
.taskon-dynamic-points-refresh {
|
|
@@ -505,11 +1122,11 @@
|
|
|
505
1122
|
width: 24px;
|
|
506
1123
|
height: 24px;
|
|
507
1124
|
padding: 0;
|
|
508
|
-
margin-left:
|
|
1125
|
+
margin-left: var(--taskon-spacing-xs);
|
|
509
1126
|
background: transparent;
|
|
510
1127
|
border: none;
|
|
511
|
-
border-radius:
|
|
512
|
-
color:
|
|
1128
|
+
border-radius: var(--taskon-border-radius-sm);
|
|
1129
|
+
color: var(--taskon-color-link);
|
|
513
1130
|
cursor: pointer;
|
|
514
1131
|
transition: opacity 0.2s, transform 0.2s;
|
|
515
1132
|
}
|
|
@@ -524,7 +1141,7 @@
|
|
|
524
1141
|
}
|
|
525
1142
|
|
|
526
1143
|
.taskon-dynamic-points-refresh--animating {
|
|
527
|
-
filter: drop-shadow(0 0 4px
|
|
1144
|
+
filter: drop-shadow(0 0 4px var(--taskon-color-link));
|
|
528
1145
|
}
|
|
529
1146
|
|
|
530
1147
|
.taskon-dynamic-points-refresh-icon {
|
|
@@ -548,8 +1165,7 @@
|
|
|
548
1165
|
.taskon-dynamic-points-cooldown {
|
|
549
1166
|
font-size: 14px;
|
|
550
1167
|
font-weight: 500;
|
|
551
|
-
color:
|
|
552
|
-
font-family: Menlo, Consolas, "Liberation Mono", "Courier New", Courier, monospace;
|
|
1168
|
+
color: var(--taskon-color-link);
|
|
553
1169
|
}
|
|
554
1170
|
/**
|
|
555
1171
|
* SwapDexTask Styles
|
|
@@ -564,78 +1180,66 @@
|
|
|
564
1180
|
.taskon-swap-content {
|
|
565
1181
|
display: flex;
|
|
566
1182
|
flex-direction: column;
|
|
567
|
-
gap:
|
|
1183
|
+
gap: var(--taskon-spacing-md);
|
|
568
1184
|
}
|
|
569
1185
|
|
|
570
1186
|
/* Rules section - 动态积分规则区域 */
|
|
571
1187
|
.taskon-swap-rules-section {
|
|
572
1188
|
display: flex;
|
|
573
1189
|
flex-direction: column;
|
|
574
|
-
gap:
|
|
1190
|
+
gap: var(--taskon-spacing-sm);
|
|
575
1191
|
}
|
|
576
1192
|
|
|
577
1193
|
.taskon-swap-rules-title {
|
|
578
1194
|
font-size: 14px;
|
|
579
1195
|
font-weight: 500;
|
|
580
|
-
color:
|
|
581
|
-
margin-bottom:
|
|
1196
|
+
color: var(--taskon-color-text-tertiary);
|
|
1197
|
+
margin-bottom: var(--taskon-spacing-sm);
|
|
582
1198
|
}
|
|
583
1199
|
|
|
584
1200
|
.taskon-swap-rules-content {
|
|
585
1201
|
display: flex;
|
|
586
1202
|
flex-wrap: wrap;
|
|
587
1203
|
align-items: center;
|
|
588
|
-
gap:
|
|
589
|
-
padding:
|
|
590
|
-
border-radius:
|
|
591
|
-
background:
|
|
1204
|
+
gap: var(--taskon-spacing-xs);
|
|
1205
|
+
padding: var(--taskon-spacing-md);
|
|
1206
|
+
border-radius: var(--taskon-border-radius);
|
|
1207
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
592
1208
|
font-size: 14px;
|
|
593
1209
|
font-weight: 500;
|
|
594
|
-
color:
|
|
1210
|
+
color: var(--taskon-color-text-tertiary);
|
|
595
1211
|
}
|
|
596
1212
|
|
|
597
1213
|
.taskon-swap-rules-highlight {
|
|
598
|
-
color: var(--taskon-secondary
|
|
1214
|
+
color: var(--taskon-color-secondary);
|
|
599
1215
|
}
|
|
600
1216
|
|
|
601
1217
|
.taskon-swap-rules-point-name {
|
|
602
|
-
color:
|
|
1218
|
+
color: var(--taskon-color-text-secondary);
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
.taskon-swap-rules-max {
|
|
1222
|
+
color: var(--taskon-color-text-tertiary);
|
|
603
1223
|
}
|
|
604
1224
|
|
|
605
1225
|
/* Instructions section - 任务描述区域 */
|
|
606
1226
|
.taskon-swap-instructions-section {
|
|
607
1227
|
display: flex;
|
|
608
1228
|
flex-direction: column;
|
|
609
|
-
gap:
|
|
1229
|
+
gap: var(--taskon-spacing-sm);
|
|
610
1230
|
}
|
|
611
1231
|
|
|
612
1232
|
.taskon-swap-instructions-title {
|
|
613
1233
|
font-size: 14px;
|
|
614
1234
|
font-weight: 500;
|
|
615
|
-
color:
|
|
616
|
-
margin-bottom:
|
|
1235
|
+
color: var(--taskon-color-text-tertiary);
|
|
1236
|
+
margin-bottom: var(--taskon-spacing-sm);
|
|
617
1237
|
}
|
|
618
1238
|
|
|
619
1239
|
.taskon-swap-instructions-content {
|
|
620
|
-
padding:
|
|
621
|
-
border-radius:
|
|
622
|
-
background:
|
|
623
|
-
}
|
|
624
|
-
|
|
625
|
-
.taskon-swap-desc {
|
|
626
|
-
font-size: 14px;
|
|
627
|
-
line-height: 21px;
|
|
628
|
-
color: rgba(255, 255, 255, 0.8);
|
|
629
|
-
word-break: break-word;
|
|
630
|
-
}
|
|
631
|
-
|
|
632
|
-
.taskon-swap-desc a {
|
|
633
|
-
color: var(--taskon-primary-color, #3b82f6);
|
|
634
|
-
text-decoration: none;
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
.taskon-swap-desc a:hover {
|
|
638
|
-
text-decoration: underline;
|
|
1240
|
+
padding: var(--taskon-spacing-md);
|
|
1241
|
+
border-radius: var(--taskon-border-radius);
|
|
1242
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
639
1243
|
}
|
|
640
1244
|
/**
|
|
641
1245
|
* OuterPointAPITask Styles
|
|
@@ -646,35 +1250,18 @@
|
|
|
646
1250
|
/* 继承 TaskCardBase 样式 */
|
|
647
1251
|
}
|
|
648
1252
|
|
|
649
|
-
/* ==================== Description Area ==================== */
|
|
650
|
-
.taskon-outer-point-api-desc {
|
|
651
|
-
font-size: 14px;
|
|
652
|
-
line-height: 21px;
|
|
653
|
-
color: rgba(255, 255, 255, 0.8);
|
|
654
|
-
word-break: break-word;
|
|
655
|
-
}
|
|
656
|
-
|
|
657
|
-
.taskon-outer-point-api-desc a {
|
|
658
|
-
color: var(--taskon-primary-color, #3b82f6);
|
|
659
|
-
text-decoration: none;
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
.taskon-outer-point-api-desc a:hover {
|
|
663
|
-
text-decoration: underline;
|
|
664
|
-
}
|
|
665
|
-
|
|
666
1253
|
/* ==================== Customized Param Dialog ==================== */
|
|
667
1254
|
.taskon-outer-point-api-dialog {
|
|
668
1255
|
display: flex;
|
|
669
1256
|
flex-direction: column;
|
|
670
|
-
gap:
|
|
1257
|
+
gap: var(--taskon-spacing-md);
|
|
671
1258
|
}
|
|
672
1259
|
|
|
673
1260
|
/* Dialog title */
|
|
674
1261
|
.taskon-outer-point-api-dialog-title {
|
|
675
1262
|
font-size: 18px;
|
|
676
1263
|
font-weight: 600;
|
|
677
|
-
color:
|
|
1264
|
+
color: var(--taskon-color-text);
|
|
678
1265
|
margin: 0;
|
|
679
1266
|
}
|
|
680
1267
|
|
|
@@ -682,11 +1269,11 @@
|
|
|
682
1269
|
.taskon-outer-point-api-dialog-warning {
|
|
683
1270
|
display: flex;
|
|
684
1271
|
align-items: center;
|
|
685
|
-
gap:
|
|
686
|
-
padding:
|
|
687
|
-
border-radius:
|
|
688
|
-
background:
|
|
689
|
-
color:
|
|
1272
|
+
gap: var(--taskon-spacing-sm);
|
|
1273
|
+
padding: var(--taskon-spacing-md);
|
|
1274
|
+
border-radius: var(--taskon-border-radius);
|
|
1275
|
+
background: var(--taskon-color-warning-bg);
|
|
1276
|
+
color: var(--taskon-color-warning);
|
|
690
1277
|
font-size: 14px;
|
|
691
1278
|
line-height: 20px;
|
|
692
1279
|
}
|
|
@@ -701,29 +1288,30 @@
|
|
|
701
1288
|
.taskon-outer-point-api-dialog-desc {
|
|
702
1289
|
font-size: 14px;
|
|
703
1290
|
line-height: 20px;
|
|
704
|
-
color:
|
|
1291
|
+
color: var(--taskon-color-text-tertiary);
|
|
705
1292
|
}
|
|
706
1293
|
|
|
707
1294
|
/* Input area */
|
|
708
1295
|
.taskon-outer-point-api-dialog-input-wrap {
|
|
709
1296
|
display: flex;
|
|
710
1297
|
flex-direction: column;
|
|
711
|
-
gap:
|
|
1298
|
+
gap: var(--taskon-spacing-sm);
|
|
712
1299
|
}
|
|
713
1300
|
|
|
714
1301
|
.taskon-outer-point-api-dialog-label {
|
|
715
1302
|
font-size: 14px;
|
|
716
1303
|
font-weight: 500;
|
|
717
|
-
color:
|
|
1304
|
+
color: var(--taskon-color-text-secondary);
|
|
718
1305
|
}
|
|
719
1306
|
|
|
720
1307
|
.taskon-outer-point-api-dialog-input {
|
|
721
1308
|
width: 100%;
|
|
722
|
-
padding:
|
|
723
|
-
|
|
724
|
-
border:
|
|
725
|
-
|
|
726
|
-
|
|
1309
|
+
padding: var(--taskon-spacing-sm)
|
|
1310
|
+
var(--taskon-spacing-md);
|
|
1311
|
+
border-radius: var(--taskon-border-radius);
|
|
1312
|
+
border: 1px solid var(--taskon-color-border);
|
|
1313
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
1314
|
+
color: var(--taskon-color-text);
|
|
727
1315
|
font-size: 14px;
|
|
728
1316
|
line-height: 20px;
|
|
729
1317
|
outline: none;
|
|
@@ -732,33 +1320,33 @@
|
|
|
732
1320
|
}
|
|
733
1321
|
|
|
734
1322
|
.taskon-outer-point-api-dialog-input::placeholder {
|
|
735
|
-
color:
|
|
1323
|
+
color: var(--taskon-color-text-disabled);
|
|
736
1324
|
}
|
|
737
1325
|
|
|
738
1326
|
.taskon-outer-point-api-dialog-input:focus {
|
|
739
|
-
border-color: var(--taskon-primary
|
|
1327
|
+
border-color: var(--taskon-color-primary);
|
|
740
1328
|
}
|
|
741
1329
|
|
|
742
1330
|
.taskon-outer-point-api-dialog-input--error {
|
|
743
|
-
border-color:
|
|
1331
|
+
border-color: var(--taskon-color-error);
|
|
744
1332
|
}
|
|
745
1333
|
|
|
746
1334
|
.taskon-outer-point-api-dialog-error {
|
|
747
1335
|
font-size: 12px;
|
|
748
|
-
color:
|
|
1336
|
+
color: var(--taskon-color-error);
|
|
749
1337
|
}
|
|
750
1338
|
|
|
751
1339
|
/* Action buttons */
|
|
752
1340
|
.taskon-outer-point-api-dialog-actions {
|
|
753
1341
|
display: flex;
|
|
754
1342
|
justify-content: flex-end;
|
|
755
|
-
gap:
|
|
756
|
-
margin-top:
|
|
1343
|
+
gap: var(--taskon-spacing-md);
|
|
1344
|
+
margin-top: var(--taskon-spacing-sm);
|
|
757
1345
|
}
|
|
758
1346
|
|
|
759
1347
|
.taskon-outer-point-api-dialog-btn {
|
|
760
|
-
padding:
|
|
761
|
-
border-radius:
|
|
1348
|
+
padding: var(--taskon-spacing-sm) var(--taskon-spacing-lg);
|
|
1349
|
+
border-radius: var(--taskon-border-radius);
|
|
762
1350
|
font-size: 14px;
|
|
763
1351
|
font-weight: 500;
|
|
764
1352
|
cursor: pointer;
|
|
@@ -767,17 +1355,17 @@
|
|
|
767
1355
|
}
|
|
768
1356
|
|
|
769
1357
|
.taskon-outer-point-api-dialog-btn--cancel {
|
|
770
|
-
background:
|
|
771
|
-
color:
|
|
1358
|
+
background: var(--taskon-color-bg-surface-strong);
|
|
1359
|
+
color: var(--taskon-color-text-secondary);
|
|
772
1360
|
}
|
|
773
1361
|
|
|
774
1362
|
.taskon-outer-point-api-dialog-btn--cancel:hover {
|
|
775
|
-
background:
|
|
1363
|
+
background: var(--taskon-color-bg-inset);
|
|
776
1364
|
}
|
|
777
1365
|
|
|
778
1366
|
.taskon-outer-point-api-dialog-btn--confirm {
|
|
779
|
-
background: var(--taskon-primary
|
|
780
|
-
color:
|
|
1367
|
+
background: var(--taskon-color-primary);
|
|
1368
|
+
color: var(--taskon-color-text-on-primary);
|
|
781
1369
|
}
|
|
782
1370
|
|
|
783
1371
|
.taskon-outer-point-api-dialog-btn--confirm:hover {
|
|
@@ -795,41 +1383,6 @@
|
|
|
795
1383
|
* 命名规范:.taskon-task-{component}-{element}--{modifier}
|
|
796
1384
|
*/
|
|
797
1385
|
|
|
798
|
-
/* ============================================
|
|
799
|
-
CSS Variables (可被项目方覆盖)
|
|
800
|
-
============================================ */
|
|
801
|
-
:root {
|
|
802
|
-
/* Task card colors (dark theme, same as taskon-website) */
|
|
803
|
-
--taskon-task-bg: #1d2123;
|
|
804
|
-
--taskon-task-border: #1d2123;
|
|
805
|
-
--taskon-task-border-hover: #41494b;
|
|
806
|
-
--taskon-task-radius: 10px;
|
|
807
|
-
|
|
808
|
-
/* Text colors */
|
|
809
|
-
--taskon-task-text: #ffffff;
|
|
810
|
-
--taskon-task-text-secondary: #9ca3af;
|
|
811
|
-
--taskon-task-text-muted: #6b7280;
|
|
812
|
-
|
|
813
|
-
/* Status colors */
|
|
814
|
-
--taskon-color-primary: #3b82f6;
|
|
815
|
-
--taskon-color-success: #22c55e;
|
|
816
|
-
--taskon-color-warning: #f59e0b;
|
|
817
|
-
--taskon-color-error: #ef4444;
|
|
818
|
-
|
|
819
|
-
/* Recurrence badge color */
|
|
820
|
-
--taskon-recurrence-color: #9aff73;
|
|
821
|
-
|
|
822
|
-
/* Spacing */
|
|
823
|
-
--taskon-task-spacing-xs: 4px;
|
|
824
|
-
--taskon-task-spacing-sm: 8px;
|
|
825
|
-
--taskon-task-spacing-md: 12px;
|
|
826
|
-
--taskon-task-spacing-lg: 16px;
|
|
827
|
-
--taskon-task-spacing-xl: 24px;
|
|
828
|
-
|
|
829
|
-
/* Transitions */
|
|
830
|
-
--taskon-task-transition: 0.2s ease;
|
|
831
|
-
}
|
|
832
|
-
|
|
833
1386
|
/* ============================================
|
|
834
1387
|
TaskList Styles
|
|
835
1388
|
与 Vue 版本 TaskList.vue + TaskType.vue 一致
|
|
@@ -837,12 +1390,12 @@
|
|
|
837
1390
|
.taskon-task-list {
|
|
838
1391
|
display: flex;
|
|
839
1392
|
flex-direction: column;
|
|
840
|
-
gap: var(--taskon-
|
|
1393
|
+
gap: var(--taskon-spacing-md);
|
|
841
1394
|
}
|
|
842
1395
|
|
|
843
1396
|
/* Progress section */
|
|
844
1397
|
.taskon-task-list-progress-wrap {
|
|
845
|
-
margin-bottom: var(--taskon-
|
|
1398
|
+
margin-bottom: var(--taskon-spacing-sm);
|
|
846
1399
|
}
|
|
847
1400
|
|
|
848
1401
|
/* Section styles */
|
|
@@ -869,17 +1422,17 @@
|
|
|
869
1422
|
font-size: 22px;
|
|
870
1423
|
font-weight: 600;
|
|
871
1424
|
line-height: 21px;
|
|
872
|
-
color: var(--taskon-
|
|
1425
|
+
color: var(--taskon-color-text);
|
|
873
1426
|
}
|
|
874
1427
|
|
|
875
1428
|
.taskon-task-list-section-hint {
|
|
876
1429
|
font-size: 14px;
|
|
877
|
-
color:
|
|
1430
|
+
color: var(--taskon-color-text-tertiary);
|
|
878
1431
|
}
|
|
879
1432
|
|
|
880
1433
|
.taskon-task-list-section-hint-em {
|
|
881
1434
|
font-weight: 600;
|
|
882
|
-
color:
|
|
1435
|
+
color: var(--taskon-color-secondary);
|
|
883
1436
|
}
|
|
884
1437
|
|
|
885
1438
|
.taskon-task-list-items {
|
|
@@ -895,9 +1448,9 @@
|
|
|
895
1448
|
|
|
896
1449
|
/* Empty state */
|
|
897
1450
|
.taskon-task-list-empty {
|
|
898
|
-
padding: var(--taskon-
|
|
1451
|
+
padding: var(--taskon-spacing-lg);
|
|
899
1452
|
text-align: center;
|
|
900
|
-
color: var(--taskon-
|
|
1453
|
+
color: var(--taskon-color-text-disabled);
|
|
901
1454
|
}
|
|
902
1455
|
|
|
903
1456
|
/* Mobile responsive */
|
|
@@ -945,12 +1498,12 @@
|
|
|
945
1498
|
.taskon-task-progress {
|
|
946
1499
|
display: flex;
|
|
947
1500
|
flex-direction: column;
|
|
948
|
-
gap: var(--taskon-
|
|
1501
|
+
gap: var(--taskon-spacing-sm);
|
|
949
1502
|
}
|
|
950
1503
|
|
|
951
1504
|
.taskon-task-progress-bar {
|
|
952
1505
|
height: 6px;
|
|
953
|
-
background:
|
|
1506
|
+
background: var(--taskon-color-bg-surface-strong);
|
|
954
1507
|
border-radius: 3px;
|
|
955
1508
|
overflow: hidden;
|
|
956
1509
|
}
|
|
@@ -959,7 +1512,7 @@
|
|
|
959
1512
|
height: 100%;
|
|
960
1513
|
background: var(--taskon-color-primary);
|
|
961
1514
|
border-radius: 3px;
|
|
962
|
-
transition: width
|
|
1515
|
+
transition: width 0.2s ease;
|
|
963
1516
|
}
|
|
964
1517
|
|
|
965
1518
|
.taskon-task-progress--completed .taskon-task-progress-bar-fill {
|
|
@@ -969,9 +1522,9 @@
|
|
|
969
1522
|
.taskon-task-progress-text {
|
|
970
1523
|
display: flex;
|
|
971
1524
|
align-items: center;
|
|
972
|
-
gap: var(--taskon-
|
|
1525
|
+
gap: var(--taskon-spacing-xs);
|
|
973
1526
|
font-size: 13px;
|
|
974
|
-
color: var(--taskon-
|
|
1527
|
+
color: var(--taskon-color-text-tertiary);
|
|
975
1528
|
}
|
|
976
1529
|
|
|
977
1530
|
.taskon-task-progress--completed .taskon-task-progress-text {
|
|
@@ -990,14 +1543,14 @@
|
|
|
990
1543
|
.taskon-task-item {
|
|
991
1544
|
position: relative;
|
|
992
1545
|
padding: 16px 20px;
|
|
993
|
-
background: var(--taskon-
|
|
994
|
-
border-radius: var(--taskon-
|
|
995
|
-
border: 1px solid var(--taskon-
|
|
996
|
-
transition: border-color
|
|
1546
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
1547
|
+
border-radius: var(--taskon-border-radius-lg);
|
|
1548
|
+
border: 1px solid var(--taskon-color-border-secondary);
|
|
1549
|
+
transition: border-color 0.2s ease;
|
|
997
1550
|
}
|
|
998
1551
|
|
|
999
1552
|
.taskon-task-item:hover {
|
|
1000
|
-
border-color: var(--taskon-
|
|
1553
|
+
border-color: var(--taskon-color-border);
|
|
1001
1554
|
}
|
|
1002
1555
|
|
|
1003
1556
|
/* ============================================
|
|
@@ -1015,7 +1568,7 @@
|
|
|
1015
1568
|
width: 78px;
|
|
1016
1569
|
height: 20px;
|
|
1017
1570
|
/* 文字样式 */
|
|
1018
|
-
color: var(--taskon-
|
|
1571
|
+
color: var(--taskon-color-primary);
|
|
1019
1572
|
font-size: 12px;
|
|
1020
1573
|
line-height: 16px;
|
|
1021
1574
|
font-weight: 500;
|
|
@@ -1027,7 +1580,7 @@
|
|
|
1027
1580
|
|
|
1028
1581
|
/* 冷却倒计时样式 - 继承标签样式 */
|
|
1029
1582
|
.taskon-task-item-recurrence .taskon-cooldown-timer {
|
|
1030
|
-
color: var(--taskon-
|
|
1583
|
+
color: var(--taskon-color-primary);
|
|
1031
1584
|
font-size: 12px;
|
|
1032
1585
|
line-height: 16px;
|
|
1033
1586
|
font-weight: 500;
|
|
@@ -1055,7 +1608,7 @@
|
|
|
1055
1608
|
align-items: center;
|
|
1056
1609
|
justify-content: center;
|
|
1057
1610
|
margin-right: 16px;
|
|
1058
|
-
color: var(--taskon-
|
|
1611
|
+
color: var(--taskon-color-text-tertiary);
|
|
1059
1612
|
}
|
|
1060
1613
|
|
|
1061
1614
|
.taskon-task-item--completed .taskon-task-item-icon {
|
|
@@ -1073,16 +1626,16 @@
|
|
|
1073
1626
|
display: inline;
|
|
1074
1627
|
font-size: 18px;
|
|
1075
1628
|
font-weight: 500;
|
|
1076
|
-
color: var(--taskon-
|
|
1629
|
+
color: var(--taskon-color-text);
|
|
1077
1630
|
line-height: 23px;
|
|
1078
1631
|
overflow-wrap: break-word;
|
|
1079
1632
|
}
|
|
1080
1633
|
|
|
1081
1634
|
/* Title as link - 参考 Vue 版本 TitleRow.vue 的 OutLink 样式 */
|
|
1082
1635
|
.taskon-task-item-title--link {
|
|
1083
|
-
color:
|
|
1636
|
+
color: var(--taskon-color-link);
|
|
1084
1637
|
text-decoration: underline;
|
|
1085
|
-
transition: opacity
|
|
1638
|
+
transition: opacity 0.2s ease;
|
|
1086
1639
|
}
|
|
1087
1640
|
|
|
1088
1641
|
.taskon-task-item-title--link:hover {
|
|
@@ -1090,14 +1643,14 @@
|
|
|
1090
1643
|
}
|
|
1091
1644
|
|
|
1092
1645
|
.taskon-task-item--completed .taskon-task-item-title {
|
|
1093
|
-
color: var(--taskon-
|
|
1646
|
+
color: var(--taskon-color-text-tertiary);
|
|
1094
1647
|
}
|
|
1095
1648
|
|
|
1096
1649
|
/* Links in title - 统一蓝色加下划线样式 */
|
|
1097
1650
|
.taskon-task-item-link {
|
|
1098
|
-
color:
|
|
1651
|
+
color: var(--taskon-color-link);
|
|
1099
1652
|
text-decoration: underline;
|
|
1100
|
-
transition: opacity
|
|
1653
|
+
transition: opacity 0.2s ease;
|
|
1101
1654
|
}
|
|
1102
1655
|
|
|
1103
1656
|
.taskon-task-item-link:hover {
|
|
@@ -1110,20 +1663,20 @@
|
|
|
1110
1663
|
align-items: center;
|
|
1111
1664
|
justify-content: center;
|
|
1112
1665
|
margin-left: 6px;
|
|
1113
|
-
color:
|
|
1666
|
+
color: var(--taskon-color-text-disabled);
|
|
1114
1667
|
cursor: help;
|
|
1115
1668
|
flex-shrink: 0;
|
|
1116
1669
|
}
|
|
1117
1670
|
|
|
1118
1671
|
.taskon-task-item-title-tip:hover {
|
|
1119
|
-
color:
|
|
1672
|
+
color: var(--taskon-color-text-tertiary);
|
|
1120
1673
|
}
|
|
1121
1674
|
|
|
1122
1675
|
/* Right section: Points + Total + Verify */
|
|
1123
1676
|
.taskon-task-item-right {
|
|
1124
1677
|
display: flex;
|
|
1125
1678
|
align-items: center;
|
|
1126
|
-
gap: var(--taskon-
|
|
1679
|
+
gap: var(--taskon-spacing-md);
|
|
1127
1680
|
flex-shrink: 0;
|
|
1128
1681
|
margin-left: 10px;
|
|
1129
1682
|
}
|
|
@@ -1137,24 +1690,24 @@
|
|
|
1137
1690
|
align-items: center;
|
|
1138
1691
|
justify-content: center;
|
|
1139
1692
|
gap: 2px;
|
|
1140
|
-
background:
|
|
1693
|
+
background: var(--taskon-color-bg-surface-subtle);
|
|
1141
1694
|
border-radius: 6px;
|
|
1142
1695
|
font-size: 16px;
|
|
1143
1696
|
font-weight: 500;
|
|
1144
1697
|
}
|
|
1145
1698
|
|
|
1146
1699
|
.taskon-task-item-points-value {
|
|
1147
|
-
color:
|
|
1700
|
+
color: var(--taskon-color-text);
|
|
1148
1701
|
}
|
|
1149
1702
|
|
|
1150
1703
|
/* Points value when task is completed - green color like Vue version */
|
|
1151
1704
|
.taskon-task-item-points-value--completed {
|
|
1152
|
-
color:
|
|
1705
|
+
color: var(--taskon-color-secondary);
|
|
1153
1706
|
}
|
|
1154
1707
|
|
|
1155
1708
|
.taskon-task-item-points-time {
|
|
1156
1709
|
font-size: 12px;
|
|
1157
|
-
color:
|
|
1710
|
+
color: var(--taskon-color-text-tertiary);
|
|
1158
1711
|
}
|
|
1159
1712
|
|
|
1160
1713
|
/* Tip icon next to points (margin controlled externally) */
|
|
@@ -1165,7 +1718,7 @@
|
|
|
1165
1718
|
/* Total points */
|
|
1166
1719
|
.taskon-task-item-total-points {
|
|
1167
1720
|
font-size: 12px;
|
|
1168
|
-
color: var(--taskon-
|
|
1721
|
+
color: var(--taskon-color-text-disabled);
|
|
1169
1722
|
}
|
|
1170
1723
|
|
|
1171
1724
|
/* ============================================
|
|
@@ -1178,12 +1731,12 @@
|
|
|
1178
1731
|
}
|
|
1179
1732
|
|
|
1180
1733
|
.taskon-task-item-total-earn-text {
|
|
1181
|
-
color:
|
|
1734
|
+
color: var(--taskon-color-text-tertiary);
|
|
1182
1735
|
font-size: 14px;
|
|
1183
1736
|
}
|
|
1184
1737
|
|
|
1185
1738
|
.taskon-task-item-total-earn-value {
|
|
1186
|
-
color:
|
|
1739
|
+
color: var(--taskon-color-primary);
|
|
1187
1740
|
font-size: 14px;
|
|
1188
1741
|
margin: 0 4px;
|
|
1189
1742
|
}
|
|
@@ -1199,124 +1752,45 @@
|
|
|
1199
1752
|
.taskon-task-item-content {
|
|
1200
1753
|
display: flex;
|
|
1201
1754
|
flex-direction: column;
|
|
1202
|
-
gap: var(--taskon-
|
|
1755
|
+
gap: var(--taskon-spacing-md);
|
|
1203
1756
|
}
|
|
1204
1757
|
|
|
1205
1758
|
.taskon-task-item-desc {
|
|
1206
1759
|
font-size: 14px;
|
|
1207
1760
|
line-height: 21px;
|
|
1208
|
-
color: var(--taskon-
|
|
1209
|
-
word-break: break-all;
|
|
1210
|
-
white-space: pre-wrap;
|
|
1211
|
-
}
|
|
1212
|
-
|
|
1213
|
-
.taskon-task-item-desc span {
|
|
1214
|
-
color: var(--taskon-task-text);
|
|
1215
|
-
word-break: break-all;
|
|
1216
|
-
}
|
|
1217
|
-
|
|
1218
|
-
/* Rich text content - 参考 Vue 版本 TextPreview.vue */
|
|
1219
|
-
.taskon-task-item-rich-text {
|
|
1220
|
-
font-size: 14px;
|
|
1221
|
-
line-height: 21px;
|
|
1222
|
-
color: var(--taskon-task-text-secondary);
|
|
1761
|
+
color: var(--taskon-color-text-tertiary);
|
|
1223
1762
|
word-break: break-word;
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
.taskon-task-item-rich-text p {
|
|
1227
|
-
margin: 0 0 0.5em 0;
|
|
1228
|
-
}
|
|
1229
|
-
|
|
1230
|
-
.taskon-task-item-rich-text p:last-child {
|
|
1231
|
-
margin-bottom: 0;
|
|
1232
|
-
}
|
|
1233
|
-
|
|
1234
|
-
.taskon-task-item-rich-text a {
|
|
1235
|
-
color: #54aeff;
|
|
1236
|
-
text-decoration: underline;
|
|
1237
|
-
}
|
|
1238
|
-
|
|
1239
|
-
.taskon-task-item-rich-text a:hover {
|
|
1240
|
-
opacity: 0.8;
|
|
1241
|
-
}
|
|
1242
|
-
|
|
1243
|
-
.taskon-task-item-rich-text strong,
|
|
1244
|
-
.taskon-task-item-rich-text b {
|
|
1245
|
-
font-weight: 600;
|
|
1246
|
-
color: var(--taskon-task-text);
|
|
1247
|
-
}
|
|
1248
|
-
|
|
1249
|
-
.taskon-task-item-rich-text em,
|
|
1250
|
-
.taskon-task-item-rich-text i {
|
|
1251
|
-
font-style: italic;
|
|
1252
|
-
}
|
|
1253
|
-
|
|
1254
|
-
.taskon-task-item-rich-text ul,
|
|
1255
|
-
.taskon-task-item-rich-text ol {
|
|
1256
|
-
margin: 0.5em 0;
|
|
1257
|
-
padding-left: 1.5em;
|
|
1258
|
-
}
|
|
1259
|
-
|
|
1260
|
-
.taskon-task-item-rich-text li {
|
|
1261
|
-
margin: 0.25em 0;
|
|
1262
|
-
}
|
|
1263
|
-
|
|
1264
|
-
.taskon-task-item-rich-text code {
|
|
1265
|
-
background: rgba(255, 255, 255, 0.1);
|
|
1266
|
-
padding: 0.2em 0.4em;
|
|
1267
|
-
border-radius: 3px;
|
|
1268
|
-
font-size: 0.9em;
|
|
1269
|
-
}
|
|
1270
|
-
|
|
1271
|
-
.taskon-task-item-rich-text pre {
|
|
1272
|
-
background: rgba(255, 255, 255, 0.05);
|
|
1273
|
-
padding: 0.75em 1em;
|
|
1274
|
-
border-radius: 6px;
|
|
1275
|
-
overflow-x: auto;
|
|
1276
|
-
margin: 0.5em 0;
|
|
1277
|
-
}
|
|
1278
|
-
|
|
1279
|
-
.taskon-task-item-rich-text blockquote {
|
|
1280
|
-
border-left: 3px solid var(--taskon-color-primary);
|
|
1281
|
-
padding-left: 1em;
|
|
1282
|
-
margin: 0.5em 0;
|
|
1283
|
-
color: var(--taskon-task-text-muted);
|
|
1284
|
-
}
|
|
1285
|
-
|
|
1286
|
-
.taskon-task-item-rich-text img {
|
|
1287
|
-
max-width: 100%;
|
|
1288
|
-
height: auto;
|
|
1289
|
-
border-radius: 6px;
|
|
1763
|
+
white-space: pre-wrap;
|
|
1290
1764
|
}
|
|
1291
1765
|
|
|
1292
1766
|
/* Description fields */
|
|
1293
1767
|
.taskon-task-item-fields {
|
|
1294
1768
|
display: flex;
|
|
1295
1769
|
flex-direction: column;
|
|
1296
|
-
gap: var(--taskon-
|
|
1770
|
+
gap: var(--taskon-spacing-xs);
|
|
1297
1771
|
}
|
|
1298
1772
|
|
|
1299
1773
|
.taskon-task-item-field {
|
|
1300
1774
|
display: flex;
|
|
1301
1775
|
align-items: baseline;
|
|
1302
|
-
gap: var(--taskon-
|
|
1776
|
+
gap: var(--taskon-spacing-sm);
|
|
1303
1777
|
font-size: 13px;
|
|
1304
1778
|
}
|
|
1305
1779
|
|
|
1306
1780
|
.taskon-task-item-field-key {
|
|
1307
|
-
color: var(--taskon-
|
|
1781
|
+
color: var(--taskon-color-text-disabled);
|
|
1308
1782
|
flex-shrink: 0;
|
|
1309
1783
|
}
|
|
1310
1784
|
|
|
1311
1785
|
.taskon-task-item-field-value {
|
|
1312
|
-
color: var(--taskon-
|
|
1786
|
+
color: var(--taskon-color-text);
|
|
1313
1787
|
word-break: break-all;
|
|
1314
1788
|
}
|
|
1315
1789
|
|
|
1316
1790
|
.taskon-task-item-field-value--link {
|
|
1317
|
-
color:
|
|
1791
|
+
color: var(--taskon-color-link);
|
|
1318
1792
|
text-decoration: underline;
|
|
1319
|
-
transition: opacity
|
|
1793
|
+
transition: opacity 0.2s ease;
|
|
1320
1794
|
}
|
|
1321
1795
|
|
|
1322
1796
|
.taskon-task-item-field-value--link:hover {
|
|
@@ -1327,21 +1801,21 @@
|
|
|
1327
1801
|
.taskon-task-item-action-link {
|
|
1328
1802
|
display: inline-flex;
|
|
1329
1803
|
align-items: center;
|
|
1330
|
-
padding: var(--taskon-
|
|
1804
|
+
padding: var(--taskon-spacing-sm) var(--taskon-spacing-md);
|
|
1331
1805
|
font-size: 13px;
|
|
1332
1806
|
font-weight: 500;
|
|
1333
1807
|
color: var(--taskon-color-primary);
|
|
1334
1808
|
background: transparent;
|
|
1335
1809
|
border: 1px solid var(--taskon-color-primary);
|
|
1336
|
-
border-radius:
|
|
1810
|
+
border-radius: var(--taskon-border-radius);
|
|
1337
1811
|
text-decoration: none;
|
|
1338
|
-
transition: all
|
|
1812
|
+
transition: all 0.2s ease;
|
|
1339
1813
|
align-self: flex-start;
|
|
1340
1814
|
}
|
|
1341
1815
|
|
|
1342
1816
|
.taskon-task-item-action-link:hover {
|
|
1343
1817
|
background: var(--taskon-color-primary);
|
|
1344
|
-
color:
|
|
1818
|
+
color: var(--taskon-color-text-on-primary);
|
|
1345
1819
|
}
|
|
1346
1820
|
|
|
1347
1821
|
/* Spinner animation */
|
|
@@ -1379,7 +1853,7 @@
|
|
|
1379
1853
|
.taskon-cooldown-timer {
|
|
1380
1854
|
display: inline-flex;
|
|
1381
1855
|
align-items: center;
|
|
1382
|
-
gap: var(--taskon-
|
|
1856
|
+
gap: var(--taskon-spacing-xs);
|
|
1383
1857
|
font-size: 13px;
|
|
1384
1858
|
color: var(--taskon-color-warning);
|
|
1385
1859
|
}
|
|
@@ -1391,24 +1865,24 @@
|
|
|
1391
1865
|
display: inline-flex;
|
|
1392
1866
|
align-items: center;
|
|
1393
1867
|
justify-content: center;
|
|
1394
|
-
gap:
|
|
1868
|
+
gap: var(--taskon-spacing-xs);
|
|
1395
1869
|
height: 34px;
|
|
1396
|
-
padding: 0
|
|
1870
|
+
padding: 0 var(--taskon-spacing-md);
|
|
1397
1871
|
font-size: 14px;
|
|
1398
1872
|
font-weight: 500;
|
|
1399
1873
|
line-height: 20px;
|
|
1400
|
-
color:
|
|
1874
|
+
color: var(--taskon-color-text);
|
|
1401
1875
|
background: transparent;
|
|
1402
|
-
border: 1px solid
|
|
1403
|
-
border-radius:
|
|
1876
|
+
border: 1px solid var(--taskon-color-border);
|
|
1877
|
+
border-radius: var(--taskon-border-radius);
|
|
1404
1878
|
cursor: pointer;
|
|
1405
|
-
transition: all
|
|
1879
|
+
transition: all 0.2s ease;
|
|
1406
1880
|
white-space: nowrap;
|
|
1407
1881
|
flex-shrink: 0;
|
|
1408
1882
|
}
|
|
1409
1883
|
|
|
1410
1884
|
.taskon-verify-btn:hover:not(:disabled) {
|
|
1411
|
-
border-color:
|
|
1885
|
+
border-color: var(--taskon-color-text-disabled);
|
|
1412
1886
|
}
|
|
1413
1887
|
|
|
1414
1888
|
.taskon-verify-btn:disabled {
|
|
@@ -1441,16 +1915,16 @@
|
|
|
1441
1915
|
.taskon-expandable-toggle {
|
|
1442
1916
|
display: inline-flex;
|
|
1443
1917
|
align-items: center;
|
|
1444
|
-
gap:
|
|
1918
|
+
gap: var(--taskon-spacing-xs);
|
|
1445
1919
|
padding: 0;
|
|
1446
|
-
margin-top:
|
|
1920
|
+
margin-top: var(--taskon-spacing-sm);
|
|
1447
1921
|
font-size: 13px;
|
|
1448
1922
|
font-weight: 500;
|
|
1449
|
-
color:
|
|
1923
|
+
color: var(--taskon-color-text);
|
|
1450
1924
|
background: transparent;
|
|
1451
1925
|
border: none;
|
|
1452
1926
|
cursor: pointer;
|
|
1453
|
-
transition: opacity
|
|
1927
|
+
transition: opacity 0.2s ease;
|
|
1454
1928
|
align-self: flex-start;
|
|
1455
1929
|
}
|
|
1456
1930
|
|
|
@@ -1463,7 +1937,7 @@
|
|
|
1463
1937
|
}
|
|
1464
1938
|
|
|
1465
1939
|
.taskon-expandable-toggle-icon {
|
|
1466
|
-
transition: transform
|
|
1940
|
+
transition: transform 0.2s ease;
|
|
1467
1941
|
flex-shrink: 0;
|
|
1468
1942
|
}
|
|
1469
1943
|
|
|
@@ -1532,12 +2006,12 @@
|
|
|
1532
2006
|
}
|
|
1533
2007
|
|
|
1534
2008
|
.taskon-task-time-range-label {
|
|
1535
|
-
color: var(--taskon-
|
|
2009
|
+
color: var(--taskon-color-text-tertiary);
|
|
1536
2010
|
}
|
|
1537
2011
|
|
|
1538
2012
|
.taskon-task-time-range-value {
|
|
1539
2013
|
display: inline-block;
|
|
1540
|
-
color:
|
|
2014
|
+
color: var(--taskon-color-warning);
|
|
1541
2015
|
}
|
|
1542
2016
|
|
|
1543
2017
|
/* ============================================
|
|
@@ -1548,7 +2022,7 @@
|
|
|
1548
2022
|
position: relative;
|
|
1549
2023
|
display: inline-block;
|
|
1550
2024
|
overflow: hidden;
|
|
1551
|
-
border-radius:
|
|
2025
|
+
border-radius: var(--taskon-border-radius);
|
|
1552
2026
|
}
|
|
1553
2027
|
|
|
1554
2028
|
.taskon-verify-btn-progress {
|
|
@@ -1561,8 +2035,35 @@
|
|
|
1561
2035
|
|
|
1562
2036
|
.taskon-verify-btn-progress-bar {
|
|
1563
2037
|
height: 100%;
|
|
1564
|
-
border-radius:
|
|
1565
|
-
background: linear-gradient(
|
|
2038
|
+
border-radius: var(--taskon-border-radius);
|
|
2039
|
+
background: linear-gradient(
|
|
2040
|
+
to right,
|
|
2041
|
+
var(--taskon-color-primary),
|
|
2042
|
+
var(--taskon-color-secondary)
|
|
2043
|
+
);
|
|
2044
|
+
}
|
|
2045
|
+
/**
|
|
2046
|
+
* RewardModuleDialog styles
|
|
2047
|
+
* Scope UserCenter module styles inside Quest popup
|
|
2048
|
+
*/
|
|
2049
|
+
|
|
2050
|
+
.taskon-quest-reward-dialog .taskon-user-center {
|
|
2051
|
+
padding: 32px 0 0 0;
|
|
2052
|
+
background: transparent;
|
|
2053
|
+
border-radius: 0;
|
|
2054
|
+
gap: 24px;
|
|
2055
|
+
}
|
|
2056
|
+
|
|
2057
|
+
.taskon-quest-reward-dialog .taskon-my-rewards {
|
|
2058
|
+
gap: 24px;
|
|
2059
|
+
}
|
|
2060
|
+
|
|
2061
|
+
.taskon-quest-reward-dialog .taskon-my-rewards__section {
|
|
2062
|
+
gap: 16px;
|
|
2063
|
+
}
|
|
2064
|
+
|
|
2065
|
+
.taskon-quest-reward-dialog .taskon-points-list {
|
|
2066
|
+
background: transparent;
|
|
1566
2067
|
}
|
|
1567
2068
|
/**
|
|
1568
2069
|
* BlindBox 盲盒组件样式
|
|
@@ -1895,10 +2396,6 @@
|
|
|
1895
2396
|
/**
|
|
1896
2397
|
* Eligibility (资格验证) 组件样式
|
|
1897
2398
|
* @description Standalone CSS for EligibilityInfo component, usable in any widget context.
|
|
1898
|
-
*
|
|
1899
|
-
* CSS variable fallbacks ensure correct rendering even outside Quest widget
|
|
1900
|
-
* (e.g., when used in TaskChain). When rendered inside .taskon-quest,
|
|
1901
|
-
* the Quest-defined variables take precedence.
|
|
1902
2399
|
*/
|
|
1903
2400
|
|
|
1904
2401
|
/* ============================================================================
|
|
@@ -1908,7 +2405,7 @@
|
|
|
1908
2405
|
.taskon-quest-eligs {
|
|
1909
2406
|
margin-top: 25px;
|
|
1910
2407
|
padding: 0 18px;
|
|
1911
|
-
border: 1px solid var(--taskon-
|
|
2408
|
+
border: 1px solid var(--taskon-color-border);
|
|
1912
2409
|
border-radius: 10px;
|
|
1913
2410
|
}
|
|
1914
2411
|
|
|
@@ -1919,10 +2416,10 @@
|
|
|
1919
2416
|
|
|
1920
2417
|
@keyframes taskon-quest-eligs-glow {
|
|
1921
2418
|
0% {
|
|
1922
|
-
border-color: var(--taskon-
|
|
2419
|
+
border-color: var(--taskon-color-border);
|
|
1923
2420
|
}
|
|
1924
2421
|
100% {
|
|
1925
|
-
border-color:
|
|
2422
|
+
border-color: var(--taskon-color-primary);
|
|
1926
2423
|
}
|
|
1927
2424
|
}
|
|
1928
2425
|
|
|
@@ -1953,12 +2450,12 @@
|
|
|
1953
2450
|
/* 头部文本 */
|
|
1954
2451
|
.taskon-quest-eligs-header-text {
|
|
1955
2452
|
flex: 1;
|
|
1956
|
-
color: var(--taskon-
|
|
2453
|
+
color: var(--taskon-color-text);
|
|
1957
2454
|
}
|
|
1958
2455
|
|
|
1959
2456
|
/* 高亮表达式 (all/any) */
|
|
1960
2457
|
.taskon-quest-eligs-header-express {
|
|
1961
|
-
color: var(--taskon-
|
|
2458
|
+
color: var(--taskon-color-secondary);
|
|
1962
2459
|
}
|
|
1963
2460
|
|
|
1964
2461
|
/* ============================================================================
|
|
@@ -1974,16 +2471,16 @@
|
|
|
1974
2471
|
padding: 0;
|
|
1975
2472
|
margin-left: auto;
|
|
1976
2473
|
background: transparent;
|
|
1977
|
-
border: 1px solid var(--taskon-
|
|
2474
|
+
border: 1px solid var(--taskon-color-border);
|
|
1978
2475
|
border-radius: 6px;
|
|
1979
|
-
color: var(--taskon-
|
|
2476
|
+
color: var(--taskon-color-text-secondary);
|
|
1980
2477
|
cursor: pointer;
|
|
1981
2478
|
transition: all 0.2s;
|
|
1982
2479
|
}
|
|
1983
2480
|
|
|
1984
2481
|
.taskon-quest-eligs-refresh:hover:not(:disabled) {
|
|
1985
|
-
border-color: var(--taskon-
|
|
1986
|
-
color: var(--taskon-
|
|
2482
|
+
border-color: var(--taskon-color-text-tertiary);
|
|
2483
|
+
color: var(--taskon-color-text);
|
|
1987
2484
|
}
|
|
1988
2485
|
|
|
1989
2486
|
.taskon-quest-eligs-refresh:disabled {
|
|
@@ -2009,7 +2506,7 @@
|
|
|
2009
2506
|
flex-shrink: 0;
|
|
2010
2507
|
width: 6px;
|
|
2011
2508
|
height: 10px;
|
|
2012
|
-
color: var(--taskon-
|
|
2509
|
+
color: var(--taskon-color-text-secondary);
|
|
2013
2510
|
transform: rotate(90deg);
|
|
2014
2511
|
transition: transform 0.3s;
|
|
2015
2512
|
}
|
|
@@ -2027,7 +2524,7 @@
|
|
|
2027
2524
|
padding: 20px 0;
|
|
2028
2525
|
margin: 0;
|
|
2029
2526
|
list-style: none;
|
|
2030
|
-
border-top: 1px solid var(--taskon-
|
|
2527
|
+
border-top: 1px solid var(--taskon-color-border);
|
|
2031
2528
|
}
|
|
2032
2529
|
|
|
2033
2530
|
/* 单项 */
|
|
@@ -2065,12 +2562,28 @@
|
|
|
2065
2562
|
opacity: 1;
|
|
2066
2563
|
}
|
|
2067
2564
|
|
|
2565
|
+
.taskon-quest-eligs-item-icon--passed {
|
|
2566
|
+
color: var(--taskon-color-success);
|
|
2567
|
+
}
|
|
2568
|
+
|
|
2569
|
+
.taskon-quest-eligs-item-icon--failed {
|
|
2570
|
+
color: var(--taskon-color-error);
|
|
2571
|
+
}
|
|
2572
|
+
|
|
2573
|
+
.taskon-quest-eligs-header-status--passed {
|
|
2574
|
+
color: var(--taskon-color-success);
|
|
2575
|
+
}
|
|
2576
|
+
|
|
2577
|
+
.taskon-quest-eligs-header-status--failed {
|
|
2578
|
+
color: var(--taskon-color-error);
|
|
2579
|
+
}
|
|
2580
|
+
|
|
2068
2581
|
/* 内容区 */
|
|
2069
2582
|
.taskon-quest-eligs-item-content {
|
|
2070
2583
|
flex: 1;
|
|
2071
2584
|
font-size: 14px;
|
|
2072
2585
|
line-height: 18px;
|
|
2073
|
-
color: var(--taskon-
|
|
2586
|
+
color: var(--taskon-color-text-secondary);
|
|
2074
2587
|
}
|
|
2075
2588
|
|
|
2076
2589
|
/* ============================================================================
|
|
@@ -2078,7 +2591,7 @@
|
|
|
2078
2591
|
============================================================================ */
|
|
2079
2592
|
|
|
2080
2593
|
.taskon-quest-eligs-type {
|
|
2081
|
-
color: var(--taskon-
|
|
2594
|
+
color: var(--taskon-color-text-secondary);
|
|
2082
2595
|
}
|
|
2083
2596
|
|
|
2084
2597
|
.taskon-quest-eligs-type--tooltip {
|
|
@@ -2088,12 +2601,12 @@
|
|
|
2088
2601
|
|
|
2089
2602
|
/* 高亮文本 */
|
|
2090
2603
|
.taskon-quest-eligs-highlight {
|
|
2091
|
-
color: var(--taskon-
|
|
2604
|
+
color: var(--taskon-color-primary);
|
|
2092
2605
|
}
|
|
2093
2606
|
|
|
2094
2607
|
/* 链接样式 */
|
|
2095
2608
|
.taskon-quest-eligs-link {
|
|
2096
|
-
color: var(--taskon-
|
|
2609
|
+
color: var(--taskon-color-link);
|
|
2097
2610
|
text-decoration: underline;
|
|
2098
2611
|
}
|
|
2099
2612
|
|
|
@@ -2112,10 +2625,10 @@
|
|
|
2112
2625
|
max-width: 300px;
|
|
2113
2626
|
font-size: 12px;
|
|
2114
2627
|
line-height: 16px;
|
|
2115
|
-
color: var(--taskon-
|
|
2116
|
-
background-color:
|
|
2628
|
+
color: var(--taskon-color-text);
|
|
2629
|
+
background-color: var(--taskon-color-bg-floating);
|
|
2117
2630
|
border-radius: 6px;
|
|
2118
|
-
box-shadow: 0 2px 8px
|
|
2631
|
+
box-shadow: 0 2px 8px var(--taskon-color-bg-mask);
|
|
2119
2632
|
white-space: normal;
|
|
2120
2633
|
word-break: break-word;
|
|
2121
2634
|
}
|
|
@@ -2148,7 +2661,7 @@
|
|
|
2148
2661
|
flex-shrink: 0;
|
|
2149
2662
|
width: 8px;
|
|
2150
2663
|
height: 8px;
|
|
2151
|
-
color: var(--taskon-
|
|
2664
|
+
color: var(--taskon-color-text-secondary);
|
|
2152
2665
|
transform: rotate(-90deg);
|
|
2153
2666
|
transition: transform 0.3s;
|
|
2154
2667
|
}
|
|
@@ -2169,7 +2682,7 @@
|
|
|
2169
2682
|
.taskon-quest-eligs-sub-list li {
|
|
2170
2683
|
font-size: 14px;
|
|
2171
2684
|
line-height: 18px;
|
|
2172
|
-
color: var(--taskon-
|
|
2685
|
+
color: var(--taskon-color-text-secondary);
|
|
2173
2686
|
}
|
|
2174
2687
|
|
|
2175
2688
|
/* ============================================================================
|
|
@@ -2228,11 +2741,11 @@
|
|
|
2228
2741
|
display: inline;
|
|
2229
2742
|
text-decoration: underline;
|
|
2230
2743
|
cursor: pointer;
|
|
2231
|
-
color: var(--taskon-
|
|
2744
|
+
color: var(--taskon-color-text);
|
|
2232
2745
|
}
|
|
2233
2746
|
|
|
2234
2747
|
.taskon-quest-eligs-onchain-link:hover {
|
|
2235
|
-
color: var(--taskon-
|
|
2748
|
+
color: var(--taskon-color-link);
|
|
2236
2749
|
}
|
|
2237
2750
|
|
|
2238
2751
|
.taskon-quest-eligs-onchain-tooltip {
|
|
@@ -2241,10 +2754,10 @@
|
|
|
2241
2754
|
left: 0;
|
|
2242
2755
|
min-width: 260px;
|
|
2243
2756
|
padding: 12px 16px;
|
|
2244
|
-
background-color:
|
|
2245
|
-
border: 1px solid
|
|
2246
|
-
border-radius: var(--taskon-
|
|
2247
|
-
box-shadow: 0 4px 16px
|
|
2757
|
+
background-color: var(--taskon-color-bg-surface);
|
|
2758
|
+
border: 1px solid var(--taskon-color-border);
|
|
2759
|
+
border-radius: var(--taskon-border-radius);
|
|
2760
|
+
box-shadow: 0 4px 16px var(--taskon-color-bg-mask);
|
|
2248
2761
|
z-index: 100;
|
|
2249
2762
|
font-size: 14px;
|
|
2250
2763
|
line-height: 1.5;
|
|
@@ -2257,15 +2770,15 @@
|
|
|
2257
2770
|
left: 16px;
|
|
2258
2771
|
width: 12px;
|
|
2259
2772
|
height: 12px;
|
|
2260
|
-
background-color:
|
|
2261
|
-
border-right: 1px solid
|
|
2262
|
-
border-bottom: 1px solid
|
|
2773
|
+
background-color: var(--taskon-color-bg-surface);
|
|
2774
|
+
border-right: 1px solid var(--taskon-color-border);
|
|
2775
|
+
border-bottom: 1px solid var(--taskon-color-border);
|
|
2263
2776
|
transform: rotate(45deg);
|
|
2264
2777
|
}
|
|
2265
2778
|
|
|
2266
2779
|
.taskon-quest-eligs-onchain-tooltip p {
|
|
2267
2780
|
margin: 0 0 8px 0;
|
|
2268
|
-
color: var(--taskon-
|
|
2781
|
+
color: var(--taskon-color-text-secondary);
|
|
2269
2782
|
}
|
|
2270
2783
|
|
|
2271
2784
|
.taskon-quest-eligs-onchain-tooltip ul {
|
|
@@ -2280,14 +2793,14 @@
|
|
|
2280
2793
|
}
|
|
2281
2794
|
|
|
2282
2795
|
.taskon-quest-eligs-onchain-tooltip-link {
|
|
2283
|
-
color: var(--taskon-
|
|
2796
|
+
color: var(--taskon-color-link);
|
|
2284
2797
|
text-decoration: underline;
|
|
2285
2798
|
font-size: 14px;
|
|
2286
2799
|
line-height: 18px;
|
|
2287
2800
|
}
|
|
2288
2801
|
|
|
2289
2802
|
.taskon-quest-eligs-onchain-tooltip-link:hover {
|
|
2290
|
-
color: var(--taskon-
|
|
2803
|
+
color: var(--taskon-color-text);
|
|
2291
2804
|
}
|
|
2292
2805
|
|
|
2293
2806
|
/* ============================================================================
|
|
@@ -2301,13 +2814,13 @@
|
|
|
2301
2814
|
.taskon-quest-eligs-nft-name {
|
|
2302
2815
|
position: relative;
|
|
2303
2816
|
display: inline;
|
|
2304
|
-
color: var(--taskon-
|
|
2817
|
+
color: var(--taskon-color-secondary);
|
|
2305
2818
|
cursor: pointer;
|
|
2306
2819
|
text-decoration: underline;
|
|
2307
2820
|
}
|
|
2308
2821
|
|
|
2309
2822
|
.taskon-quest-eligs-nft-name:hover {
|
|
2310
|
-
color: var(--taskon-
|
|
2823
|
+
color: var(--taskon-color-link);
|
|
2311
2824
|
}
|
|
2312
2825
|
|
|
2313
2826
|
.taskon-quest-eligs-copied {
|
|
@@ -2316,10 +2829,10 @@
|
|
|
2316
2829
|
left: 50%;
|
|
2317
2830
|
transform: translateX(-50%);
|
|
2318
2831
|
padding: 4px 8px;
|
|
2319
|
-
background-color:
|
|
2320
|
-
border-radius: var(--taskon-
|
|
2832
|
+
background-color: var(--taskon-color-bg-surface);
|
|
2833
|
+
border-radius: var(--taskon-border-radius-sm);
|
|
2321
2834
|
font-size: 12px;
|
|
2322
|
-
color: var(--taskon-
|
|
2835
|
+
color: var(--taskon-color-secondary);
|
|
2323
2836
|
white-space: nowrap;
|
|
2324
2837
|
pointer-events: none;
|
|
2325
2838
|
animation: taskon-quest-eligs-fade-in 0.2s ease-out;
|