@codemem/server 0.46.0-alpha.2 → 0.46.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +220 -64
- package/dist/index.js.map +1 -1
- package/dist/routes/config.d.ts.map +1 -1
- package/dist/routes/memory-ownership.d.ts +5 -0
- package/dist/routes/memory-ownership.d.ts.map +1 -0
- package/dist/routes/observer-status.d.ts.map +1 -1
- package/dist/routes/sync.d.ts +22 -8
- package/dist/routes/sync.d.ts.map +1 -1
- package/dist/routes/target-validation.d.ts +13 -0
- package/dist/routes/target-validation.d.ts.map +1 -1
- package/dist/snapshot-source.d.ts +12 -0
- package/dist/snapshot-source.d.ts.map +1 -0
- package/package.json +2 -2
- package/static/app.js +76 -57
- package/static/app.js.br +0 -0
- package/static/app.js.gz +0 -0
- package/static/index.html +827 -280
package/static/index.html
CHANGED
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
align-items: center;
|
|
111
111
|
gap: var(--sp-3);
|
|
112
112
|
min-width: 0;
|
|
113
|
-
overflow:
|
|
113
|
+
overflow: visible;
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
.logo {
|
|
@@ -774,6 +774,10 @@
|
|
|
774
774
|
— quieter than any real button nearby, since it's navigation,
|
|
775
775
|
not action. */
|
|
776
776
|
.sync-subview-link {
|
|
777
|
+
background: none;
|
|
778
|
+
border: 0;
|
|
779
|
+
cursor: pointer;
|
|
780
|
+
font-family: inherit;
|
|
777
781
|
display: inline-flex;
|
|
778
782
|
align-items: center;
|
|
779
783
|
gap: 4px;
|
|
@@ -887,17 +891,81 @@
|
|
|
887
891
|
line-height: 1.5;
|
|
888
892
|
}
|
|
889
893
|
|
|
890
|
-
.
|
|
891
|
-
border-width: 2px;
|
|
892
|
-
}
|
|
893
|
-
.health-primary .value { font-size: var(--font-size-3xl); letter-spacing: 0.2px; }
|
|
894
|
-
.health-primary.status-healthy .value { color: var(--status-healthy); }
|
|
895
|
-
.health-primary.status-degraded .value { color: var(--status-degraded); }
|
|
896
|
-
.health-primary.status-attention .value { color: var(--status-attention); }
|
|
894
|
+
.has-tooltip { cursor: help; }
|
|
897
895
|
.health-loading-icon {
|
|
898
896
|
animation: viewerLoadingSpin var(--duration-attention) linear infinite;
|
|
899
897
|
}
|
|
900
898
|
|
|
899
|
+
.health-system-card {
|
|
900
|
+
display: flex;
|
|
901
|
+
flex-direction: column;
|
|
902
|
+
gap: var(--sp-4);
|
|
903
|
+
}
|
|
904
|
+
.health-system-header {
|
|
905
|
+
display: flex;
|
|
906
|
+
flex-wrap: wrap;
|
|
907
|
+
align-items: center;
|
|
908
|
+
justify-content: space-between;
|
|
909
|
+
gap: var(--sp-4);
|
|
910
|
+
}
|
|
911
|
+
.health-status-summary {
|
|
912
|
+
display: flex;
|
|
913
|
+
align-items: center;
|
|
914
|
+
gap: var(--sp-3);
|
|
915
|
+
min-width: 0;
|
|
916
|
+
}
|
|
917
|
+
.health-status-copy {
|
|
918
|
+
display: flex;
|
|
919
|
+
flex-direction: column;
|
|
920
|
+
gap: 2px;
|
|
921
|
+
min-width: 0;
|
|
922
|
+
}
|
|
923
|
+
.health-status-word {
|
|
924
|
+
font-size: var(--font-size-3xl);
|
|
925
|
+
font-weight: var(--font-weight-semibold);
|
|
926
|
+
line-height: 1.15;
|
|
927
|
+
}
|
|
928
|
+
.health-status-word.status-healthy { color: var(--status-healthy); }
|
|
929
|
+
.health-status-word.status-degraded { color: var(--status-degraded); }
|
|
930
|
+
.health-status-word.status-attention { color: var(--status-attention); }
|
|
931
|
+
.health-status-word.status-unknown { color: var(--text-tertiary); }
|
|
932
|
+
.health-status-copy .section-meta { margin: 0; }
|
|
933
|
+
.health-status-meta {
|
|
934
|
+
display: flex;
|
|
935
|
+
align-items: center;
|
|
936
|
+
flex-wrap: wrap;
|
|
937
|
+
gap: var(--sp-2);
|
|
938
|
+
}
|
|
939
|
+
.health-tile-grid {
|
|
940
|
+
display: grid;
|
|
941
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
942
|
+
gap: var(--sp-3);
|
|
943
|
+
}
|
|
944
|
+
.health-tile {
|
|
945
|
+
display: flex;
|
|
946
|
+
flex-direction: column;
|
|
947
|
+
gap: var(--sp-1);
|
|
948
|
+
min-width: 0;
|
|
949
|
+
padding: var(--sp-3) var(--sp-4);
|
|
950
|
+
border-radius: var(--radius-sm);
|
|
951
|
+
background: var(--surface-2);
|
|
952
|
+
}
|
|
953
|
+
.health-tile-label {
|
|
954
|
+
color: var(--text-tertiary);
|
|
955
|
+
font-size: var(--font-size-2xs);
|
|
956
|
+
letter-spacing: 0.06em;
|
|
957
|
+
text-transform: uppercase;
|
|
958
|
+
}
|
|
959
|
+
.health-tile-value {
|
|
960
|
+
display: inline-flex;
|
|
961
|
+
align-items: center;
|
|
962
|
+
gap: 6px;
|
|
963
|
+
min-width: 0;
|
|
964
|
+
color: var(--text-secondary);
|
|
965
|
+
font-size: var(--font-size-md);
|
|
966
|
+
}
|
|
967
|
+
.health-maintenance-grid { margin-top: var(--sp-3); }
|
|
968
|
+
|
|
901
969
|
/* ── Buttons ───────────────────────────────────────────── */
|
|
902
970
|
|
|
903
971
|
/* ── Button base ─────────────────────────────────────── */
|
|
@@ -1166,16 +1234,10 @@
|
|
|
1166
1234
|
font-family: var(--font-sans);
|
|
1167
1235
|
font-size: var(--font-size-md);
|
|
1168
1236
|
}
|
|
1169
|
-
.
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
}
|
|
1174
|
-
.project-inventory-skeleton {
|
|
1175
|
-
display: grid;
|
|
1176
|
-
gap: var(--sp-3);
|
|
1177
|
-
margin-top: var(--sp-4);
|
|
1178
|
-
}
|
|
1237
|
+
.projects-toolbar #projectsStatusFilter { flex: 0 1 220px; min-width: 0; }
|
|
1238
|
+
#projectsInventoryMeta { color: var(--text-tertiary); white-space: nowrap; }
|
|
1239
|
+
.project-inventory-list { margin-top: var(--sp-3); min-width: 0; }
|
|
1240
|
+
.project-inventory-skeleton { display: grid; gap: var(--sp-3); margin-top: var(--sp-4); }
|
|
1179
1241
|
.project-inventory-skeleton-row {
|
|
1180
1242
|
padding: var(--sp-4);
|
|
1181
1243
|
border: 1px solid var(--border);
|
|
@@ -1193,93 +1255,169 @@
|
|
|
1193
1255
|
.project-inventory-skeleton-line.title { width: 42%; height: 16px; }
|
|
1194
1256
|
.project-inventory-skeleton-line.meta { width: 68%; }
|
|
1195
1257
|
.project-inventory-skeleton-line.signal { width: 86%; }
|
|
1196
|
-
.project-inventory-
|
|
1197
|
-
|
|
1258
|
+
.project-inventory-table {
|
|
1259
|
+
display: block;
|
|
1260
|
+
width: 100%;
|
|
1261
|
+
min-width: 0;
|
|
1262
|
+
overflow: visible;
|
|
1263
|
+
border-spacing: 0;
|
|
1198
1264
|
border: 1px solid var(--border);
|
|
1199
1265
|
border-radius: var(--radius-md);
|
|
1200
|
-
background: var(--surface-1);
|
|
1201
1266
|
}
|
|
1202
|
-
.project-inventory-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1267
|
+
.project-inventory-table > thead,
|
|
1268
|
+
.project-inventory-table > tbody { display: block; width: 100%; }
|
|
1269
|
+
.project-inventory-table th,
|
|
1270
|
+
.project-inventory-table td { padding: 0; text-align: left; font-weight: inherit; }
|
|
1271
|
+
.project-inventory-table-row {
|
|
1272
|
+
display: grid;
|
|
1273
|
+
grid-template-columns: 28px minmax(0, 1fr) 72px 72px 120px minmax(0, 130px) 180px;
|
|
1274
|
+
align-items: center;
|
|
1275
|
+
column-gap: var(--sp-3);
|
|
1276
|
+
min-width: 0;
|
|
1207
1277
|
}
|
|
1208
|
-
.project-inventory-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
font-
|
|
1278
|
+
.project-inventory-table-header {
|
|
1279
|
+
padding: var(--sp-2) var(--sp-4);
|
|
1280
|
+
background: var(--surface-2);
|
|
1281
|
+
color: var(--text-tertiary);
|
|
1282
|
+
font-size: var(--font-size-2xs);
|
|
1283
|
+
font-weight: var(--font-weight-medium);
|
|
1284
|
+
letter-spacing: 0.06em;
|
|
1285
|
+
text-transform: uppercase;
|
|
1214
1286
|
}
|
|
1215
|
-
.project-inventory-
|
|
1216
|
-
|
|
1287
|
+
.project-inventory-row-header {
|
|
1288
|
+
min-width: 0;
|
|
1289
|
+
border-top: 1px solid var(--border);
|
|
1290
|
+
background: var(--surface-1);
|
|
1291
|
+
}
|
|
1292
|
+
.project-inventory-row-header { padding: var(--sp-3) var(--sp-4); }
|
|
1293
|
+
.project-inventory-row-stats { display: contents; }
|
|
1294
|
+
.project-inventory-cell { min-width: 0; }
|
|
1295
|
+
.project-inventory-project-cell { display: flex; flex-direction: column; gap: var(--sp-1); }
|
|
1296
|
+
.project-inventory-title { overflow-wrap: anywhere; color: var(--text-primary); font-size: var(--font-size-md); font-weight: var(--font-weight-semibold); }
|
|
1297
|
+
.project-inventory-signal { overflow: hidden; color: var(--text-tertiary); font-size: var(--font-size-xs); text-overflow: ellipsis; white-space: nowrap; }
|
|
1298
|
+
.project-inventory-number { font-variant-numeric: tabular-nums; }
|
|
1299
|
+
.project-inventory-latest { color: var(--text-secondary); }
|
|
1300
|
+
.project-inventory-badges { display: flex; flex-wrap: wrap; gap: var(--sp-1); }
|
|
1301
|
+
.project-inventory-badges:empty { display: none; }
|
|
1302
|
+
.project-inventory-row-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--sp-2); }
|
|
1303
|
+
.project-inventory-row-actions .settings-button { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
|
|
1304
|
+
.project-row-menu { position: relative; flex: 0 0 auto; }
|
|
1305
|
+
.project-row-menu-panel { position: absolute; top: calc(100% + var(--sp-1)); right: 0; }
|
|
1306
|
+
button.feed-menu-item { border: 0; background: transparent; font-family: inherit; text-align: left; }
|
|
1307
|
+
button.feed-menu-item:hover,
|
|
1308
|
+
button.feed-menu-item:focus-visible { background: var(--surface-2); }
|
|
1309
|
+
button.feed-menu-item:disabled { color: var(--text-tertiary); cursor: default; }
|
|
1310
|
+
.project-inventory-details { background: var(--surface-2); }
|
|
1311
|
+
.project-inventory-details-row,
|
|
1312
|
+
.project-inventory-details-cell { display: block; min-width: 0; }
|
|
1313
|
+
.project-inventory-details > summary {
|
|
1217
1314
|
display: flex;
|
|
1218
|
-
|
|
1315
|
+
align-items: center;
|
|
1219
1316
|
gap: var(--sp-2);
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
.project-status-badge {
|
|
1223
|
-
padding: 2px 8px;
|
|
1224
|
-
border-radius: var(--radius-pill);
|
|
1225
|
-
background: var(--surface-2);
|
|
1317
|
+
padding: var(--sp-3) var(--sp-4) var(--sp-3) 44px;
|
|
1318
|
+
cursor: pointer;
|
|
1226
1319
|
color: var(--text-secondary);
|
|
1227
|
-
font-size: var(--font-size-
|
|
1228
|
-
border: 1px solid var(--border);
|
|
1320
|
+
font-size: var(--font-size-sm);
|
|
1229
1321
|
}
|
|
1230
|
-
.project-
|
|
1231
|
-
.project-
|
|
1232
|
-
.project-
|
|
1233
|
-
.project-inventory-details { margin-top: var(--sp-3); }
|
|
1234
|
-
.project-inventory-details summary { cursor: pointer; color: var(--text-secondary); font-size: var(--font-size-sm); }
|
|
1322
|
+
.project-inventory-details-body { padding: 0 var(--sp-4) var(--sp-4) 44px; }
|
|
1323
|
+
.project-inventory-domain { color: var(--accent); font-family: var(--font-mono); font-size: var(--font-size-sm); }
|
|
1324
|
+
.project-inventory-meta { margin-top: var(--sp-2); color: var(--text-secondary); font-size: var(--font-size-sm); }
|
|
1235
1325
|
.project-detail-grid {
|
|
1236
1326
|
display: grid;
|
|
1237
|
-
grid-template-columns: minmax(
|
|
1238
|
-
gap: var(--sp-2) var(--sp-
|
|
1327
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1328
|
+
gap: var(--sp-2) var(--sp-4);
|
|
1239
1329
|
margin-top: var(--sp-3);
|
|
1240
1330
|
font-size: var(--font-size-sm);
|
|
1241
1331
|
}
|
|
1332
|
+
.project-detail-pair { display: grid; grid-template-columns: minmax(130px, max-content) minmax(0, 1fr); gap: var(--sp-3); }
|
|
1242
1333
|
.project-detail-grid dt { color: var(--text-tertiary); }
|
|
1243
1334
|
.project-detail-grid dd { margin: 0; overflow-wrap: anywhere; color: var(--text-primary); }
|
|
1244
|
-
.project-inventory-actions {
|
|
1245
|
-
display: flex;
|
|
1246
|
-
align-items: center;
|
|
1247
|
-
flex-wrap: wrap;
|
|
1248
|
-
gap: var(--sp-2);
|
|
1249
|
-
margin-top: var(--sp-4);
|
|
1250
|
-
}
|
|
1335
|
+
.project-inventory-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--sp-2); margin-top: var(--sp-4); }
|
|
1251
1336
|
.project-domain-select {
|
|
1252
1337
|
min-width: min(100%, 260px);
|
|
1253
1338
|
padding: var(--sp-2) var(--sp-3);
|
|
1254
|
-
border-radius: var(--radius-sm);
|
|
1255
1339
|
border: 1px solid var(--border);
|
|
1340
|
+
border-radius: var(--radius-sm);
|
|
1256
1341
|
background: var(--input-bg);
|
|
1257
1342
|
color: var(--text-primary);
|
|
1258
1343
|
font-family: var(--font-sans);
|
|
1259
1344
|
font-size: var(--font-size-md);
|
|
1260
1345
|
}
|
|
1261
|
-
.project-guardrail-confirmation {
|
|
1262
|
-
flex-basis: 100%;
|
|
1263
|
-
margin-top: var(--sp-2);
|
|
1264
|
-
}
|
|
1346
|
+
.project-guardrail-confirmation { flex-basis: 100%; margin-top: var(--sp-2); }
|
|
1265
1347
|
.projects-pagination { margin-top: var(--sp-4); }
|
|
1348
|
+
.project-selection-control { display: inline-flex; align-items: center; justify-content: center; min-width: 24px; min-height: 24px; cursor: pointer; }
|
|
1349
|
+
.project-selection-checkbox { width: 18px; height: 18px; }
|
|
1350
|
+
.project-recipient-summary { min-width: 0; }
|
|
1351
|
+
.project-recipient-status { color: var(--text-secondary); font-size: var(--font-size-sm); }
|
|
1352
|
+
.project-recipient-chips { display: flex; flex-wrap: wrap; gap: var(--sp-1); padding: 0; margin: 0; list-style: none; }
|
|
1353
|
+
.project-recipient-chip { overflow: hidden; padding: 2px var(--sp-2); border: 1px solid var(--border); border-radius: var(--radius-pill); background: var(--surface-2); color: var(--text-primary); font-size: var(--font-size-2xs); text-overflow: ellipsis; white-space: nowrap; }
|
|
1354
|
+
.project-inventory-child-row { padding-left: var(--sp-5); }
|
|
1355
|
+
.project-inventory-cluster + .project-inventory-child .project-inventory-child-row { border-top: 1px solid var(--border); }
|
|
1266
1356
|
.recipient-policy-review-section + .recipient-policy-review-section { margin-top: var(--sp-5); }
|
|
1267
1357
|
.recipient-policy-review-heading { margin-bottom: var(--sp-2); }
|
|
1268
|
-
.recipient-policy-review-status:empty { display: none; }
|
|
1269
|
-
.recipient-policy-review-list { margin-top: var(--sp-3); }
|
|
1270
1358
|
.recipient-policy-review-item .project-inventory-actions label {
|
|
1271
1359
|
color: var(--text-secondary);
|
|
1272
1360
|
font-size: var(--font-size-sm);
|
|
1273
1361
|
font-weight: var(--font-weight-semibold);
|
|
1274
1362
|
}
|
|
1275
|
-
.recipient-policy-review-
|
|
1276
|
-
|
|
1277
|
-
|
|
1363
|
+
.recipient-policy-review-header {
|
|
1364
|
+
display: flex;
|
|
1365
|
+
align-items: baseline;
|
|
1366
|
+
justify-content: space-between;
|
|
1367
|
+
gap: var(--sp-4);
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
.recipient-policy-review-count {
|
|
1371
|
+
color: var(--text-tertiary);
|
|
1372
|
+
font-weight: var(--font-weight-regular);
|
|
1373
|
+
}
|
|
1374
|
+
.recipient-policy-review-status:empty { display: none; }
|
|
1375
|
+
.recipient-policy-review-list {
|
|
1376
|
+
margin-top: var(--sp-3);
|
|
1377
|
+
overflow: hidden;
|
|
1378
|
+
border: 1px solid var(--border);
|
|
1379
|
+
border-radius: var(--radius-md);
|
|
1380
|
+
}
|
|
1381
|
+
.recipient-policy-review-item {
|
|
1382
|
+
display: grid;
|
|
1383
|
+
grid-template-columns: minmax(0, 1fr) 260px auto;
|
|
1384
|
+
align-items: center;
|
|
1385
|
+
column-gap: var(--sp-4);
|
|
1386
|
+
padding: var(--sp-3) var(--sp-4);
|
|
1387
|
+
background: var(--surface-1);
|
|
1388
|
+
}
|
|
1389
|
+
.recipient-policy-review-item + .recipient-policy-review-item { border-top: 1px solid var(--border); }
|
|
1390
|
+
.recipient-policy-review-name,
|
|
1391
|
+
.recipient-policy-review-actions {
|
|
1392
|
+
display: flex;
|
|
1393
|
+
align-items: center;
|
|
1394
|
+
flex-wrap: wrap;
|
|
1395
|
+
gap: var(--sp-2);
|
|
1396
|
+
}
|
|
1397
|
+
.recipient-policy-review-name > strong { font-size: var(--font-size-lg); }
|
|
1398
|
+
.recipient-policy-review-identity { color: var(--text-tertiary); overflow-wrap: anywhere; }
|
|
1399
|
+
.recipient-policy-review-meta {
|
|
1400
|
+
color: var(--text-secondary);
|
|
1401
|
+
margin-top: var(--sp-1);
|
|
1402
|
+
}
|
|
1403
|
+
.recipient-policy-review-meta .badge { margin-left: var(--sp-2); }
|
|
1404
|
+
.recipient-policy-review-select { min-width: 0; width: 100%; }
|
|
1405
|
+
.recipient-policy-review-details {
|
|
1406
|
+
grid-column: 1 / -1;
|
|
1407
|
+
padding: var(--sp-3) 0 var(--sp-1);
|
|
1408
|
+
}
|
|
1409
|
+
.recipient-policy-deferred,
|
|
1410
|
+
.recipient-policy-preview { margin-top: var(--sp-2); }
|
|
1278
1411
|
.recipient-policy-preview-list { margin-top: var(--sp-2); }
|
|
1279
1412
|
.recipient-policy-preview-list ul {
|
|
1280
1413
|
margin-top: var(--sp-1);
|
|
1281
1414
|
padding-left: var(--sp-5);
|
|
1282
1415
|
}
|
|
1416
|
+
.recipient-policy-review-section { margin-top: var(--sp-5); }
|
|
1417
|
+
@media (max-width: 900px) {
|
|
1418
|
+
.recipient-policy-review-item { grid-template-columns: minmax(0, 1fr); row-gap: var(--sp-3); }
|
|
1419
|
+
.recipient-policy-review-details { grid-column: 1; }
|
|
1420
|
+
}
|
|
1283
1421
|
.project-selection-actions,
|
|
1284
1422
|
.recipient-policy-management-actions,
|
|
1285
1423
|
.recipient-policy-sharing-actions {
|
|
@@ -1547,6 +1685,16 @@
|
|
|
1547
1685
|
.recipient-policy-management-details li { overflow-wrap: anywhere; }
|
|
1548
1686
|
.recipient-policy-management-status:empty { display: none; }
|
|
1549
1687
|
.recipient-policy-sharing-header { margin-bottom: var(--sp-4); }
|
|
1688
|
+
.sharing-member-preview {
|
|
1689
|
+
overflow-wrap: anywhere;
|
|
1690
|
+
}
|
|
1691
|
+
.sharing-member-names .sharing-member-preview {
|
|
1692
|
+
display: -webkit-box;
|
|
1693
|
+
-webkit-box-orient: vertical;
|
|
1694
|
+
-webkit-line-clamp: 2;
|
|
1695
|
+
overflow: hidden;
|
|
1696
|
+
}
|
|
1697
|
+
.sharing-member-names p { overflow-wrap: anywhere; }
|
|
1550
1698
|
.recipient-policy-sharing-tabs {
|
|
1551
1699
|
position: static;
|
|
1552
1700
|
display: flex;
|
|
@@ -1574,6 +1722,89 @@
|
|
|
1574
1722
|
gap: var(--sp-3);
|
|
1575
1723
|
}
|
|
1576
1724
|
.recipient-policy-sharing-card-title h3 { margin: 0; }
|
|
1725
|
+
.recipient-policy-sharing-card-header {
|
|
1726
|
+
display: flex;
|
|
1727
|
+
align-items: flex-start;
|
|
1728
|
+
justify-content: space-between;
|
|
1729
|
+
gap: var(--sp-4);
|
|
1730
|
+
}
|
|
1731
|
+
.recipient-policy-sharing-card-title { justify-content: flex-start; flex-wrap: wrap; }
|
|
1732
|
+
.recipient-policy-sharing-card-actions,
|
|
1733
|
+
.recipient-policy-sharing-card-actions .recipient-policy-sharing-actions {
|
|
1734
|
+
display: flex;
|
|
1735
|
+
align-items: center;
|
|
1736
|
+
justify-content: flex-end;
|
|
1737
|
+
gap: var(--sp-2);
|
|
1738
|
+
flex-wrap: wrap;
|
|
1739
|
+
}
|
|
1740
|
+
.recipient-policy-sharing-card-actions .settings-button { margin-top: 0; }
|
|
1741
|
+
.recipient-policy-sharing-stats {
|
|
1742
|
+
display: grid;
|
|
1743
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1744
|
+
gap: var(--sp-2);
|
|
1745
|
+
margin-top: var(--sp-4);
|
|
1746
|
+
}
|
|
1747
|
+
.recipient-policy-sharing-stats > div {
|
|
1748
|
+
display: grid;
|
|
1749
|
+
gap: var(--sp-1);
|
|
1750
|
+
min-width: 0;
|
|
1751
|
+
padding: var(--sp-3);
|
|
1752
|
+
border-radius: var(--radius-sm);
|
|
1753
|
+
background: var(--surface-2);
|
|
1754
|
+
}
|
|
1755
|
+
.recipient-policy-sharing-stats strong { font-size: var(--font-size-lg); }
|
|
1756
|
+
.recipient-policy-sharing-stats span { color: var(--text-secondary); overflow-wrap: anywhere; }
|
|
1757
|
+
.recipient-policy-sharing-projects,
|
|
1758
|
+
.recipient-policy-sharing-identity-rows,
|
|
1759
|
+
.recipient-policy-sharing-identity-rows > div { display: grid; gap: var(--sp-2); }
|
|
1760
|
+
.recipient-policy-sharing-projects,
|
|
1761
|
+
.recipient-policy-sharing-identity-rows { margin-top: var(--sp-4); }
|
|
1762
|
+
.recipient-policy-sharing-identity-rows > div + div { padding-top: var(--sp-3); border-top: 1px solid var(--border); }
|
|
1763
|
+
.recipient-policy-sharing-chips { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
|
|
1764
|
+
.recipient-policy-sharing-more {
|
|
1765
|
+
padding: 0;
|
|
1766
|
+
border: 0;
|
|
1767
|
+
background: transparent;
|
|
1768
|
+
color: var(--accent);
|
|
1769
|
+
font: inherit;
|
|
1770
|
+
cursor: pointer;
|
|
1771
|
+
}
|
|
1772
|
+
.recipient-policy-sharing-toolbar {
|
|
1773
|
+
display: flex;
|
|
1774
|
+
align-items: center;
|
|
1775
|
+
justify-content: space-between;
|
|
1776
|
+
gap: var(--sp-3);
|
|
1777
|
+
margin-bottom: var(--sp-3);
|
|
1778
|
+
}
|
|
1779
|
+
.recipient-policy-sharing-toolbar label { flex: 1; }
|
|
1780
|
+
.recipient-policy-sharing-toolbar input { width: 100%; }
|
|
1781
|
+
.recipient-policy-sharing-received-table { display: block; width: 100%; overflow: hidden; border: 1px solid var(--border); border-spacing: 0; border-radius: var(--radius-md); }
|
|
1782
|
+
.recipient-policy-sharing-received-table thead,
|
|
1783
|
+
.recipient-policy-sharing-received-table tbody { display: block; }
|
|
1784
|
+
.recipient-policy-sharing-received-head,
|
|
1785
|
+
.recipient-policy-sharing-received-row {
|
|
1786
|
+
display: grid;
|
|
1787
|
+
grid-template-columns: minmax(0, 1fr) 180px 190px 170px;
|
|
1788
|
+
gap: var(--sp-4);
|
|
1789
|
+
align-items: center;
|
|
1790
|
+
padding: var(--sp-3) var(--sp-4);
|
|
1791
|
+
}
|
|
1792
|
+
.recipient-policy-sharing-received-head {
|
|
1793
|
+
background: var(--surface-2);
|
|
1794
|
+
color: var(--text-tertiary);
|
|
1795
|
+
font-size: var(--font-size-2xs);
|
|
1796
|
+
font-weight: var(--font-weight-semibold);
|
|
1797
|
+
letter-spacing: var(--letter-spacing-wide);
|
|
1798
|
+
text-transform: uppercase;
|
|
1799
|
+
}
|
|
1800
|
+
.recipient-policy-sharing-received-row { border-top: 1px solid var(--border); background: var(--surface-1); }
|
|
1801
|
+
.recipient-policy-sharing-received-row > * { min-width: 0; overflow-wrap: anywhere; }
|
|
1802
|
+
.recipient-policy-sharing-received-row td { min-width: 0; padding: 0; color: var(--text-secondary); text-align: left; }
|
|
1803
|
+
.recipient-policy-sharing-received-row td:first-child { color: var(--text-primary); }
|
|
1804
|
+
.recipient-policy-sharing-received-head th { min-width: 0; padding: 0; text-align: left; }
|
|
1805
|
+
.recipient-policy-sharing-received-head th:nth-child(n + 3),
|
|
1806
|
+
.recipient-policy-sharing-received-row td:nth-child(n + 3) { text-align: right; }
|
|
1807
|
+
.recipient-policy-sharing-pointer { display: inline-block; margin-top: var(--sp-3); }
|
|
1577
1808
|
.recipient-policy-sharing-card,
|
|
1578
1809
|
.recipient-policy-sharing-card-title,
|
|
1579
1810
|
.recipient-policy-sharing-details dd { min-width: 0; overflow-wrap: anywhere; }
|
|
@@ -1607,10 +1838,6 @@
|
|
|
1607
1838
|
}
|
|
1608
1839
|
.recipient-policy-sharing-details dt { color: var(--text-secondary); }
|
|
1609
1840
|
.recipient-policy-sharing-details dd { margin: 0; color: var(--text-primary); }
|
|
1610
|
-
.recipient-policy-sharing-team-card > .recipient-policy-sharing-actions + .recipient-policy-sharing-actions {
|
|
1611
|
-
margin-top: var(--sp-2);
|
|
1612
|
-
}
|
|
1613
|
-
|
|
1614
1841
|
.loading-card-list { display: grid; gap: var(--sp-3); }
|
|
1615
1842
|
.loading-card {
|
|
1616
1843
|
padding: var(--sp-4);
|
|
@@ -1760,10 +1987,177 @@
|
|
|
1760
1987
|
.device-identity-review-panel ul { margin: var(--sp-3) 0; padding-left: var(--sp-5); }
|
|
1761
1988
|
.device-identity-review-panel .peer-actions { margin-top: var(--sp-4); }
|
|
1762
1989
|
|
|
1990
|
+
#devicesMount .recipient-policy-sharing-header {
|
|
1991
|
+
display: flex;
|
|
1992
|
+
align-items: flex-start;
|
|
1993
|
+
justify-content: space-between;
|
|
1994
|
+
gap: var(--sp-4);
|
|
1995
|
+
}
|
|
1996
|
+
.devices-summary-bar,
|
|
1997
|
+
.devices-summary-counts,
|
|
1998
|
+
.devices-summary-counts > span,
|
|
1999
|
+
.devices-identity-header,
|
|
2000
|
+
.devices-table-device {
|
|
2001
|
+
display: flex;
|
|
2002
|
+
align-items: center;
|
|
2003
|
+
}
|
|
2004
|
+
.devices-summary-bar {
|
|
2005
|
+
justify-content: space-between;
|
|
2006
|
+
gap: var(--sp-4);
|
|
2007
|
+
padding: 10px 14px;
|
|
2008
|
+
border-radius: var(--radius-sm);
|
|
2009
|
+
background: var(--surface-2);
|
|
2010
|
+
color: var(--text-secondary);
|
|
2011
|
+
font-size: var(--font-size-sm);
|
|
2012
|
+
}
|
|
2013
|
+
.devices-summary-counts { gap: var(--sp-4); flex-wrap: wrap; }
|
|
2014
|
+
.devices-summary-counts > span { gap: 6px; }
|
|
2015
|
+
.devices-coordinator-status {
|
|
2016
|
+
display: flex;
|
|
2017
|
+
align-items: center;
|
|
2018
|
+
gap: var(--sp-2);
|
|
2019
|
+
padding: var(--sp-2) var(--sp-3);
|
|
2020
|
+
border-radius: var(--radius-sm);
|
|
2021
|
+
background: var(--surface-2);
|
|
2022
|
+
}
|
|
2023
|
+
.devices-coordinator-status-spacer { flex: 1; }
|
|
2024
|
+
.devices-local-row {
|
|
2025
|
+
display: grid;
|
|
2026
|
+
grid-template-columns: 16px minmax(0, 1fr) auto;
|
|
2027
|
+
align-items: center;
|
|
2028
|
+
gap: var(--sp-3);
|
|
2029
|
+
padding: 14px var(--sp-4);
|
|
2030
|
+
border: 1px solid var(--border);
|
|
2031
|
+
border-radius: var(--radius-md);
|
|
2032
|
+
background: var(--surface-1);
|
|
2033
|
+
}
|
|
2034
|
+
.devices-local-copy { display: grid; gap: 2px; }
|
|
2035
|
+
.devices-local-copy .small { color: var(--text-tertiary); }
|
|
2036
|
+
.devices-empty-state {
|
|
2037
|
+
display: flex;
|
|
2038
|
+
flex-direction: column;
|
|
2039
|
+
align-items: center;
|
|
2040
|
+
gap: var(--sp-2);
|
|
2041
|
+
padding: 40px var(--sp-6);
|
|
2042
|
+
border: 1px dashed var(--border-strong);
|
|
2043
|
+
border-radius: var(--radius-md);
|
|
2044
|
+
text-align: center;
|
|
2045
|
+
}
|
|
2046
|
+
.devices-empty-state > strong { font-size: var(--font-size-lg); }
|
|
2047
|
+
.devices-empty-actions { display: flex; gap: var(--sp-2); margin-top: var(--sp-2); }
|
|
2048
|
+
.devices-pairing-panel {
|
|
2049
|
+
display: grid;
|
|
2050
|
+
gap: var(--sp-3);
|
|
2051
|
+
padding: var(--sp-4);
|
|
2052
|
+
border: 1px solid var(--border);
|
|
2053
|
+
border-radius: var(--radius-md);
|
|
2054
|
+
background: var(--surface-2);
|
|
2055
|
+
}
|
|
2056
|
+
.devices-pairing-panel p { margin: 0; color: var(--text-secondary); }
|
|
2057
|
+
.devices-pairing-header,
|
|
2058
|
+
.devices-pairing-command { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
|
|
2059
|
+
.devices-pairing-header h3 { margin: 0; }
|
|
2060
|
+
.devices-pairing-command code { min-width: 0; overflow-wrap: anywhere; }
|
|
2061
|
+
.devices-identity-group { display: grid; gap: var(--sp-2); margin-top: var(--sp-4); }
|
|
2062
|
+
.devices-identity-header { align-items: baseline; justify-content: space-between; gap: var(--sp-3); }
|
|
2063
|
+
.devices-identity-header strong > span { color: var(--text-tertiary); font-weight: var(--font-weight-regular); }
|
|
2064
|
+
.devices-identity-header > .small { color: var(--text-tertiary); }
|
|
2065
|
+
.devices-table { width: 100%; overflow: visible; border: 1px solid var(--border); border-spacing: 0; border-radius: var(--radius-md); }
|
|
2066
|
+
.devices-table-head,
|
|
2067
|
+
.devices-table-row {
|
|
2068
|
+
display: grid;
|
|
2069
|
+
grid-template-columns: 16px minmax(0, 1fr) 160px 140px 48px;
|
|
2070
|
+
align-items: center;
|
|
2071
|
+
column-gap: var(--sp-4);
|
|
2072
|
+
}
|
|
2073
|
+
.devices-table-head {
|
|
2074
|
+
padding: var(--sp-2) var(--sp-4);
|
|
2075
|
+
background: var(--surface-2);
|
|
2076
|
+
color: var(--text-tertiary);
|
|
2077
|
+
font-size: var(--font-size-2xs);
|
|
2078
|
+
font-weight: var(--font-weight-medium);
|
|
2079
|
+
letter-spacing: 0.06em;
|
|
2080
|
+
text-transform: uppercase;
|
|
2081
|
+
}
|
|
2082
|
+
.devices-table th,
|
|
2083
|
+
.devices-table td { min-width: 0; padding: 0; text-align: left; }
|
|
2084
|
+
.devices-table-head { border-radius: var(--radius-md) var(--radius-md) 0 0; }
|
|
2085
|
+
.devices-table-row { min-width: 0; padding: var(--sp-3) var(--sp-4); border-top: 1px solid var(--border); }
|
|
2086
|
+
.devices-table-device { min-width: 0; gap: var(--sp-2); flex-wrap: wrap; }
|
|
2087
|
+
.devices-table-device strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
2088
|
+
.devices-table-availability { color: var(--text-secondary); }
|
|
2089
|
+
.devices-table-version { color: var(--text-tertiary); font-family: var(--font-mono); font-size: var(--font-size-xs); }
|
|
2090
|
+
.devices-row-menu { position: relative; }
|
|
2091
|
+
.devices-row-menu > summary { list-style: none; }
|
|
2092
|
+
.devices-row-menu > summary::-webkit-details-marker { display: none; }
|
|
2093
|
+
.devices-row-menu[open] > .feed-menu-trigger { background: var(--surface-2); color: var(--text-primary); border-color: var(--border-hover); }
|
|
2094
|
+
.devices-row-menu > .feed-menu-panel { position: absolute; top: calc(100% + 4px); right: 0; }
|
|
2095
|
+
.devices-table-details { border-top: 1px solid var(--border); background: var(--surface-2); }
|
|
2096
|
+
.devices-table-details > td { display: grid; gap: var(--sp-3); padding: var(--sp-4) var(--sp-6); }
|
|
2097
|
+
.devices-table-details p { margin: 0; }
|
|
2098
|
+
.devices-table-details ul { margin: 0; padding-left: var(--sp-5); }
|
|
2099
|
+
.devices-table-details .device-identity-rebind { margin-top: 0; }
|
|
2100
|
+
.devices-delivered-copy-warning { margin-top: var(--sp-3); color: var(--text-secondary); }
|
|
2101
|
+
|
|
2102
|
+
@media (max-width: 900px) {
|
|
2103
|
+
.recipient-policy-sharing-card-header { align-items: stretch; flex-direction: column; }
|
|
2104
|
+
.recipient-policy-sharing-card-actions { justify-content: flex-start; }
|
|
2105
|
+
.recipient-policy-sharing-stats { grid-template-columns: 1fr; }
|
|
2106
|
+
.recipient-policy-sharing-received-head {
|
|
2107
|
+
position: absolute;
|
|
2108
|
+
width: 1px;
|
|
2109
|
+
height: 1px;
|
|
2110
|
+
padding: 0;
|
|
2111
|
+
margin: -1px;
|
|
2112
|
+
overflow: hidden;
|
|
2113
|
+
clip: rect(0, 0, 0, 0);
|
|
2114
|
+
clip-path: inset(50%);
|
|
2115
|
+
white-space: nowrap;
|
|
2116
|
+
border: 0;
|
|
2117
|
+
}
|
|
2118
|
+
.recipient-policy-sharing-received-row { grid-template-columns: 1fr 1fr; }
|
|
2119
|
+
.recipient-policy-sharing-received-row > td:not(:first-child)::before {
|
|
2120
|
+
content: attr(data-label) " ";
|
|
2121
|
+
display: block;
|
|
2122
|
+
color: var(--text-tertiary);
|
|
2123
|
+
font-size: var(--font-size-2xs);
|
|
2124
|
+
text-transform: uppercase;
|
|
2125
|
+
}
|
|
2126
|
+
.recipient-policy-sharing-received-row td:nth-child(n + 3) { text-align: left; }
|
|
2127
|
+
.project-inventory-table-header { display: none; }
|
|
2128
|
+
.project-inventory-table-row { grid-template-columns: 28px minmax(0, 1fr) auto; row-gap: var(--sp-3); }
|
|
2129
|
+
.project-inventory-select-cell { grid-column: 1; grid-row: 1; }
|
|
2130
|
+
.project-inventory-project-cell { grid-column: 2; grid-row: 1; }
|
|
2131
|
+
.project-inventory-row-actions { grid-column: 3; grid-row: 1; flex-wrap: wrap; }
|
|
2132
|
+
.project-inventory-number::before,
|
|
2133
|
+
.project-inventory-latest::before,
|
|
2134
|
+
.project-inventory-shared::before { content: attr(data-label) " "; color: var(--text-tertiary); font-size: var(--font-size-2xs); text-transform: uppercase; }
|
|
2135
|
+
.project-inventory-table-row > :nth-child(3) { grid-column: 2; grid-row: 2; }
|
|
2136
|
+
.project-inventory-table-row > :nth-child(4) { grid-column: 3; grid-row: 2; }
|
|
2137
|
+
.project-inventory-table-row > :nth-child(5) { grid-column: 2; grid-row: 3; }
|
|
2138
|
+
.project-inventory-table-row > :nth-child(6) { grid-column: 3; grid-row: 3; }
|
|
2139
|
+
.project-detail-grid { grid-template-columns: 1fr; }
|
|
2140
|
+
.devices-table-head { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
|
|
2141
|
+
.devices-table-row { grid-template-columns: 16px minmax(0, 1fr) 48px; row-gap: var(--sp-2); }
|
|
2142
|
+
.devices-table-row > :nth-child(1) { grid-column: 1; grid-row: 1; }
|
|
2143
|
+
.devices-table-row > :nth-child(2) { grid-column: 2; grid-row: 1; }
|
|
2144
|
+
.devices-table-row > :nth-child(3) { grid-column: 2; grid-row: 2; }
|
|
2145
|
+
.devices-table-row > :nth-child(4) { grid-column: 2; grid-row: 3; }
|
|
2146
|
+
.devices-table-row > :nth-child(5) { grid-column: 3; grid-row: 1; }
|
|
2147
|
+
.devices-table-availability::before,
|
|
2148
|
+
.devices-table-version::before { content: attr(data-label) " "; color: var(--text-tertiary); font-family: var(--font-sans); font-size: var(--font-size-2xs); text-transform: uppercase; }
|
|
2149
|
+
}
|
|
2150
|
+
|
|
1763
2151
|
@media (max-width: 720px) {
|
|
1764
|
-
.
|
|
1765
|
-
.
|
|
1766
|
-
.project-
|
|
2152
|
+
.recipient-policy-sharing-toolbar { align-items: stretch; flex-direction: column; }
|
|
2153
|
+
.recipient-policy-sharing-received-row { grid-template-columns: 1fr; }
|
|
2154
|
+
.project-inventory-row-header { grid-template-columns: 28px minmax(0, 1fr); }
|
|
2155
|
+
.project-inventory-row-actions { grid-column: 2; grid-row: 2; justify-content: flex-start; }
|
|
2156
|
+
.project-inventory-table-row > :nth-child(3) { grid-column: 2; grid-row: 3; }
|
|
2157
|
+
.project-inventory-table-row > :nth-child(4) { grid-column: 2; grid-row: 4; }
|
|
2158
|
+
.project-inventory-table-row > :nth-child(5) { grid-column: 2; grid-row: 5; }
|
|
2159
|
+
.project-inventory-table-row > :nth-child(6) { grid-column: 2; grid-row: 6; }
|
|
2160
|
+
.project-recipient-action { width: auto; }
|
|
1767
2161
|
.recipient-policy-management-dialog .modal-card { width: calc(100vw - 16px); }
|
|
1768
2162
|
.recipient-policy-management-actions,
|
|
1769
2163
|
.recipient-policy-sharing-responsive-actions { display: grid; grid-template-columns: 1fr; }
|
|
@@ -1785,6 +2179,16 @@
|
|
|
1785
2179
|
.device-identity-setup-summary { align-items: stretch; flex-direction: column; }
|
|
1786
2180
|
.device-identity-setup-summary .settings-button,
|
|
1787
2181
|
.device-identity-review-panel .settings-button { min-height: 44px; width: 100%; }
|
|
2182
|
+
.devices-summary-bar,
|
|
2183
|
+
.devices-coordinator-status,
|
|
2184
|
+
.devices-pairing-header,
|
|
2185
|
+
.devices-pairing-command,
|
|
2186
|
+
.devices-identity-header,
|
|
2187
|
+
#devicesMount .recipient-policy-sharing-header { align-items: stretch; flex-direction: column; }
|
|
2188
|
+
.devices-summary-bar .settings-button,
|
|
2189
|
+
.devices-coordinator-status .settings-button,
|
|
2190
|
+
.devices-pairing-panel button { width: 100%; min-height: 44px; }
|
|
2191
|
+
.devices-empty-actions { align-items: stretch; flex-direction: column; width: 100%; }
|
|
1788
2192
|
}
|
|
1789
2193
|
|
|
1790
2194
|
/* 36×36 square icon buttons — theme toggle, settings gear. */
|
|
@@ -1932,7 +2336,9 @@
|
|
|
1932
2336
|
transition: background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
|
|
1933
2337
|
}
|
|
1934
2338
|
.toggle-button:hover { background: var(--toggle-hover-bg); color: var(--text-primary); }
|
|
1935
|
-
.toggle-button.active
|
|
2339
|
+
.toggle-button.active,
|
|
2340
|
+
.toggle-button[data-state="checked"],
|
|
2341
|
+
.toggle-button[aria-checked="true"] {
|
|
1936
2342
|
background: var(--accent-subtle);
|
|
1937
2343
|
color: var(--accent);
|
|
1938
2344
|
box-shadow: inset 0 0 0 1px var(--accent-strong);
|
|
@@ -2007,18 +2413,14 @@
|
|
|
2007
2413
|
.feed-skeleton-chip.w-56 { width: 56px; }
|
|
2008
2414
|
|
|
2009
2415
|
/* ── Feed items ────────────────────────────────────────── */
|
|
2010
|
-
/* Design-handoff clarification (2026-04-19): feed items render with
|
|
2011
|
-
a full-width top banner in the kind's tint, not a 4px left rail.
|
|
2012
|
-
Banner ~28px tall, --accent-subtle bg per kind, 1px accent-strong
|
|
2013
|
-
bottom border; kind chip sits inset left inside the banner. */
|
|
2014
|
-
|
|
2015
2416
|
.feed-item {
|
|
2417
|
+
display: grid;
|
|
2418
|
+
grid-template-columns: 104px minmax(0, 1fr) auto;
|
|
2419
|
+
column-gap: var(--sp-4);
|
|
2420
|
+
padding: var(--sp-4) var(--sp-5);
|
|
2016
2421
|
border: 1px solid var(--border);
|
|
2017
|
-
border-radius: var(--radius-
|
|
2422
|
+
border-radius: var(--radius-lg);
|
|
2018
2423
|
background: var(--surface-1);
|
|
2019
|
-
overflow: hidden;
|
|
2020
|
-
display: flex;
|
|
2021
|
-
flex-direction: column;
|
|
2022
2424
|
box-shadow: var(--shadow-sm);
|
|
2023
2425
|
transition: transform var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
|
|
2024
2426
|
}
|
|
@@ -2028,31 +2430,17 @@
|
|
|
2028
2430
|
border-color: var(--border-hover);
|
|
2029
2431
|
}
|
|
2030
2432
|
|
|
2031
|
-
|
|
2032
|
-
.feed-kind-banner {
|
|
2033
|
-
padding: 7px var(--sp-5);
|
|
2034
|
-
background: var(--accent-subtle);
|
|
2035
|
-
border-bottom: 1px solid var(--accent-strong);
|
|
2036
|
-
}
|
|
2037
|
-
.feed-item.change .feed-kind-banner { background: var(--accent-cool-subtle); border-bottom-color: color-mix(in srgb, var(--accent-cool) 30%, transparent); }
|
|
2038
|
-
.feed-item.bugfix .feed-kind-banner { background: var(--accent-warm-subtle); border-bottom-color: color-mix(in srgb, var(--accent-warm) 30%, transparent); }
|
|
2039
|
-
.feed-item.refactor .feed-kind-banner { background: var(--accent-violet-subtle); border-bottom-color: color-mix(in srgb, var(--accent-violet) 30%, transparent); }
|
|
2040
|
-
.feed-item.discovery .feed-kind-banner { background: var(--accent-steel-subtle); border-bottom-color: color-mix(in srgb, var(--accent-steel) 30%, transparent); }
|
|
2041
|
-
.feed-item.docs .feed-kind-banner { background: var(--accent-ochre-subtle); border-bottom-color: color-mix(in srgb, var(--accent-ochre) 30%, transparent); }
|
|
2042
|
-
.feed-item.test .feed-kind-banner { background: var(--accent-neutral-subtle); border-bottom-color: color-mix(in srgb, var(--accent-neutral) 30%, transparent); }
|
|
2043
|
-
/* Core emits 'decision' / 'exploration' / 'session_summary' too — preserve
|
|
2044
|
-
neutral treatments so those items aren't unstyled. */
|
|
2045
|
-
.feed-item.decision .feed-kind-banner { background: var(--accent-neutral-subtle); border-bottom-color: color-mix(in srgb, var(--accent-neutral) 30%, transparent); }
|
|
2046
|
-
.feed-item.exploration .feed-kind-banner { background: color-mix(in srgb, var(--text-tertiary) 12%, transparent); border-bottom-color: color-mix(in srgb, var(--text-tertiary) 24%, transparent); }
|
|
2047
|
-
.feed-item.session_summary .feed-kind-banner { background: color-mix(in srgb, var(--accent-cool) 10%, transparent); border-bottom-color: color-mix(in srgb, var(--accent-cool) 22%, transparent); }
|
|
2048
|
-
|
|
2433
|
+
.feed-kind-rail { align-self: start; min-width: 0; }
|
|
2049
2434
|
.feed-card-body {
|
|
2050
2435
|
padding: var(--sp-4) var(--sp-5);
|
|
2051
2436
|
display: flex;
|
|
2052
2437
|
flex-direction: column;
|
|
2053
2438
|
gap: var(--sp-2);
|
|
2054
2439
|
}
|
|
2055
|
-
|
|
2440
|
+
.feed-item > .feed-card-body {
|
|
2441
|
+
padding: 0;
|
|
2442
|
+
min-width: 0;
|
|
2443
|
+
}
|
|
2056
2444
|
.feed-card-header {
|
|
2057
2445
|
display: flex;
|
|
2058
2446
|
align-items: flex-start;
|
|
@@ -2060,21 +2448,23 @@
|
|
|
2060
2448
|
gap: var(--sp-3);
|
|
2061
2449
|
}
|
|
2062
2450
|
.feed-card-header > .feed-header { flex: 1; overflow: hidden; }
|
|
2063
|
-
|
|
2064
|
-
.feed-header {
|
|
2451
|
+
.feed-card-side {
|
|
2065
2452
|
display: flex;
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2453
|
+
flex-direction: column;
|
|
2454
|
+
align-items: flex-end;
|
|
2455
|
+
justify-content: space-between;
|
|
2069
2456
|
min-width: 0;
|
|
2457
|
+
gap: var(--sp-3);
|
|
2070
2458
|
}
|
|
2071
|
-
|
|
2072
|
-
.feed-
|
|
2459
|
+
.feed-card-side-top,
|
|
2460
|
+
.feed-card-side-bottom {
|
|
2073
2461
|
display: flex;
|
|
2074
2462
|
align-items: center;
|
|
2463
|
+
justify-content: flex-end;
|
|
2464
|
+
min-width: 0;
|
|
2075
2465
|
gap: var(--sp-2);
|
|
2076
|
-
flex-shrink: 0;
|
|
2077
2466
|
}
|
|
2467
|
+
.feed-card-side-bottom { flex-wrap: wrap; }
|
|
2078
2468
|
|
|
2079
2469
|
.feed-menu-panel {
|
|
2080
2470
|
min-width: 180px;
|
|
@@ -2134,25 +2524,88 @@
|
|
|
2134
2524
|
}
|
|
2135
2525
|
|
|
2136
2526
|
.feed-title {
|
|
2137
|
-
|
|
2527
|
+
display: block;
|
|
2528
|
+
width: 100%;
|
|
2529
|
+
min-width: 0;
|
|
2530
|
+
padding: 0;
|
|
2531
|
+
border: 0;
|
|
2532
|
+
background: transparent;
|
|
2533
|
+
color: var(--text-primary);
|
|
2534
|
+
font-family: var(--font-sans);
|
|
2138
2535
|
font-size: var(--font-size-lg);
|
|
2139
|
-
|
|
2536
|
+
font-weight: var(--font-weight-semibold);
|
|
2537
|
+
line-height: 1.35;
|
|
2538
|
+
text-align: left;
|
|
2539
|
+
overflow-wrap: anywhere;
|
|
2540
|
+
white-space: normal;
|
|
2541
|
+
}
|
|
2542
|
+
button.feed-title { cursor: pointer; }
|
|
2543
|
+
button.feed-title:hover { color: var(--accent); }
|
|
2544
|
+
button.feed-title:focus-visible {
|
|
2545
|
+
border-radius: var(--radius-sm);
|
|
2546
|
+
outline: 2px solid var(--accent);
|
|
2547
|
+
outline-offset: 2px;
|
|
2548
|
+
}
|
|
2549
|
+
.feed-summary {
|
|
2140
2550
|
min-width: 0;
|
|
2141
|
-
display: -webkit-box;
|
|
2142
|
-
-webkit-box-orient: vertical;
|
|
2143
|
-
-webkit-line-clamp: 2;
|
|
2144
2551
|
overflow: hidden;
|
|
2145
|
-
|
|
2146
|
-
|
|
2552
|
+
color: var(--text-secondary);
|
|
2553
|
+
font-size: var(--font-size-md);
|
|
2554
|
+
line-height: 1.4;
|
|
2555
|
+
text-overflow: ellipsis;
|
|
2556
|
+
white-space: nowrap;
|
|
2147
2557
|
}
|
|
2148
|
-
.feed-
|
|
2149
|
-
|
|
2558
|
+
.feed-meta-line {
|
|
2559
|
+
display: flex;
|
|
2560
|
+
align-items: center;
|
|
2561
|
+
flex-wrap: wrap;
|
|
2562
|
+
min-width: 0;
|
|
2563
|
+
gap: 6px;
|
|
2150
2564
|
color: var(--text-tertiary);
|
|
2565
|
+
font-size: var(--font-size-sm);
|
|
2151
2566
|
}
|
|
2567
|
+
.feed-project { color: var(--text-secondary); }
|
|
2152
2568
|
.feed-meta {
|
|
2153
2569
|
color: var(--text-tertiary);
|
|
2154
2570
|
font-size: var(--font-size-sm);
|
|
2155
2571
|
}
|
|
2572
|
+
.feed-expanded-provenance {
|
|
2573
|
+
display: flex;
|
|
2574
|
+
flex-wrap: wrap;
|
|
2575
|
+
gap: 6px;
|
|
2576
|
+
}
|
|
2577
|
+
.feed-search-match {
|
|
2578
|
+
display: flex;
|
|
2579
|
+
min-width: 0;
|
|
2580
|
+
gap: var(--sp-2);
|
|
2581
|
+
padding: var(--sp-2) var(--sp-3);
|
|
2582
|
+
border-left: 2px solid var(--accent);
|
|
2583
|
+
background: var(--accent-subtle);
|
|
2584
|
+
color: var(--text-secondary);
|
|
2585
|
+
font-size: var(--font-size-sm);
|
|
2586
|
+
}
|
|
2587
|
+
.feed-search-match-label {
|
|
2588
|
+
flex-shrink: 0;
|
|
2589
|
+
color: var(--accent);
|
|
2590
|
+
font-family: var(--font-mono);
|
|
2591
|
+
text-transform: capitalize;
|
|
2592
|
+
}
|
|
2593
|
+
.feed-search-match > span:last-child {
|
|
2594
|
+
min-width: 0;
|
|
2595
|
+
overflow-wrap: anywhere;
|
|
2596
|
+
}
|
|
2597
|
+
.feed-detail {
|
|
2598
|
+
display: flex;
|
|
2599
|
+
flex-direction: column;
|
|
2600
|
+
gap: var(--sp-2);
|
|
2601
|
+
padding-top: var(--sp-2);
|
|
2602
|
+
border-top: 1px solid var(--border);
|
|
2603
|
+
animation: feedDisclosure var(--duration-fast) var(--ease-out);
|
|
2604
|
+
}
|
|
2605
|
+
@keyframes feedDisclosure {
|
|
2606
|
+
from { opacity: 0; transform: translateY(-4px); }
|
|
2607
|
+
to { opacity: 1; transform: translateY(0); }
|
|
2608
|
+
}
|
|
2156
2609
|
/* Empty state renders as a terminal-output block — mono surface,
|
|
2157
2610
|
blinking mint cursor — to match the codemem "warm local journal"
|
|
2158
2611
|
voice and signal "this is a CLI-native tool." */
|
|
@@ -2190,12 +2643,6 @@
|
|
|
2190
2643
|
50% { opacity: 0; }
|
|
2191
2644
|
}
|
|
2192
2645
|
|
|
2193
|
-
.feed-provenance {
|
|
2194
|
-
display: flex;
|
|
2195
|
-
flex-wrap: wrap;
|
|
2196
|
-
gap: 6px;
|
|
2197
|
-
}
|
|
2198
|
-
|
|
2199
2646
|
/* ── Chip base ─────────────────────────────────────────── */
|
|
2200
2647
|
/* Shared layout for every pill-shaped label in the viewer. Per-variant
|
|
2201
2648
|
rules below only override background / color / border / typography.
|
|
@@ -2225,6 +2672,12 @@
|
|
|
2225
2672
|
background: var(--surface-2);
|
|
2226
2673
|
color: var(--text-tertiary);
|
|
2227
2674
|
}
|
|
2675
|
+
.feed-item .feed-meta-line > *, .feed-item .feed-expanded-provenance > * {
|
|
2676
|
+
min-width: 0;
|
|
2677
|
+
max-width: 100%;
|
|
2678
|
+
white-space: normal;
|
|
2679
|
+
overflow-wrap: anywhere;
|
|
2680
|
+
}
|
|
2228
2681
|
.provenance-chip.mine { background: var(--accent-subtle); color: var(--accent); border-color: rgba(43, 122, 176, 0.18); }
|
|
2229
2682
|
.provenance-chip.author { color: var(--text-secondary); }
|
|
2230
2683
|
.provenance-chip.private { background: rgba(140, 140, 140, 0.12); color: var(--text-secondary); }
|
|
@@ -2241,10 +2694,61 @@
|
|
|
2241
2694
|
}
|
|
2242
2695
|
|
|
2243
2696
|
.feed-body {
|
|
2697
|
+
min-width: 0;
|
|
2698
|
+
overflow-wrap: anywhere;
|
|
2244
2699
|
font-size: var(--font-size-md);
|
|
2245
2700
|
line-height: 1.55;
|
|
2246
2701
|
color: var(--text-secondary);
|
|
2247
2702
|
}
|
|
2703
|
+
.first-run-guide {
|
|
2704
|
+
display: flex;
|
|
2705
|
+
flex-direction: column;
|
|
2706
|
+
gap: var(--sp-3);
|
|
2707
|
+
margin-bottom: var(--sp-4);
|
|
2708
|
+
padding: var(--sp-4);
|
|
2709
|
+
border: 1px solid var(--border);
|
|
2710
|
+
border-radius: var(--radius-md);
|
|
2711
|
+
background: var(--surface-1);
|
|
2712
|
+
}
|
|
2713
|
+
.first-run-guide-header {
|
|
2714
|
+
display: flex;
|
|
2715
|
+
align-items: flex-start;
|
|
2716
|
+
justify-content: space-between;
|
|
2717
|
+
gap: var(--sp-3);
|
|
2718
|
+
}
|
|
2719
|
+
.first-run-guide h2 { margin: 0; font-size: var(--font-size-lg); }
|
|
2720
|
+
.first-run-guide p { margin: 3px 0 0; color: var(--text-secondary); }
|
|
2721
|
+
.first-run-guide-list {
|
|
2722
|
+
display: grid;
|
|
2723
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2724
|
+
gap: var(--sp-2);
|
|
2725
|
+
margin: 0;
|
|
2726
|
+
padding: 0;
|
|
2727
|
+
list-style: none;
|
|
2728
|
+
}
|
|
2729
|
+
.first-run-guide-list li {
|
|
2730
|
+
display: flex;
|
|
2731
|
+
align-items: center;
|
|
2732
|
+
justify-content: space-between;
|
|
2733
|
+
gap: var(--sp-2);
|
|
2734
|
+
min-width: 0;
|
|
2735
|
+
padding: var(--sp-2);
|
|
2736
|
+
border: 1px solid var(--border);
|
|
2737
|
+
border-radius: var(--radius-sm);
|
|
2738
|
+
}
|
|
2739
|
+
.first-run-guide-list li.is-complete { background: var(--surface-2); }
|
|
2740
|
+
.first-run-guide-status { display: flex; align-items: flex-start; gap: var(--sp-2); min-width: 0; }
|
|
2741
|
+
.first-run-guide-status > span:last-child { display: flex; flex-direction: column; min-width: 0; }
|
|
2742
|
+
.first-run-guide-status .small { color: var(--text-tertiary); }
|
|
2743
|
+
.feed-empty-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
|
|
2744
|
+
|
|
2745
|
+
@media (max-width: 755px) {
|
|
2746
|
+
.first-run-guide-header,
|
|
2747
|
+
.first-run-guide-list li { align-items: stretch; flex-direction: column; }
|
|
2748
|
+
.first-run-guide-list { grid-template-columns: 1fr; }
|
|
2749
|
+
.first-run-guide button,
|
|
2750
|
+
.feed-empty-actions .settings-button { width: 100%; }
|
|
2751
|
+
}
|
|
2248
2752
|
.feed-body.narrative { max-width: 88ch; }
|
|
2249
2753
|
.feed-body.clamp { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
|
|
2250
2754
|
.feed-body.clamp-3 { -webkit-line-clamp: 3; }
|
|
@@ -2275,16 +2779,15 @@
|
|
|
2275
2779
|
.summary-section-label { font-size: var(--font-size-xs); font-weight: var(--font-weight-semibold); text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-tertiary); }
|
|
2276
2780
|
.summary-section-content { font-size: var(--font-size-md); line-height: 1.5; color: var(--text-primary); }
|
|
2277
2781
|
|
|
2278
|
-
.feed-
|
|
2782
|
+
.feed-visibility-label {
|
|
2279
2783
|
display: flex;
|
|
2280
|
-
flex-
|
|
2281
|
-
gap:
|
|
2282
|
-
|
|
2283
|
-
|
|
2784
|
+
flex-direction: column;
|
|
2785
|
+
gap: 3px;
|
|
2786
|
+
color: var(--text-tertiary);
|
|
2787
|
+
font-size: var(--font-size-2xs);
|
|
2788
|
+
letter-spacing: 0.06em;
|
|
2789
|
+
text-transform: uppercase;
|
|
2284
2790
|
}
|
|
2285
|
-
.feed-footer-left { display: flex; flex-direction: column; gap: 6px; }
|
|
2286
|
-
.feed-footer-right { display: flex; align-items: center; gap: var(--sp-2); flex-shrink: 0; }
|
|
2287
|
-
.feed-visibility-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
|
|
2288
2791
|
.feed-visibility-select {
|
|
2289
2792
|
min-width: 180px;
|
|
2290
2793
|
padding: 6px 10px;
|
|
@@ -2294,22 +2797,8 @@
|
|
|
2294
2797
|
color: var(--text-primary);
|
|
2295
2798
|
font-family: var(--font-sans);
|
|
2296
2799
|
font-size: var(--font-size-sm);
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
.feed-expand {
|
|
2301
|
-
border: 1px solid var(--border);
|
|
2302
|
-
background: transparent;
|
|
2303
|
-
color: var(--text-tertiary);
|
|
2304
|
-
padding: 3px 10px;
|
|
2305
|
-
font-size: var(--font-size-xs);
|
|
2306
|
-
transition: background var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);
|
|
2307
|
-
}
|
|
2308
|
-
.feed-expand:hover { background: var(--accent-subtle); color: var(--accent); }
|
|
2309
|
-
.feed-expand:focus-visible {
|
|
2310
|
-
outline: 2px solid var(--accent);
|
|
2311
|
-
outline-offset: 2px;
|
|
2312
|
-
box-shadow: 0 0 0 4px var(--focus-ring);
|
|
2800
|
+
letter-spacing: normal;
|
|
2801
|
+
text-transform: none;
|
|
2313
2802
|
}
|
|
2314
2803
|
|
|
2315
2804
|
.feed-tags { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
@@ -2317,6 +2806,9 @@
|
|
|
2317
2806
|
filename is informative and earns its horizontal space. */
|
|
2318
2807
|
.feed-files { display: flex; flex-wrap: wrap; gap: 6px; }
|
|
2319
2808
|
.feed-file {
|
|
2809
|
+
max-width: 100%;
|
|
2810
|
+
overflow: hidden;
|
|
2811
|
+
text-overflow: ellipsis;
|
|
2320
2812
|
padding: 2px 8px;
|
|
2321
2813
|
border-radius: var(--radius-sm);
|
|
2322
2814
|
background: var(--surface-2);
|
|
@@ -2330,7 +2822,7 @@
|
|
|
2330
2822
|
|
|
2331
2823
|
/* ── Pills & badges ────────────────────────────────────── */
|
|
2332
2824
|
|
|
2333
|
-
/* Kind chip — lives inside .feed-kind-
|
|
2825
|
+
/* Kind chip — lives inside .feed-kind-rail. Tint + colored border
|
|
2334
2826
|
match the banner per kind so the chip reads as part of the strip. */
|
|
2335
2827
|
.kind-chip {
|
|
2336
2828
|
padding: 2px 10px;
|
|
@@ -2430,55 +2922,31 @@
|
|
|
2430
2922
|
|
|
2431
2923
|
.health-update-banner {
|
|
2432
2924
|
display: flex;
|
|
2433
|
-
align-items:
|
|
2434
|
-
|
|
2435
|
-
|
|
2925
|
+
align-items: center;
|
|
2926
|
+
flex-wrap: wrap;
|
|
2927
|
+
gap: var(--sp-2);
|
|
2928
|
+
padding: 10px var(--sp-4);
|
|
2436
2929
|
border: 1px solid var(--border);
|
|
2437
|
-
border-radius: var(--radius-
|
|
2930
|
+
border-radius: var(--radius-md);
|
|
2438
2931
|
background: var(--surface-1);
|
|
2439
|
-
|
|
2440
|
-
}
|
|
2441
|
-
.health-update-banner--current {
|
|
2442
|
-
border-color: color-mix(in srgb, var(--status-healthy) 34%, var(--border));
|
|
2443
|
-
background: color-mix(in srgb, var(--status-healthy) 7%, var(--surface-1));
|
|
2444
|
-
}
|
|
2445
|
-
.health-update-banner--available,
|
|
2446
|
-
.health-update-banner--stale {
|
|
2447
|
-
border-color: color-mix(in srgb, var(--accent-warm) 34%, var(--border));
|
|
2448
|
-
background: color-mix(in srgb, var(--accent-warm-subtle) 34%, var(--surface-1));
|
|
2449
|
-
}
|
|
2450
|
-
.health-update-banner--unavailable {
|
|
2451
|
-
border-color: color-mix(in srgb, var(--status-attention) 34%, var(--border));
|
|
2452
|
-
background: color-mix(in srgb, var(--status-attention) 7%, var(--surface-1));
|
|
2932
|
+
color: var(--text-secondary);
|
|
2453
2933
|
}
|
|
2454
2934
|
.health-update-icon {
|
|
2455
|
-
width:
|
|
2456
|
-
height:
|
|
2457
|
-
flex: 0 0
|
|
2458
|
-
margin-top: 2px;
|
|
2935
|
+
width: 16px;
|
|
2936
|
+
height: 16px;
|
|
2937
|
+
flex: 0 0 16px;
|
|
2459
2938
|
color: var(--accent);
|
|
2460
2939
|
}
|
|
2461
|
-
.health-update-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
.health-update-banner--unavailable .health-update-icon { color: var(--status-attention); }
|
|
2465
|
-
.health-update-copy { min-width: 0; }
|
|
2466
|
-
.health-update-copy h2 { font-size: var(--font-size-lg); line-height: 1.3; }
|
|
2467
|
-
.health-update-copy p { margin-top: var(--sp-1); color: var(--text-secondary); }
|
|
2468
|
-
.health-update-guidance { display: grid; gap: 3px; }
|
|
2469
|
-
.health-update-guidance-label {
|
|
2470
|
-
color: var(--text-tertiary);
|
|
2471
|
-
font-size: var(--font-size-xs);
|
|
2472
|
-
font-weight: var(--font-weight-semibold);
|
|
2473
|
-
letter-spacing: 0.06em;
|
|
2474
|
-
text-transform: uppercase;
|
|
2940
|
+
.health-update-source {
|
|
2941
|
+
background: var(--accent-cool-subtle);
|
|
2942
|
+
color: var(--accent-cool);
|
|
2475
2943
|
}
|
|
2476
|
-
.health-update-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
font-size: var(--font-size-sm);
|
|
2944
|
+
.health-update-detail { flex: 1 1 280px; min-width: 0; }
|
|
2945
|
+
.health-update-command {
|
|
2946
|
+
flex: 1 1 100%;
|
|
2480
2947
|
overflow-wrap: anywhere;
|
|
2481
2948
|
}
|
|
2949
|
+
.health-update-copy-button { margin-left: auto; }
|
|
2482
2950
|
|
|
2483
2951
|
.health-actions, .sync-actions {
|
|
2484
2952
|
display: grid;
|
|
@@ -3056,7 +3524,8 @@
|
|
|
3056
3524
|
animation: sync-attention-target var(--duration-attention) var(--ease-out);
|
|
3057
3525
|
}
|
|
3058
3526
|
.settings-button:disabled,
|
|
3059
|
-
.settings-button[aria-disabled="true"]
|
|
3527
|
+
.settings-button[aria-disabled="true"],
|
|
3528
|
+
.settings-save[aria-disabled="true"] {
|
|
3060
3529
|
opacity: 0.55;
|
|
3061
3530
|
cursor: not-allowed;
|
|
3062
3531
|
}
|
|
@@ -3530,6 +3999,18 @@
|
|
|
3530
3999
|
}
|
|
3531
4000
|
.modal-body { display: flex; flex-direction: column; gap: var(--sp-3); flex: 1; min-height: 0; overflow-y: auto; padding-right: 6px; }
|
|
3532
4001
|
.modal-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); flex-shrink: 0; padding-top: var(--sp-2); border-top: 1px solid var(--border); }
|
|
4002
|
+
.settings-footer-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
|
|
4003
|
+
.settings-link-button {
|
|
4004
|
+
padding: 0;
|
|
4005
|
+
border: 0;
|
|
4006
|
+
background: transparent;
|
|
4007
|
+
color: var(--text-secondary);
|
|
4008
|
+
font: inherit;
|
|
4009
|
+
font-size: var(--font-size-sm);
|
|
4010
|
+
text-decoration: underline;
|
|
4011
|
+
text-underline-offset: 2px;
|
|
4012
|
+
}
|
|
4013
|
+
.settings-link-button:hover { color: var(--text-primary); }
|
|
3533
4014
|
/* ── Toast (Radix Toast-backed) ───────────────────────── */
|
|
3534
4015
|
/* Fixed viewport anchored bottom-right. Each toast is a surface-card
|
|
3535
4016
|
with a severity-tinted left accent keyed to .toast-{variant}. */
|
|
@@ -3690,6 +4171,23 @@
|
|
|
3690
4171
|
color: var(--accent);
|
|
3691
4172
|
background: var(--accent-subtle);
|
|
3692
4173
|
}
|
|
4174
|
+
.advanced-heading { margin: 0 0 var(--sp-4); font-size: var(--font-size-2xl); }
|
|
4175
|
+
#advancedTabsMount .settings-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
4176
|
+
.advanced-sync-status,
|
|
4177
|
+
.advanced-sync-status-label {
|
|
4178
|
+
display: flex;
|
|
4179
|
+
align-items: center;
|
|
4180
|
+
}
|
|
4181
|
+
.advanced-sync-status { justify-content: space-between; gap: var(--sp-4); }
|
|
4182
|
+
.advanced-sync-status-label { gap: var(--sp-3); }
|
|
4183
|
+
.advanced-sync-status-label .xl { font-size: var(--font-size-xl); }
|
|
4184
|
+
.advanced-administration-sections { margin-bottom: var(--sp-3); }
|
|
4185
|
+
|
|
4186
|
+
@media (max-width: 720px) {
|
|
4187
|
+
.advanced-sync-status { align-items: stretch; flex-direction: column; }
|
|
4188
|
+
.advanced-sync-status .section-actions { align-items: stretch; flex-direction: column; }
|
|
4189
|
+
.advanced-sync-status .settings-save { width: 100%; }
|
|
4190
|
+
}
|
|
3693
4191
|
.settings-panel { display: flex; flex-direction: column; gap: var(--sp-3); }
|
|
3694
4192
|
.settings-panel[data-state="inactive"] { display: none; }
|
|
3695
4193
|
.settings-panel[hidden] { display: none; }
|
|
@@ -3849,6 +4347,19 @@
|
|
|
3849
4347
|
}
|
|
3850
4348
|
|
|
3851
4349
|
.field { display: flex; flex-direction: column; gap: 6px; font-size: var(--font-size-md); }
|
|
4350
|
+
.settings-outcome {
|
|
4351
|
+
margin: 0;
|
|
4352
|
+
color: var(--text-tertiary);
|
|
4353
|
+
font-size: var(--font-size-xs);
|
|
4354
|
+
line-height: 1.45;
|
|
4355
|
+
}
|
|
4356
|
+
.settings-outcome > summary,
|
|
4357
|
+
.settings-config-details > summary { cursor: pointer; color: var(--text-secondary); }
|
|
4358
|
+
.settings-outcome > summary:focus-visible,
|
|
4359
|
+
.settings-config-details > summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
4360
|
+
.settings-outcome-details { display: grid; gap: var(--sp-1); padding-top: var(--sp-2); }
|
|
4361
|
+
.settings-config-details { margin-top: var(--sp-4); font-size: var(--font-size-xs); overflow-wrap: anywhere; }
|
|
4362
|
+
.settings-outcome strong { color: var(--text-secondary); font-weight: var(--font-weight-medium); }
|
|
3852
4363
|
.field input:not([type="checkbox"]), .field select, .field textarea { padding: var(--sp-2) var(--sp-3); border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--input-bg); font-family: var(--font-sans); font-size: var(--font-size-md); color: var(--text-primary); }
|
|
3853
4364
|
.settings-select-trigger {
|
|
3854
4365
|
display: inline-flex;
|
|
@@ -3909,7 +4420,9 @@
|
|
|
3909
4420
|
justify-content: flex-start;
|
|
3910
4421
|
gap: 10px;
|
|
3911
4422
|
flex: 0 1 auto;
|
|
4423
|
+
flex-wrap: wrap;
|
|
3912
4424
|
}
|
|
4425
|
+
.settings-switch-row .settings-outcome { flex-basis: 100%; }
|
|
3913
4426
|
.settings-switch-copy {
|
|
3914
4427
|
color: var(--text-primary);
|
|
3915
4428
|
line-height: 1.35;
|
|
@@ -3972,6 +4485,19 @@
|
|
|
3972
4485
|
transition: background var(--duration-fast) var(--ease-standard);
|
|
3973
4486
|
}
|
|
3974
4487
|
.settings-save:hover { background: var(--control-hover-bg); }
|
|
4488
|
+
/* Text actions share geometry; icon, tab, and segmented controls retain theirs. */
|
|
4489
|
+
.settings-button,
|
|
4490
|
+
.settings-save {
|
|
4491
|
+
display: inline-flex;
|
|
4492
|
+
align-items: center;
|
|
4493
|
+
justify-content: center;
|
|
4494
|
+
box-sizing: border-box;
|
|
4495
|
+
min-height: 36px;
|
|
4496
|
+
padding: 8px 12px;
|
|
4497
|
+
border-radius: var(--radius-md);
|
|
4498
|
+
font-size: var(--font-size-sm);
|
|
4499
|
+
line-height: 18px;
|
|
4500
|
+
}
|
|
3975
4501
|
.sync-dialog-card {
|
|
3976
4502
|
width: min(560px, 100%);
|
|
3977
4503
|
}
|
|
@@ -4119,8 +4645,8 @@
|
|
|
4119
4645
|
50% { transform: scale(1.3); opacity: 0.5; }
|
|
4120
4646
|
}
|
|
4121
4647
|
|
|
4122
|
-
/* newPulse: fresh feed items pulse
|
|
4123
|
-
|
|
4648
|
+
/* newPulse: fresh feed items pulse the card outline from accent-strong
|
|
4649
|
+
to transparent once on mount. The class is
|
|
4124
4650
|
applied by feed.ts only while state.newItemKeys holds the item's
|
|
4125
4651
|
key (700ms useEffect then clears it). Skipped entirely under
|
|
4126
4652
|
prefers-reduced-motion so the ambient accessibility pass still
|
|
@@ -4157,12 +4683,9 @@
|
|
|
4157
4683
|
.tab-btn { flex-shrink: 0; }
|
|
4158
4684
|
.tab-panel { padding: var(--sp-4); }
|
|
4159
4685
|
.summary-row { grid-template-columns: 1fr; }
|
|
4160
|
-
.
|
|
4161
|
-
.feed-actions { width: 100%; justify-content: flex-end; }
|
|
4686
|
+
.health-tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
4162
4687
|
.actor-row { align-items: stretch; flex-direction: column; }
|
|
4163
4688
|
.peer-scope-row { grid-template-columns: 1fr; }
|
|
4164
|
-
.feed-visibility-controls { align-items: stretch; }
|
|
4165
|
-
.feed-visibility-select { width: 100%; }
|
|
4166
4689
|
.actor-actions { justify-content: flex-start; }
|
|
4167
4690
|
.legacy-review-header { flex-direction: column; }
|
|
4168
4691
|
.legacy-review-group-main { grid-template-columns: 1fr; }
|
|
@@ -4171,6 +4694,41 @@
|
|
|
4171
4694
|
.legacy-review-bulk-row .settings-save { width: 100%; }
|
|
4172
4695
|
}
|
|
4173
4696
|
|
|
4697
|
+
@media (max-width: 755px) {
|
|
4698
|
+
.feed-item {
|
|
4699
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
4700
|
+
row-gap: var(--sp-3);
|
|
4701
|
+
padding: var(--sp-4);
|
|
4702
|
+
}
|
|
4703
|
+
.feed-kind-rail { grid-column: 1; grid-row: 1; align-self: center; }
|
|
4704
|
+
.feed-card-side { display: contents; }
|
|
4705
|
+
.feed-card-side-top { grid-column: 2; grid-row: 1; }
|
|
4706
|
+
.feed-item > .feed-card-body { grid-column: 1 / -1; grid-row: 2; }
|
|
4707
|
+
.feed-card-side-bottom {
|
|
4708
|
+
grid-column: 1 / -1;
|
|
4709
|
+
grid-row: 3;
|
|
4710
|
+
justify-content: space-between;
|
|
4711
|
+
flex-wrap: wrap;
|
|
4712
|
+
}
|
|
4713
|
+
.feed-toggle { max-width: 100%; }
|
|
4714
|
+
.toggle-button { padding-inline: var(--sp-2); }
|
|
4715
|
+
.feed-visibility-label { flex: 1 1 180px; }
|
|
4716
|
+
.feed-visibility-select { box-sizing: border-box; width: 100%; min-width: 0; }
|
|
4717
|
+
.feed-meta-line { max-width: 100%; }
|
|
4718
|
+
.feed-file { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
|
|
4719
|
+
}
|
|
4720
|
+
|
|
4721
|
+
@media print {
|
|
4722
|
+
.feed-menu-trigger,
|
|
4723
|
+
.feed-card-side-bottom { display: none !important; }
|
|
4724
|
+
.feed-item {
|
|
4725
|
+
break-inside: avoid;
|
|
4726
|
+
grid-template-columns: 104px minmax(0, 1fr) auto;
|
|
4727
|
+
box-shadow: none;
|
|
4728
|
+
}
|
|
4729
|
+
.feed-item:hover { transform: none; box-shadow: none; }
|
|
4730
|
+
}
|
|
4731
|
+
|
|
4174
4732
|
@media (max-width: 720px) {
|
|
4175
4733
|
.header-title { font-size: var(--font-size-xl); }
|
|
4176
4734
|
}
|
|
@@ -4221,7 +4779,9 @@
|
|
|
4221
4779
|
|
|
4222
4780
|
@media (prefers-reduced-motion: reduce) {
|
|
4223
4781
|
.health-loading-icon,
|
|
4224
|
-
.viewer-reconnect-spinner
|
|
4782
|
+
.viewer-reconnect-spinner,
|
|
4783
|
+
.feed-detail,
|
|
4784
|
+
.feed-item.new-item {
|
|
4225
4785
|
animation: none;
|
|
4226
4786
|
}
|
|
4227
4787
|
*, *::before, *::after {
|
|
@@ -4512,15 +5072,21 @@
|
|
|
4512
5072
|
<!-- ── Tab: Health ─────────────────────────────────────── -->
|
|
4513
5073
|
<div class="tab-panel" id="tab-health" hidden>
|
|
4514
5074
|
<div id="healthUpdateBanner" hidden></div>
|
|
4515
|
-
<
|
|
4516
|
-
<div class="
|
|
4517
|
-
<
|
|
5075
|
+
<section class="card health-system-card" id="healthSystemCard" aria-label="System health" tabindex="-1">
|
|
5076
|
+
<div class="health-system-header">
|
|
5077
|
+
<div id="healthStatus">
|
|
5078
|
+
<div class="health-status-summary">
|
|
5079
|
+
<div class="health-status-copy">
|
|
5080
|
+
<strong class="health-status-word status-unknown">Assessing</strong>
|
|
5081
|
+
<div class="section-meta" id="healthMeta" role="status" aria-live="polite" aria-atomic="true">Assessing health signals…</div>
|
|
5082
|
+
</div>
|
|
5083
|
+
</div>
|
|
5084
|
+
</div>
|
|
4518
5085
|
<button class="settings-button" id="healthOpenDiagnostics" type="button">View diagnostics</button>
|
|
4519
5086
|
</div>
|
|
4520
|
-
<div class="section-meta" id="healthMeta" role="status" aria-live="polite" aria-atomic="true">Assessing health signals…</div>
|
|
4521
5087
|
<div class="health-actions" id="healthActions"></div>
|
|
4522
|
-
<div
|
|
4523
|
-
</
|
|
5088
|
+
<div id="healthGrid"></div>
|
|
5089
|
+
</section>
|
|
4524
5090
|
|
|
4525
5091
|
<div class="summary-row">
|
|
4526
5092
|
<div class="card" style="animation-delay: 0.05s">
|
|
@@ -4541,20 +5107,17 @@
|
|
|
4541
5107
|
<div id="recipientPolicyReviewMount" hidden></div>
|
|
4542
5108
|
<div class="card" style="animation-delay: 0s">
|
|
4543
5109
|
<div class="section-header">
|
|
4544
|
-
<
|
|
4545
|
-
<h2>Projects</h2>
|
|
4546
|
-
<div class="section-meta">Choose exact Projects, then share them with Teams or Identities.</div>
|
|
4547
|
-
</div>
|
|
5110
|
+
<h2>Projects</h2>
|
|
4548
5111
|
<div class="section-actions project-selection-actions">
|
|
4549
5112
|
<span class="section-meta" id="projectsSelectionStatus" role="status" aria-live="polite">0 Projects selected.</span>
|
|
4550
|
-
<button class="settings-button project-selection-target" id="projectsShareSelected" type="button" disabled>
|
|
5113
|
+
<button class="settings-button project-selection-target" id="projectsShareSelected" type="button" disabled>Add Teams or Identities</button>
|
|
4551
5114
|
</div>
|
|
4552
5115
|
</div>
|
|
4553
5116
|
<div class="projects-toolbar">
|
|
4554
|
-
<input class="feed-search" id="projectsSearch" placeholder="Search
|
|
4555
|
-
<select id="projectsStatusFilter" aria-label="
|
|
5117
|
+
<input class="feed-search" id="projectsSearch" placeholder="Search by name, path, or git remote…" />
|
|
5118
|
+
<select id="projectsStatusFilter" aria-label="Filter projects"></select>
|
|
5119
|
+
<span class="small" id="projectsInventoryMeta">Loading project inventory…</span>
|
|
4556
5120
|
</div>
|
|
4557
|
-
<div class="section-meta" id="projectsInventoryMeta">Loading project inventory…</div>
|
|
4558
5121
|
<div class="project-inventory-skeleton" id="projectsInventorySkeleton" role="status" aria-label="Loading project inventory" aria-busy="true">
|
|
4559
5122
|
<div class="project-inventory-skeleton-row">
|
|
4560
5123
|
<div class="project-inventory-skeleton-line title"></div>
|
|
@@ -4574,8 +5137,7 @@
|
|
|
4574
5137
|
</div>
|
|
4575
5138
|
</div>
|
|
4576
5139
|
<details class="card project-advanced-surface">
|
|
4577
|
-
<summary>
|
|
4578
|
-
<div class="section-meta">Use the legacy invitation flow when the recipient does not have an Identity yet.</div>
|
|
5140
|
+
<summary>Invite someone</summary>
|
|
4579
5141
|
<div class="section-actions" id="projectShareFlowMount"></div>
|
|
4580
5142
|
</details>
|
|
4581
5143
|
</div>
|
|
@@ -4592,39 +5154,33 @@
|
|
|
4592
5154
|
|
|
4593
5155
|
<!-- ── Tab: Advanced ───────────────────────────────────── -->
|
|
4594
5156
|
<div class="tab-panel" id="tab-advanced" hidden>
|
|
4595
|
-
<
|
|
4596
|
-
|
|
4597
|
-
<div>
|
|
4598
|
-
<h2>Advanced</h2>
|
|
4599
|
-
<div class="section-meta">Device sync, legacy Team and Space setup, and coordinator administration.</div>
|
|
4600
|
-
</div>
|
|
4601
|
-
<div class="section-actions" aria-label="Advanced sections" role="group">
|
|
4602
|
-
<button class="settings-button" id="advancedSyncButton" type="button" aria-pressed="true">Sync</button>
|
|
4603
|
-
<button class="settings-button" id="advancedTeamsButton" type="button" aria-pressed="false">Coordinator Administration</button>
|
|
4604
|
-
</div>
|
|
4605
|
-
</div>
|
|
4606
|
-
</div>
|
|
5157
|
+
<h2 class="advanced-heading">Advanced</h2>
|
|
5158
|
+
<div id="advancedTabsMount"></div>
|
|
4607
5159
|
|
|
4608
|
-
<div id="advancedSyncContent">
|
|
5160
|
+
<div id="advancedSyncContent" role="tabpanel" aria-labelledby="advancedSyncButton">
|
|
4609
5161
|
|
|
4610
5162
|
<!-- Sub-view: main Sync surface. Toggled by syncViewController and
|
|
4611
5163
|
app compatibility routing for canonical and legacy hashes. -->
|
|
4612
5164
|
<div id="syncMainView">
|
|
4613
5165
|
|
|
5166
|
+
<section class="card advanced-sync-status">
|
|
5167
|
+
<div id="syncAdvancedStatusMount"></div>
|
|
5168
|
+
<div class="section-actions">
|
|
5169
|
+
<button class="settings-button" id="syncNowButton">Sync now</button>
|
|
5170
|
+
<a class="sync-subview-link" href="#advanced/sync/diagnostics">View diagnostics →</a>
|
|
5171
|
+
<button class="settings-save" id="syncTurnOnButton" type="button" hidden>Turn on sync</button>
|
|
5172
|
+
</div>
|
|
5173
|
+
</section>
|
|
5174
|
+
|
|
4614
5175
|
<!-- 1. Needs attention + team setup/status -->
|
|
4615
5176
|
<div class="card" id="syncTeamCard">
|
|
4616
5177
|
<div class="section-header">
|
|
4617
5178
|
<div class="section-header-title">
|
|
4618
|
-
<h2>
|
|
5179
|
+
<h2>Join a team</h2>
|
|
4619
5180
|
<span class="sync-online-badge" id="syncOnlineBadge" hidden role="status" aria-live="polite"></span>
|
|
4620
5181
|
</div>
|
|
4621
|
-
<div class="section-actions">
|
|
4622
|
-
<button class="settings-button" id="syncShareProjectsButton" type="button">Share projects</button>
|
|
4623
|
-
<button class="settings-button" id="syncNowButton">Sync now</button>
|
|
4624
|
-
<a class="sync-subview-link" href="#advanced/sync/diagnostics">View diagnostics →</a>
|
|
4625
|
-
</div>
|
|
4626
5182
|
</div>
|
|
4627
|
-
<div class="section-meta" id="syncTeamMeta"
|
|
5183
|
+
<div class="section-meta" id="syncTeamMeta" hidden></div>
|
|
4628
5184
|
<div class="sync-skeleton" id="syncTeamSkeleton" role="status" aria-label="Loading team sync">
|
|
4629
5185
|
<div class="sync-skeleton-line medium"></div>
|
|
4630
5186
|
<div class="sync-skeleton-block"></div>
|
|
@@ -4634,10 +5190,9 @@
|
|
|
4634
5190
|
<div id="syncSetupPanel">
|
|
4635
5191
|
<div id="syncJoinSection">
|
|
4636
5192
|
<h3 class="settings-group-title">Join a team</h3>
|
|
4637
|
-
<div class="
|
|
4638
|
-
|
|
4639
|
-
<
|
|
4640
|
-
<textarea class="feed-search" id="syncJoinInvite" placeholder="Paste a team invite or device pairing payload"></textarea>
|
|
5193
|
+
<div class="actor-create-row" id="syncJoinPanel" hidden>
|
|
5194
|
+
<label for="syncJoinInvite" class="sr-only">Invite or pairing code</label>
|
|
5195
|
+
<textarea class="feed-search" id="syncJoinInvite" placeholder="Invite or pairing code" rows="2"></textarea>
|
|
4641
5196
|
<div id="syncProjectInviteReview" role="region" aria-labelledby="syncProjectInviteReviewHeading" hidden>
|
|
4642
5197
|
<h4 id="syncProjectInviteReviewHeading" tabindex="-1">Review project invitation</h4>
|
|
4643
5198
|
<div class="section-meta" id="syncProjectInviteContext"></div>
|
|
@@ -4646,6 +5201,15 @@
|
|
|
4646
5201
|
<label for="syncRecipientDeviceName">This device</label>
|
|
4647
5202
|
<input class="feed-search" id="syncRecipientDeviceName" maxlength="120" />
|
|
4648
5203
|
</div>
|
|
5204
|
+
<div id="syncPairingReview" role="region" aria-labelledby="syncPairingReviewHeading" hidden>
|
|
5205
|
+
<h4 id="syncPairingReviewHeading" tabindex="-1">Review device pairing</h4>
|
|
5206
|
+
<p>Check these details with the other device. Accept only a device you trust.</p>
|
|
5207
|
+
<dl>
|
|
5208
|
+
<dt>Device ID</dt><dd id="syncPairingDeviceId" style="overflow-wrap: anywhere"></dd>
|
|
5209
|
+
<dt>Fingerprint</dt><dd id="syncPairingFingerprint" style="overflow-wrap: anywhere"></dd>
|
|
5210
|
+
<dt>Addresses</dt><dd id="syncPairingAddresses" style="white-space: pre-wrap; overflow-wrap: anywhere"></dd>
|
|
5211
|
+
</dl>
|
|
5212
|
+
</div>
|
|
4649
5213
|
<button class="settings-button" id="syncJoinButton">Review invite</button>
|
|
4650
5214
|
</div>
|
|
4651
5215
|
</div>
|
|
@@ -4661,19 +5225,24 @@
|
|
|
4661
5225
|
</div>
|
|
4662
5226
|
</div>
|
|
4663
5227
|
|
|
4664
|
-
<!-- 2. People
|
|
5228
|
+
<!-- 2. People and devices -->
|
|
4665
5229
|
<div class="card" style="animation-delay: 0.04s">
|
|
4666
|
-
<
|
|
5230
|
+
<div class="section-header">
|
|
5231
|
+
<h2>People and devices</h2>
|
|
5232
|
+
<a class="sync-subview-link" href="#sharing" id="advancedSharingLink">Invite someone via Sharing →</a>
|
|
5233
|
+
</div>
|
|
4667
5234
|
|
|
4668
|
-
<
|
|
4669
|
-
|
|
4670
|
-
|
|
5235
|
+
<div id="syncSharingReview" hidden>
|
|
5236
|
+
<h3 class="settings-group-title" style="margin-top: 20px">What teammates will receive</h3>
|
|
5237
|
+
<div class="section-meta" id="syncSharingReviewMeta"></div>
|
|
5238
|
+
<div class="actor-list" id="syncSharingReviewList"></div>
|
|
5239
|
+
</div>
|
|
4671
5240
|
|
|
4672
|
-
<details class="project-inventory-details" style="margin-top: 20px">
|
|
5241
|
+
<details class="project-inventory-details" id="manualDeviceIdentityControls" style="margin-top: 20px">
|
|
4673
5242
|
<summary>Manual device and identity controls</summary>
|
|
4674
5243
|
|
|
4675
5244
|
<h3 class="settings-group-title">People</h3>
|
|
4676
|
-
<div class="section-meta" id="syncActorsMeta"
|
|
5245
|
+
<div class="section-meta" id="syncActorsMeta"></div>
|
|
4677
5246
|
<div class="actor-create-row">
|
|
4678
5247
|
<div class="sync-labeled-field">
|
|
4679
5248
|
<label for="syncActorCreateInput" class="sync-labeled-field-caption">Person name</label>
|
|
@@ -4694,21 +5263,6 @@
|
|
|
4694
5263
|
<div class="device-row-skeleton"><span class="skel-pip"></span><span class="skel-name"></span><span class="skel-chip"></span></div>
|
|
4695
5264
|
<div class="device-row-skeleton"><span class="skel-pip"></span><span class="skel-name"></span><span class="skel-chip"></span></div>
|
|
4696
5265
|
</div>
|
|
4697
|
-
|
|
4698
|
-
<h3 class="settings-group-title" style="margin-top: 20px">Connect another device</h3>
|
|
4699
|
-
<div class="section-meta">Share this command on the new device to join it to the team.</div>
|
|
4700
|
-
<div class="actor-create-row">
|
|
4701
|
-
<div id="syncPairingDisclosureMount" style="display: contents"></div>
|
|
4702
|
-
</div>
|
|
4703
|
-
<div id="syncPairingPanelMount" style="display: contents"></div>
|
|
4704
|
-
</details>
|
|
4705
|
-
|
|
4706
|
-
<div id="syncSharingReview" hidden>
|
|
4707
|
-
<h3 class="settings-group-title" style="margin-top: 20px">What teammates will receive</h3>
|
|
4708
|
-
<div class="section-meta" id="syncSharingReviewMeta"></div>
|
|
4709
|
-
<div class="actor-list" id="syncSharingReviewList"></div>
|
|
4710
|
-
</div>
|
|
4711
|
-
|
|
4712
5266
|
<div id="syncLegacyClaims" hidden>
|
|
4713
5267
|
<h3 class="settings-group-title" style="margin-top: 20px">Legacy device history</h3>
|
|
4714
5268
|
<div class="peer-meta" id="syncLegacyClaimsMeta"></div>
|
|
@@ -4718,6 +5272,7 @@
|
|
|
4718
5272
|
<button class="sync-legacy-button" id="syncLegacyClaimButton">Attach device history</button>
|
|
4719
5273
|
</div>
|
|
4720
5274
|
</div>
|
|
5275
|
+
</details>
|
|
4721
5276
|
</div>
|
|
4722
5277
|
|
|
4723
5278
|
</div><!-- /#syncMainView -->
|
|
@@ -4739,7 +5294,8 @@
|
|
|
4739
5294
|
</label>
|
|
4740
5295
|
</div>
|
|
4741
5296
|
</div>
|
|
4742
|
-
<div class="section-meta" id="
|
|
5297
|
+
<div class="section-meta" id="syncPrimaryStatusDetail"></div>
|
|
5298
|
+
<div class="section-meta" id="syncMeta"></div>
|
|
4743
5299
|
<div class="sync-skeleton" id="syncDiagSkeleton" role="status" aria-label="Loading diagnostics">
|
|
4744
5300
|
<div class="sync-skeleton-line long"></div>
|
|
4745
5301
|
<div class="sync-skeleton-line medium"></div>
|
|
@@ -4754,30 +5310,21 @@
|
|
|
4754
5310
|
</div><!-- /#syncDiagnosticsView -->
|
|
4755
5311
|
</div><!-- /#advancedSyncContent -->
|
|
4756
5312
|
|
|
4757
|
-
<div id="advancedTeamsContent" hidden>
|
|
5313
|
+
<div id="advancedTeamsContent" role="tabpanel" aria-labelledby="advancedTeamsButton" hidden>
|
|
4758
5314
|
<div class="card">
|
|
4759
|
-
<
|
|
4760
|
-
|
|
4761
|
-
class="
|
|
4762
|
-
|
|
4763
|
-
>
|
|
4764
|
-
|
|
4765
|
-
|
|
4766
|
-
<div class="peer-submeta">
|
|
4767
|
-
Manage Team members, names, and Project access in Sharing. Use this page only for older coordinator groups and Spaces.
|
|
4768
|
-
</div>
|
|
4769
|
-
</div>
|
|
4770
|
-
<button class="settings-button" id="coordinatorAdminOpenSharing" type="button">Open Sharing</button>
|
|
4771
|
-
</aside>
|
|
4772
|
-
<details class="advanced-administration-disclosure" open>
|
|
4773
|
-
<summary>Coordinator Administration</summary>
|
|
4774
|
-
<div class="section-meta">Technical coordinator groups, Spaces, enrollment, and recovery controls.</div>
|
|
5315
|
+
<div class="section-header">
|
|
5316
|
+
<h2 id="coordinatorAdminHeading" tabindex="-1">Coordinator administration</h2>
|
|
5317
|
+
<a class="sync-subview-link" href="#sharing" id="advancedTeamSettingsLink">Team settings →</a>
|
|
5318
|
+
</div>
|
|
5319
|
+
<div class="section-meta advanced-administration-sections">Groups · Invites · Join requests · Devices</div>
|
|
5320
|
+
<details class="advanced-administration-disclosure" id="advancedAdministrationDisclosure">
|
|
5321
|
+
<summary>Legacy administration</summary>
|
|
4775
5322
|
<div id="coordinatorAdminMount"></div>
|
|
4776
5323
|
</details>
|
|
4777
5324
|
</div>
|
|
4778
5325
|
</div>
|
|
4779
5326
|
</div>
|
|
4780
5327
|
|
|
4781
|
-
<script src="/assets/app.js?v=
|
|
5328
|
+
<script src="/assets/app.js?v=a52e5e81ae2c"></script>
|
|
4782
5329
|
</body>
|
|
4783
5330
|
</html>
|