@huaqiu/dsh-tool-plugin-update 0.6.8 → 0.6.9
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/lib/client.js +124 -86
- package/lib/client.js.map +1 -1
- package/package.json +3 -3
- package/src/client/index.ts +121 -83
- package/src/client/update-view.ts +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@huaqiu/dsh-tool-plugin-update",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./lib/index.mjs",
|
|
6
6
|
"types": "./lib/index.d.mts",
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
"@deepseek-ai/dsh-host-webserver": "^0.2.1-rc.2"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@huaqiu/dsh-plugin-log": "0.6.
|
|
35
|
-
"@huaqiu/dsh-sidebar-entry": "0.6.
|
|
34
|
+
"@huaqiu/dsh-plugin-log": "0.6.9",
|
|
35
|
+
"@huaqiu/dsh-sidebar-entry": "0.6.9"
|
|
36
36
|
},
|
|
37
37
|
"files": [
|
|
38
38
|
"lib",
|
package/src/client/index.ts
CHANGED
|
@@ -127,8 +127,12 @@ const ENTRY_CSS_TEXT = `
|
|
|
127
127
|
text-align: center;
|
|
128
128
|
font-variant-numeric: tabular-nums;
|
|
129
129
|
}
|
|
130
|
-
/* Collapsed rail: icon-only, centered — same 36px square the shell uses.
|
|
130
|
+
/* Collapsed rail: icon-only, centered — same 36px square the shell uses.
|
|
131
|
+
The update-count badge moves to the button's bottom-right corner. The
|
|
132
|
+
sidebar-entry helper only renders the badge element while count > 0, so a
|
|
133
|
+
zero count shows a bare icon with no dot. */
|
|
131
134
|
[data-sidebar-collapsed] .hqpu-sidebar-entry {
|
|
135
|
+
position: relative;
|
|
132
136
|
justify-content: center;
|
|
133
137
|
width: 36px;
|
|
134
138
|
height: 36px;
|
|
@@ -139,10 +143,25 @@ const ENTRY_CSS_TEXT = `
|
|
|
139
143
|
width: 18px;
|
|
140
144
|
height: 18px;
|
|
141
145
|
}
|
|
142
|
-
[data-sidebar-collapsed] .hqpu-sidebar-entry__label
|
|
143
|
-
[data-sidebar-collapsed] .hqpu-sidebar-entry__badge {
|
|
146
|
+
[data-sidebar-collapsed] .hqpu-sidebar-entry__label {
|
|
144
147
|
display: none;
|
|
145
148
|
}
|
|
149
|
+
[data-sidebar-collapsed] .hqpu-sidebar-entry__badge {
|
|
150
|
+
/* Corner count badge: overlaps the icon's bottom-right like a notification
|
|
151
|
+
dot. The ring uses the rail's own fill (HuaQiu override when the theme is
|
|
152
|
+
mounted, shell layer-1 otherwise) so it reads on any sidebar surface. */
|
|
153
|
+
position: absolute;
|
|
154
|
+
right: 0;
|
|
155
|
+
bottom: 0;
|
|
156
|
+
min-width: 14px;
|
|
157
|
+
height: 14px;
|
|
158
|
+
padding: 0 3px;
|
|
159
|
+
border-radius: 7px;
|
|
160
|
+
font-size: 9px;
|
|
161
|
+
line-height: 14px;
|
|
162
|
+
box-shadow: 0 0 0 1.5px var(--dsw-specific-sidebar-fill, var(--dsw-alias-bg-layer-1));
|
|
163
|
+
transform: translate(12%, 12%);
|
|
164
|
+
}
|
|
146
165
|
`
|
|
147
166
|
|
|
148
167
|
/**
|
|
@@ -892,25 +911,39 @@ const VIEW_CSS_TEXT = `
|
|
|
892
911
|
}
|
|
893
912
|
|
|
894
913
|
/* ════════════════════════════════════════════════════════════════════════
|
|
895
|
-
* Refactored dock (interactive_refactored_ui_mockup.html) — a
|
|
914
|
+
* Refactored dock (interactive_refactored_ui_mockup.html) — a fluid
|
|
896
915
|
* update-center column. These rules cascade over the shell-token base: the
|
|
897
|
-
* panel
|
|
898
|
-
*
|
|
916
|
+
* panel takes the available width (up to 720px), every colour is a
|
|
917
|
+
* --dsw-alias-* token so light/dark follow the shell's
|
|
918
|
+
* body[data-ds-dark-theme] and the brand follows the HuaQiu theme overrides,
|
|
919
|
+
* with a sticky header / scroll body / sticky footer. No Tailwind, no
|
|
920
|
+
* dependencies.
|
|
899
921
|
* ════════════════════════════════════════════════════════════════════════ */
|
|
900
922
|
.hqpu-panel,
|
|
901
923
|
.hqpu-panel * {
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
--hq-
|
|
908
|
-
--hq-
|
|
909
|
-
--hq-
|
|
910
|
-
--hq-
|
|
911
|
-
--hq-
|
|
912
|
-
--hq-
|
|
913
|
-
--hq-
|
|
924
|
+
/* Every colour rides a shell theme token, so light/dark follow
|
|
925
|
+
* body[data-ds-dark-theme] automatically. The brand tokens are exactly the
|
|
926
|
+
* ones @huaqiu/dsh-ui-theme-huaqiu overrides (light #C7000B / dark #FF6B74),
|
|
927
|
+
* so the dock honours the HuaQiu brand scheme in both themes without knowing
|
|
928
|
+
* which theme is active. */
|
|
929
|
+
--hq-bg: var(--dsw-alias-bg-layer-1);
|
|
930
|
+
--hq-card: var(--dsw-alias-bg-layer-2);
|
|
931
|
+
--hq-card-soft: var(--dsw-alias-bg-overlay);
|
|
932
|
+
--hq-border: var(--dsw-alias-border-l2);
|
|
933
|
+
--hq-border-strong: var(--dsw-alias-border-l3);
|
|
934
|
+
--hq-hover: var(--dsw-alias-interactive-bg-hover);
|
|
935
|
+
--hq-text: var(--dsw-alias-label-primary);
|
|
936
|
+
--hq-text-strong: var(--dsw-alias-label-primary);
|
|
937
|
+
--hq-text-code: var(--dsw-alias-label-secondary);
|
|
938
|
+
--hq-muted: var(--dsw-alias-label-secondary);
|
|
939
|
+
--hq-faint: var(--dsw-alias-label-tertiary);
|
|
940
|
+
--hq-brand: var(--dsw-alias-brand-primary);
|
|
941
|
+
--hq-brand-soft: var(--dsw-alias-button-primary-hover);
|
|
942
|
+
--hq-brand-dim: var(--dsw-alias-button-primary-dimmed);
|
|
943
|
+
--hq-brand-fg: var(--dsw-alias-brand-primary-invert);
|
|
944
|
+
--hq-emerald: var(--dsw-alias-state-success-primary);
|
|
945
|
+
--hq-amber: var(--dsw-alias-state-warn-primary);
|
|
946
|
+
--hq-rose: var(--dsw-alias-state-error-primary);
|
|
914
947
|
}
|
|
915
948
|
.hqpu-panel {
|
|
916
949
|
width: min(360px, calc(100vw - 32px));
|
|
@@ -923,7 +956,7 @@ const VIEW_CSS_TEXT = `
|
|
|
923
956
|
overflow: hidden;
|
|
924
957
|
}
|
|
925
958
|
.hqpu-scrim {
|
|
926
|
-
background:
|
|
959
|
+
background: var(--dsw-alias-bg-mask-3);
|
|
927
960
|
}
|
|
928
961
|
|
|
929
962
|
/* Sticky header */
|
|
@@ -994,7 +1027,7 @@ const VIEW_CSS_TEXT = `
|
|
|
994
1027
|
flex: none;
|
|
995
1028
|
padding: 10px 12px;
|
|
996
1029
|
border-bottom: 0.5px solid var(--hq-border);
|
|
997
|
-
background:
|
|
1030
|
+
background: var(--hq-card-soft);
|
|
998
1031
|
}
|
|
999
1032
|
.hqpu-settings-row {
|
|
1000
1033
|
display: flex;
|
|
@@ -1006,7 +1039,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1006
1039
|
.hqpu-settings-title {
|
|
1007
1040
|
font-size: 11px;
|
|
1008
1041
|
font-weight: 500;
|
|
1009
|
-
color:
|
|
1042
|
+
color: var(--hq-text-code);
|
|
1010
1043
|
}
|
|
1011
1044
|
.hqpu-origin-badge {
|
|
1012
1045
|
font-size: 9px;
|
|
@@ -1015,14 +1048,14 @@ const VIEW_CSS_TEXT = `
|
|
|
1015
1048
|
border: 0.5px solid;
|
|
1016
1049
|
}
|
|
1017
1050
|
.hqpu-origin-badge[data-origin='config'] {
|
|
1018
|
-
background:
|
|
1051
|
+
background: color-mix(in srgb, var(--dsw-alias-state-success-tertiary) 55%, transparent);
|
|
1019
1052
|
color: var(--hq-emerald);
|
|
1020
|
-
border-color:
|
|
1053
|
+
border-color: color-mix(in srgb, var(--hq-emerald) 40%, transparent);
|
|
1021
1054
|
}
|
|
1022
1055
|
.hqpu-origin-badge[data-origin='override'] {
|
|
1023
|
-
background:
|
|
1056
|
+
background: color-mix(in srgb, var(--dsw-alias-state-warn-tertiary) 55%, transparent);
|
|
1024
1057
|
color: var(--hq-amber);
|
|
1025
|
-
border-color:
|
|
1058
|
+
border-color: color-mix(in srgb, var(--hq-amber) 40%, transparent);
|
|
1026
1059
|
}
|
|
1027
1060
|
.hqpu-settings label {
|
|
1028
1061
|
display: block;
|
|
@@ -1038,7 +1071,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1038
1071
|
background: var(--hq-bg);
|
|
1039
1072
|
border: 0.5px solid var(--hq-border);
|
|
1040
1073
|
border-radius: 5px;
|
|
1041
|
-
color:
|
|
1074
|
+
color: var(--hq-text-code);
|
|
1042
1075
|
padding: 0 8px;
|
|
1043
1076
|
box-sizing: border-box;
|
|
1044
1077
|
}
|
|
@@ -1058,8 +1091,8 @@ const VIEW_CSS_TEXT = `
|
|
|
1058
1091
|
flex: 1;
|
|
1059
1092
|
padding: 12px;
|
|
1060
1093
|
background: var(--hq-bg);
|
|
1061
|
-
--dsh-scrollbar-thumb:
|
|
1062
|
-
--dsh-scrollbar-thumb-hover:
|
|
1094
|
+
--dsh-scrollbar-thumb: var(--dsw-alias-scrollbar-bg-l2);
|
|
1095
|
+
--dsh-scrollbar-thumb-hover: var(--dsw-alias-scrollbar-hover-l2);
|
|
1063
1096
|
}
|
|
1064
1097
|
.hqpu-column {
|
|
1065
1098
|
max-width: none;
|
|
@@ -1074,8 +1107,8 @@ const VIEW_CSS_TEXT = `
|
|
|
1074
1107
|
padding: 12px;
|
|
1075
1108
|
border-radius: 8px;
|
|
1076
1109
|
border: 0.5px solid color-mix(in srgb, var(--hq-brand-soft) 30%, transparent);
|
|
1077
|
-
background:
|
|
1078
|
-
box-shadow:
|
|
1110
|
+
background: var(--hq-bg);
|
|
1111
|
+
box-shadow: var(--dsw-elevation-prominent);
|
|
1079
1112
|
}
|
|
1080
1113
|
.hqpu-active-top {
|
|
1081
1114
|
display: flex;
|
|
@@ -1090,7 +1123,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1090
1123
|
min-width: 0;
|
|
1091
1124
|
font-size: 11px;
|
|
1092
1125
|
font-weight: 600;
|
|
1093
|
-
color:
|
|
1126
|
+
color: var(--hq-text-strong);
|
|
1094
1127
|
}
|
|
1095
1128
|
.hqpu-pulse-dot {
|
|
1096
1129
|
position: relative;
|
|
@@ -1127,7 +1160,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1127
1160
|
height: 6px;
|
|
1128
1161
|
margin-top: 10px;
|
|
1129
1162
|
border-radius: 999px;
|
|
1130
|
-
background:
|
|
1163
|
+
background: var(--hq-card);
|
|
1131
1164
|
overflow: hidden;
|
|
1132
1165
|
}
|
|
1133
1166
|
.hqpu-progress-fill {
|
|
@@ -1150,7 +1183,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1150
1183
|
gap: 4px;
|
|
1151
1184
|
margin-top: 10px;
|
|
1152
1185
|
padding-top: 8px;
|
|
1153
|
-
border-top: 0.5px solid
|
|
1186
|
+
border-top: 0.5px solid var(--hq-border);
|
|
1154
1187
|
text-align: center;
|
|
1155
1188
|
font-size: 9px;
|
|
1156
1189
|
font-weight: 500;
|
|
@@ -1175,30 +1208,30 @@ const VIEW_CSS_TEXT = `
|
|
|
1175
1208
|
border-radius: 8px;
|
|
1176
1209
|
}
|
|
1177
1210
|
.hqpu-alert--amber {
|
|
1178
|
-
background:
|
|
1179
|
-
border: 0.5px solid
|
|
1211
|
+
background: color-mix(in srgb, var(--dsw-alias-state-warn-tertiary) 60%, transparent);
|
|
1212
|
+
border: 0.5px solid color-mix(in srgb, var(--hq-amber) 35%, transparent);
|
|
1180
1213
|
}
|
|
1181
1214
|
.hqpu-alert--amber svg { color: var(--hq-amber); flex: none; margin-top: 1px; }
|
|
1182
1215
|
.hqpu-alert-green {
|
|
1183
|
-
background:
|
|
1184
|
-
border: 0.5px solid
|
|
1185
|
-
color:
|
|
1216
|
+
background: color-mix(in srgb, var(--dsw-alias-state-success-tertiary) 55%, transparent);
|
|
1217
|
+
border: 0.5px solid color-mix(in srgb, var(--hq-emerald) 35%, transparent);
|
|
1218
|
+
color: var(--hq-emerald);
|
|
1186
1219
|
font-size: 11px;
|
|
1187
1220
|
}
|
|
1188
1221
|
.hqpu-alert-title {
|
|
1189
1222
|
font-size: 11px;
|
|
1190
1223
|
font-weight: 500;
|
|
1191
|
-
color:
|
|
1224
|
+
color: var(--dsw-alias-state-warn-label);
|
|
1192
1225
|
}
|
|
1193
1226
|
.hqpu-alert-body {
|
|
1194
1227
|
margin: 2px 0 0;
|
|
1195
1228
|
font-size: 10px;
|
|
1196
1229
|
line-height: 15px;
|
|
1197
|
-
color:
|
|
1230
|
+
color: color-mix(in srgb, var(--dsw-alias-state-warn-label) 85%, transparent);
|
|
1198
1231
|
}
|
|
1199
1232
|
.hqpu-alert-body code {
|
|
1200
1233
|
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
1201
|
-
background:
|
|
1234
|
+
background: color-mix(in srgb, var(--hq-amber) 18%, transparent);
|
|
1202
1235
|
padding: 1px 4px;
|
|
1203
1236
|
border-radius: 3px;
|
|
1204
1237
|
}
|
|
@@ -1212,7 +1245,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1212
1245
|
border: 0;
|
|
1213
1246
|
padding: 0;
|
|
1214
1247
|
font-size: 10px;
|
|
1215
|
-
color:
|
|
1248
|
+
color: var(--dsw-alias-state-warn-label);
|
|
1216
1249
|
cursor: pointer;
|
|
1217
1250
|
text-decoration: underline;
|
|
1218
1251
|
}
|
|
@@ -1236,17 +1269,17 @@ const VIEW_CSS_TEXT = `
|
|
|
1236
1269
|
gap: 6px;
|
|
1237
1270
|
font-size: 12px;
|
|
1238
1271
|
font-weight: 600;
|
|
1239
|
-
color:
|
|
1272
|
+
color: var(--hq-text-strong);
|
|
1240
1273
|
}
|
|
1241
|
-
.hqpu-engine-title svg { width: 14px; height: 14px; color:
|
|
1274
|
+
.hqpu-engine-title svg { width: 14px; height: 14px; color: var(--hq-muted); }
|
|
1242
1275
|
.hqpu-chip {
|
|
1243
1276
|
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
1244
1277
|
font-size: 9px;
|
|
1245
1278
|
padding: 2px 6px;
|
|
1246
1279
|
border-radius: 4px;
|
|
1247
|
-
background:
|
|
1248
|
-
border: 0.5px solid
|
|
1249
|
-
color:
|
|
1280
|
+
background: var(--hq-card);
|
|
1281
|
+
border: 0.5px solid var(--hq-border-strong);
|
|
1282
|
+
color: var(--hq-text-code);
|
|
1250
1283
|
}
|
|
1251
1284
|
.hqpu-engine-update-row {
|
|
1252
1285
|
display: flex;
|
|
@@ -1256,8 +1289,8 @@ const VIEW_CSS_TEXT = `
|
|
|
1256
1289
|
margin-top: 10px;
|
|
1257
1290
|
padding: 8px;
|
|
1258
1291
|
border-radius: 6px;
|
|
1259
|
-
border: 0.5px solid
|
|
1260
|
-
background:
|
|
1292
|
+
border: 0.5px solid color-mix(in srgb, var(--hq-border) 70%, transparent);
|
|
1293
|
+
background: color-mix(in srgb, var(--hq-card) 60%, transparent);
|
|
1261
1294
|
}
|
|
1262
1295
|
.hqpu-engine-new-line {
|
|
1263
1296
|
display: flex;
|
|
@@ -1265,15 +1298,15 @@ const VIEW_CSS_TEXT = `
|
|
|
1265
1298
|
gap: 4px;
|
|
1266
1299
|
font-size: 11px;
|
|
1267
1300
|
font-weight: 500;
|
|
1268
|
-
color:
|
|
1301
|
+
color: var(--hq-text-code);
|
|
1269
1302
|
}
|
|
1270
1303
|
.hqpu-tag--brand {
|
|
1271
1304
|
font-size: 9px;
|
|
1272
1305
|
padding: 1px 4px;
|
|
1273
1306
|
border-radius: 3px;
|
|
1274
1307
|
color: var(--hq-brand-soft);
|
|
1275
|
-
background:
|
|
1276
|
-
border: 0.5px solid
|
|
1308
|
+
background: color-mix(in srgb, var(--hq-brand-dim) 60%, transparent);
|
|
1309
|
+
border: 0.5px solid color-mix(in srgb, var(--hq-brand) 45%, transparent);
|
|
1277
1310
|
}
|
|
1278
1311
|
.hqpu-engine-size {
|
|
1279
1312
|
margin: 3px 0 0;
|
|
@@ -1288,12 +1321,12 @@ const VIEW_CSS_TEXT = `
|
|
|
1288
1321
|
height: auto;
|
|
1289
1322
|
padding: 6px 10px;
|
|
1290
1323
|
font-size: 10px;
|
|
1291
|
-
background:
|
|
1292
|
-
border: 0.5px solid
|
|
1293
|
-
color:
|
|
1324
|
+
background: var(--hq-card);
|
|
1325
|
+
border: 0.5px solid var(--hq-border-strong);
|
|
1326
|
+
color: var(--hq-text-strong);
|
|
1294
1327
|
border-radius: 5px;
|
|
1295
1328
|
}
|
|
1296
|
-
.hqpu-btn--engine:hover:not(:disabled) { background:
|
|
1329
|
+
.hqpu-btn--engine:hover:not(:disabled) { background: var(--hq-border); }
|
|
1297
1330
|
.hqpu-engine-note {
|
|
1298
1331
|
display: flex;
|
|
1299
1332
|
align-items: center;
|
|
@@ -1318,7 +1351,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1318
1351
|
gap: 6px;
|
|
1319
1352
|
font-size: 12px;
|
|
1320
1353
|
font-weight: 600;
|
|
1321
|
-
color:
|
|
1354
|
+
color: var(--hq-text-strong);
|
|
1322
1355
|
}
|
|
1323
1356
|
.hqpu-count-pill {
|
|
1324
1357
|
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
@@ -1339,7 +1372,12 @@ const VIEW_CSS_TEXT = `
|
|
|
1339
1372
|
}
|
|
1340
1373
|
.hqpu-all-changelog:hover { color: var(--hq-text); }
|
|
1341
1374
|
|
|
1342
|
-
.hqpu-cards {
|
|
1375
|
+
.hqpu-cards {
|
|
1376
|
+
gap: 8px;
|
|
1377
|
+
display: grid;
|
|
1378
|
+
grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
|
|
1379
|
+
align-items: start;
|
|
1380
|
+
}
|
|
1343
1381
|
.hqpu-card {
|
|
1344
1382
|
margin: 0;
|
|
1345
1383
|
padding: 10px;
|
|
@@ -1348,7 +1386,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1348
1386
|
background: var(--hq-card);
|
|
1349
1387
|
transition: border-color 0.15s ease;
|
|
1350
1388
|
}
|
|
1351
|
-
.hqpu-card:hover { border-color:
|
|
1389
|
+
.hqpu-card:hover { border-color: var(--hq-border-strong); }
|
|
1352
1390
|
.hqpu-card-head {
|
|
1353
1391
|
display: flex;
|
|
1354
1392
|
align-items: flex-start;
|
|
@@ -1365,16 +1403,16 @@ const VIEW_CSS_TEXT = `
|
|
|
1365
1403
|
width: 28px;
|
|
1366
1404
|
height: 28px;
|
|
1367
1405
|
border-radius: 6px;
|
|
1368
|
-
border: 0.5px solid
|
|
1369
|
-
background:
|
|
1370
|
-
color:
|
|
1406
|
+
border: 0.5px solid var(--hq-border-strong);
|
|
1407
|
+
background: var(--hq-card);
|
|
1408
|
+
color: var(--hq-text-code);
|
|
1371
1409
|
font-size: 10px;
|
|
1372
1410
|
font-weight: 700;
|
|
1373
1411
|
}
|
|
1374
1412
|
.hqpu-card-title {
|
|
1375
1413
|
font-size: 12px;
|
|
1376
1414
|
font-weight: 600;
|
|
1377
|
-
color:
|
|
1415
|
+
color: var(--hq-text-strong);
|
|
1378
1416
|
}
|
|
1379
1417
|
.hqpu-card-sub {
|
|
1380
1418
|
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
@@ -1390,7 +1428,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1390
1428
|
font-size: 10px;
|
|
1391
1429
|
}
|
|
1392
1430
|
.hqpu-ver-old { color: var(--hq-muted); }
|
|
1393
|
-
.hqpu-ver-arrow { color:
|
|
1431
|
+
.hqpu-ver-arrow { color: var(--hq-border-strong); }
|
|
1394
1432
|
.hqpu-ver-new { color: var(--hq-emerald); font-weight: 700; }
|
|
1395
1433
|
.hqpu-log-toggle {
|
|
1396
1434
|
display: inline-flex;
|
|
@@ -1410,8 +1448,8 @@ const VIEW_CSS_TEXT = `
|
|
|
1410
1448
|
margin-top: 8px;
|
|
1411
1449
|
padding: 8px;
|
|
1412
1450
|
border-radius: 6px;
|
|
1413
|
-
border: 0.5px solid
|
|
1414
|
-
background:
|
|
1451
|
+
border: 0.5px solid var(--hq-border);
|
|
1452
|
+
background: color-mix(in srgb, var(--hq-card) 80%, transparent);
|
|
1415
1453
|
font-size: 10px;
|
|
1416
1454
|
}
|
|
1417
1455
|
.hqpu-changelog-drawer-title {
|
|
@@ -1419,34 +1457,34 @@ const VIEW_CSS_TEXT = `
|
|
|
1419
1457
|
font-weight: 500;
|
|
1420
1458
|
text-transform: uppercase;
|
|
1421
1459
|
letter-spacing: 0.05em;
|
|
1422
|
-
color:
|
|
1460
|
+
color: var(--hq-muted);
|
|
1423
1461
|
}
|
|
1424
1462
|
.hqpu-changelog-drawer ul {
|
|
1425
1463
|
margin: 4px 0 0;
|
|
1426
1464
|
padding-left: 16px;
|
|
1427
|
-
color:
|
|
1465
|
+
color: var(--hq-text-code);
|
|
1428
1466
|
line-height: 16px;
|
|
1429
1467
|
}
|
|
1430
1468
|
|
|
1431
1469
|
/* Blocked / incompatible card: dimmed, rose badge, no install button */
|
|
1432
1470
|
.hqpu-card--blocked {
|
|
1433
1471
|
opacity: 0.8;
|
|
1434
|
-
background:
|
|
1435
|
-
border-color:
|
|
1472
|
+
background: color-mix(in srgb, var(--hq-card) 60%, transparent);
|
|
1473
|
+
border-color: var(--hq-border);
|
|
1436
1474
|
}
|
|
1437
1475
|
.hqpu-card--blocked .hqpu-avatar {
|
|
1438
|
-
background:
|
|
1439
|
-
border-color:
|
|
1440
|
-
color:
|
|
1476
|
+
background: color-mix(in srgb, var(--hq-card) 50%, transparent);
|
|
1477
|
+
border-color: var(--hq-border);
|
|
1478
|
+
color: var(--hq-faint);
|
|
1441
1479
|
}
|
|
1442
|
-
.hqpu-card--blocked .hqpu-card-title { color:
|
|
1480
|
+
.hqpu-card--blocked .hqpu-card-title { color: var(--hq-muted); }
|
|
1443
1481
|
.hqpu-blocked-badge {
|
|
1444
1482
|
font-size: 9px;
|
|
1445
1483
|
padding: 2px 6px;
|
|
1446
1484
|
border-radius: 4px;
|
|
1447
|
-
color:
|
|
1448
|
-
background:
|
|
1449
|
-
border: 0.5px solid
|
|
1485
|
+
color: var(--hq-rose);
|
|
1486
|
+
background: color-mix(in srgb, var(--hq-rose) 18%, transparent);
|
|
1487
|
+
border: 0.5px solid color-mix(in srgb, var(--hq-rose) 40%, transparent);
|
|
1450
1488
|
}
|
|
1451
1489
|
.hqpu-reason-line {
|
|
1452
1490
|
display: flex;
|
|
@@ -1455,10 +1493,10 @@ const VIEW_CSS_TEXT = `
|
|
|
1455
1493
|
margin: 8px 0 0;
|
|
1456
1494
|
padding: 6px;
|
|
1457
1495
|
border-radius: 5px;
|
|
1458
|
-
border: 0.5px solid
|
|
1459
|
-
background:
|
|
1496
|
+
border: 0.5px solid color-mix(in srgb, var(--hq-rose) 20%, transparent);
|
|
1497
|
+
background: color-mix(in srgb, var(--hq-rose) 8%, transparent);
|
|
1460
1498
|
font-size: 10px;
|
|
1461
|
-
color:
|
|
1499
|
+
color: var(--hq-rose);
|
|
1462
1500
|
}
|
|
1463
1501
|
.hqpu-reason-line svg { width: 12px; height: 12px; flex: none; margin-top: 1px; }
|
|
1464
1502
|
|
|
@@ -1492,11 +1530,11 @@ const VIEW_CSS_TEXT = `
|
|
|
1492
1530
|
flex: 1;
|
|
1493
1531
|
height: 32px;
|
|
1494
1532
|
background: var(--hq-brand);
|
|
1495
|
-
color:
|
|
1533
|
+
color: var(--hq-brand-fg);
|
|
1496
1534
|
font-size: 11px;
|
|
1497
1535
|
font-weight: 500;
|
|
1498
1536
|
border-radius: 6px;
|
|
1499
|
-
box-shadow: 0 4px 12px
|
|
1537
|
+
box-shadow: 0 4px 12px color-mix(in srgb, var(--hq-brand) 40%, transparent);
|
|
1500
1538
|
}
|
|
1501
1539
|
.hqpu-btn--block:hover:not(:disabled) { background: var(--hq-brand-soft); }
|
|
1502
1540
|
.hqpu-btn--block:disabled { opacity: 0.5; box-shadow: none; }
|
|
@@ -1521,7 +1559,7 @@ const VIEW_CSS_TEXT = `
|
|
|
1521
1559
|
.hqpu-status { color: var(--hq-muted); font-size: 11px; }
|
|
1522
1560
|
.hqpu-empty { color: var(--hq-muted); font-size: 11px; padding: 16px 0; }
|
|
1523
1561
|
.hqpu-toast { background: var(--hq-card); border: 0.5px solid var(--hq-border); color: var(--hq-text); font-size: 12px; }
|
|
1524
|
-
.hqpu-skeleton-fill { background:
|
|
1562
|
+
.hqpu-skeleton-fill { background: var(--hq-border); }
|
|
1525
1563
|
.hqpu-job { background: var(--hq-card); border-color: var(--hq-border); }
|
|
1526
1564
|
.hqpu-job-meta { color: var(--hq-muted); }
|
|
1527
1565
|
.hqpu-release-notes { color: var(--hq-muted); font-size: 11px; }
|
|
@@ -873,7 +873,7 @@ function sourceEditor(
|
|
|
873
873
|
// Read mode: show the URL currently in effect (mono, muted), then edit.
|
|
874
874
|
const urlLine = el('p', 'hqpu-source-current-url', source.url)
|
|
875
875
|
urlLine.style.cssText =
|
|
876
|
-
'margin:2px 0 6px;font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color
|
|
876
|
+
'margin:2px 0 6px;font-size:9px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--dsw-alias-label-tertiary);word-break:break-all;'
|
|
877
877
|
block.append(urlLine)
|
|
878
878
|
block.append(el('p', 'hqpu-status hqpu-source-hint', labels.hint))
|
|
879
879
|
const edit = el('button', 'hqpu-btn hqpu-btn--outline hqpu-btn--sm', labels.edit)
|