@unity-china/codely-cli 1.0.0-beta.49 → 1.0.0-beta.50

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.
@@ -76,7 +76,8 @@ textarea {
76
76
  overflow: hidden;
77
77
  }
78
78
 
79
- .main {
79
+ .main,
80
+ .cp-main {
80
81
  flex: 1;
81
82
  background:
82
83
  linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent),
@@ -933,3 +934,537 @@ textarea {
933
934
  grid-template-columns: 1fr;
934
935
  }
935
936
  }
937
+
938
+ @media (max-width: 768px) {
939
+ .cp-header {
940
+ flex-direction: column;
941
+ align-items: flex-start;
942
+ }
943
+ .cp-header-actions {
944
+ width: 100%;
945
+ justify-content: space-between;
946
+ }
947
+
948
+ .cp-broadcast-header {
949
+ flex-direction: column;
950
+ align-items: flex-start;
951
+ }
952
+ .cp-broadcast-actions {
953
+ width: 100%;
954
+ justify-content: flex-start;
955
+ margin-top: 8px;
956
+ }
957
+
958
+ .cp-worker-grid {
959
+ grid-template-columns: 1fr;
960
+ padding: 12px;
961
+ }
962
+
963
+ .cp-task-header {
964
+ flex-direction: column;
965
+ align-items: stretch;
966
+ }
967
+ .cp-task-actions {
968
+ flex-direction: row;
969
+ justify-content: flex-end;
970
+ margin-top: 8px;
971
+ }
972
+
973
+ /* Drawer mobile styles */
974
+ .cp-drawer {
975
+ inset: 0;
976
+ width: 100%;
977
+ max-width: none;
978
+ border-radius: 0;
979
+ border: none;
980
+ }
981
+ .cp-drawer.open {
982
+ width: 100%;
983
+ }
984
+
985
+ .cp-row {
986
+ flex-direction: column;
987
+ }
988
+ .cp-actions {
989
+ margin-top: 8px;
990
+ justify-content: flex-end;
991
+ }
992
+ }
993
+
994
+ /* Control plane */
995
+ .control-plane {
996
+ display: flex;
997
+ gap: 0;
998
+ }
999
+
1000
+ .cp-header {
1001
+ display: flex;
1002
+ align-items: center;
1003
+ justify-content: space-between;
1004
+ gap: 12px;
1005
+ padding: 14px 18px;
1006
+ border-bottom: 1px solid var(--border);
1007
+ }
1008
+
1009
+ .cp-header h1 {
1010
+ margin: 0;
1011
+ font-size: 16px;
1012
+ }
1013
+
1014
+ .cp-header-actions {
1015
+ display: flex;
1016
+ gap: 8px;
1017
+ }
1018
+
1019
+ .cp-subtitle {
1020
+ font-size: 12px;
1021
+ color: var(--muted);
1022
+ margin-top: 4px;
1023
+ }
1024
+
1025
+ /* Drawer */
1026
+ .cp-drawer {
1027
+ position: fixed;
1028
+ top: 0;
1029
+ right: 0;
1030
+ bottom: 0;
1031
+ width: 600px;
1032
+ max-width: 100%;
1033
+ z-index: 100;
1034
+ background: var(--panel-2);
1035
+ border-left: 1px solid var(--border);
1036
+ box-shadow: -4px 0 20px rgba(0, 0, 0, 0.5);
1037
+ transform: translateX(100%);
1038
+ transition: transform 0.2s ease;
1039
+ display: flex;
1040
+ flex-direction: column;
1041
+ }
1042
+
1043
+ .cp-drawer.open {
1044
+ transform: translateX(0);
1045
+ }
1046
+
1047
+ .cp-drawer-backdrop {
1048
+ position: fixed;
1049
+ inset: 0;
1050
+ background: rgba(0, 0, 0, 0.5);
1051
+ z-index: 90;
1052
+ backdrop-filter: blur(2px);
1053
+ }
1054
+
1055
+ .cp-drawer-header {
1056
+ display: flex;
1057
+ align-items: center;
1058
+ justify-content: space-between;
1059
+ gap: 12px;
1060
+ padding: 14px 16px;
1061
+ border-bottom: 1px solid var(--border);
1062
+ }
1063
+
1064
+ .cp-drawer-header h2 {
1065
+ margin: 0;
1066
+ font-size: 14px;
1067
+ }
1068
+
1069
+ .cp-drawer-toolbar {
1070
+ display: flex;
1071
+ flex-direction: column;
1072
+ gap: 8px;
1073
+ padding: 12px 16px;
1074
+ border-bottom: 1px solid var(--border);
1075
+ }
1076
+
1077
+ .cp-drawer-content {
1078
+ flex: 1;
1079
+ overflow: auto;
1080
+ padding: 12px 16px;
1081
+ }
1082
+
1083
+ .cp-input,
1084
+ .cp-select {
1085
+ background: rgba(255, 255, 255, 0.03);
1086
+ border: 1px solid var(--border);
1087
+ color: var(--text);
1088
+ border-radius: var(--radius-sm);
1089
+ padding: 8px 10px;
1090
+ font-size: 12px;
1091
+ width: 100%;
1092
+ }
1093
+
1094
+ .cp-select {
1095
+ min-width: 100px;
1096
+ }
1097
+
1098
+ .cp-content {
1099
+ padding: 12px 18px;
1100
+ overflow: auto;
1101
+ flex: 1;
1102
+ }
1103
+
1104
+ .cp-list {
1105
+ display: flex;
1106
+ flex-direction: column;
1107
+ gap: 12px;
1108
+ }
1109
+
1110
+ .cp-row {
1111
+ display: flex;
1112
+ justify-content: space-between;
1113
+ gap: 12px;
1114
+ padding: 12px;
1115
+ border: 1px solid var(--border);
1116
+ border-radius: var(--radius);
1117
+ background: rgba(255, 255, 255, 0.03);
1118
+ }
1119
+
1120
+ .cp-select-box {
1121
+ display: flex;
1122
+ align-items: flex-start;
1123
+ padding-top: 4px;
1124
+ }
1125
+
1126
+ .cp-select-box input {
1127
+ width: 16px;
1128
+ height: 16px;
1129
+ }
1130
+
1131
+ .cp-row-main {
1132
+ flex: 1;
1133
+ min-width: 0;
1134
+ }
1135
+
1136
+ .cp-row-title {
1137
+ display: flex;
1138
+ flex-direction: column;
1139
+ gap: 4px;
1140
+ }
1141
+
1142
+ .cp-name {
1143
+ font-weight: 600;
1144
+ }
1145
+
1146
+ .cp-url {
1147
+ font-family: var(--mono);
1148
+ font-size: 11px;
1149
+ color: var(--muted);
1150
+ word-break: break-all;
1151
+ }
1152
+
1153
+ .cp-row-meta {
1154
+ display: flex;
1155
+ align-items: center;
1156
+ gap: 10px;
1157
+ flex-wrap: wrap;
1158
+ margin-top: 6px;
1159
+ }
1160
+
1161
+ .cp-tags {
1162
+ display: flex;
1163
+ gap: 6px;
1164
+ flex-wrap: wrap;
1165
+ }
1166
+
1167
+ .cp-tag {
1168
+ padding: 2px 6px;
1169
+ border: 1px solid var(--border);
1170
+ border-radius: 6px;
1171
+ font-size: 10px;
1172
+ color: var(--muted);
1173
+ }
1174
+
1175
+ .cp-tag.muted {
1176
+ opacity: 0.6;
1177
+ }
1178
+
1179
+ .cp-actions {
1180
+ display: flex;
1181
+ gap: 6px;
1182
+ align-items: center;
1183
+ }
1184
+
1185
+ .cp-health {
1186
+ font-size: 11px;
1187
+ padding: 2px 6px;
1188
+ border-radius: 6px;
1189
+ border: 1px solid var(--border);
1190
+ color: var(--muted);
1191
+ }
1192
+
1193
+ .cp-health.ok {
1194
+ color: var(--ok);
1195
+ border-color: rgba(158, 206, 106, 0.4);
1196
+ }
1197
+
1198
+ .cp-health.err {
1199
+ color: var(--err);
1200
+ border-color: rgba(247, 118, 142, 0.4);
1201
+ }
1202
+
1203
+ .cp-health.pending {
1204
+ color: var(--muted);
1205
+ }
1206
+
1207
+ .cp-health-ms {
1208
+ margin-left: 6px;
1209
+ color: var(--muted);
1210
+ font-size: 10px;
1211
+ }
1212
+
1213
+ .cp-pagination {
1214
+ display: flex;
1215
+ align-items: center;
1216
+ justify-content: space-between;
1217
+ gap: 10px;
1218
+ padding: 12px 18px;
1219
+ border-top: 1px solid var(--border);
1220
+ }
1221
+
1222
+ .cp-page-info,
1223
+ .cp-page-number {
1224
+ font-size: 12px;
1225
+ color: var(--muted);
1226
+ }
1227
+
1228
+ .cp-page-controls {
1229
+ display: flex;
1230
+ align-items: center;
1231
+ gap: 8px;
1232
+ }
1233
+
1234
+ .cp-modal-body {
1235
+ display: flex;
1236
+ flex-direction: column;
1237
+ gap: 10px;
1238
+ padding: 12px;
1239
+ }
1240
+
1241
+ .cp-label {
1242
+ display: flex;
1243
+ flex-direction: column;
1244
+ gap: 6px;
1245
+ font-size: 12px;
1246
+ color: var(--muted);
1247
+ }
1248
+
1249
+ .cp-modal-actions {
1250
+ display: flex;
1251
+ gap: 8px;
1252
+ }
1253
+
1254
+ .cp-error {
1255
+ color: var(--err);
1256
+ font-size: 12px;
1257
+ margin-top: 6px;
1258
+ }
1259
+
1260
+ .cp-loading,
1261
+ .cp-empty {
1262
+ color: var(--muted);
1263
+ font-size: 12px;
1264
+ padding: 10px 0;
1265
+ }
1266
+
1267
+ .cp-broadcast {
1268
+ border: 1px solid var(--border);
1269
+ border-radius: var(--radius);
1270
+ padding: 12px;
1271
+ background: rgba(255, 255, 255, 0.02);
1272
+ margin: 12px 18px;
1273
+ }
1274
+
1275
+ .cp-broadcast-header {
1276
+ display: flex;
1277
+ align-items: center;
1278
+ justify-content: space-between;
1279
+ gap: 10px;
1280
+ margin-bottom: 8px;
1281
+ }
1282
+
1283
+ .cp-broadcast-title {
1284
+ font-size: 13px;
1285
+ font-weight: 600;
1286
+ }
1287
+
1288
+ .cp-broadcast-subtitle {
1289
+ font-size: 11px;
1290
+ color: var(--muted);
1291
+ margin-top: 4px;
1292
+ }
1293
+
1294
+ .cp-broadcast-actions {
1295
+ display: flex;
1296
+ gap: 8px;
1297
+ }
1298
+
1299
+ .cp-textarea {
1300
+ width: 100%;
1301
+ min-height: 70px;
1302
+ max-height: 160px;
1303
+ resize: vertical;
1304
+ border: 1px solid var(--border);
1305
+ border-radius: var(--radius-sm);
1306
+ background: rgba(255, 255, 255, 0.03);
1307
+ color: var(--text);
1308
+ padding: 10px;
1309
+ font-size: 12px;
1310
+ line-height: 1.4;
1311
+ }
1312
+
1313
+ .cp-broadcast-footer {
1314
+ display: flex;
1315
+ justify-content: flex-end;
1316
+ margin-top: 8px;
1317
+ }
1318
+
1319
+ .cp-workers {
1320
+ flex: 1;
1321
+ overflow: auto;
1322
+ display: flex;
1323
+ flex-direction: column;
1324
+ }
1325
+
1326
+ .cp-workers-header {
1327
+ padding: 12px 18px 0;
1328
+ font-size: 12px;
1329
+ color: var(--muted);
1330
+ text-transform: uppercase;
1331
+ letter-spacing: 0.08em;
1332
+ }
1333
+
1334
+ .cp-worker-grid {
1335
+ display: grid;
1336
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
1337
+ gap: 12px;
1338
+ padding: 12px 18px 18px;
1339
+ }
1340
+
1341
+ .cp-task-card {
1342
+ border: 2px solid var(--border);
1343
+ border-radius: var(--radius);
1344
+ background: rgba(255, 255, 255, 0.02);
1345
+ overflow: hidden;
1346
+ display: flex;
1347
+ flex-direction: column;
1348
+ cursor: pointer;
1349
+ transition: border-color 0.15s ease;
1350
+ }
1351
+
1352
+ .cp-task-card:hover {
1353
+ border-color: rgba(255, 255, 255, 0.2);
1354
+ }
1355
+
1356
+ .cp-task-card.selected {
1357
+ border-color: var(--ok);
1358
+ }
1359
+
1360
+ .cp-task-card.error {
1361
+ border-color: var(--err);
1362
+ }
1363
+
1364
+ .cp-task-card.selected.error {
1365
+ border-color: var(--err);
1366
+ }
1367
+
1368
+ .cp-task-header {
1369
+ display: flex;
1370
+ align-items: flex-start;
1371
+ justify-content: space-between;
1372
+ gap: 12px;
1373
+ padding: 10px 12px;
1374
+ border-bottom: 1px solid var(--border);
1375
+ }
1376
+
1377
+ .cp-task-name {
1378
+ font-weight: 600;
1379
+ font-size: 13px;
1380
+ }
1381
+
1382
+ .cp-task-url {
1383
+ font-size: 11px;
1384
+ color: var(--muted);
1385
+ word-break: break-all;
1386
+ }
1387
+
1388
+ .cp-task-meta {
1389
+ display: flex;
1390
+ flex-direction: column;
1391
+ gap: 4px;
1392
+ font-size: 11px;
1393
+ color: var(--muted);
1394
+ }
1395
+
1396
+ .cp-conn {
1397
+ padding: 2px 6px;
1398
+ border-radius: 6px;
1399
+ border: 1px solid var(--border);
1400
+ font-size: 10px;
1401
+ color: var(--muted);
1402
+ text-transform: uppercase;
1403
+ }
1404
+
1405
+ .cp-conn.connected {
1406
+ color: var(--ok);
1407
+ border-color: rgba(158, 206, 106, 0.4);
1408
+ }
1409
+
1410
+ .cp-conn.disconnected {
1411
+ color: var(--err);
1412
+ border-color: rgba(247, 118, 142, 0.4);
1413
+ }
1414
+
1415
+ .cp-queue,
1416
+ .cp-activity {
1417
+ font-size: 10px;
1418
+ }
1419
+
1420
+ .cp-task-actions {
1421
+ display: flex;
1422
+ flex-direction: column;
1423
+ gap: 6px;
1424
+ }
1425
+
1426
+ .cp-task-error {
1427
+ padding: 6px 12px;
1428
+ font-size: 11px;
1429
+ color: var(--err);
1430
+ border-bottom: 1px solid var(--border);
1431
+ }
1432
+
1433
+ .cp-task-body {
1434
+ padding: 10px 12px;
1435
+ overflow: auto;
1436
+ flex: 1;
1437
+ min-height: 120px;
1438
+ max-height: 320px;
1439
+ }
1440
+
1441
+ .cp-task-message,
1442
+ .cp-task-tool {
1443
+ margin-bottom: 10px;
1444
+ }
1445
+
1446
+ .cp-task-input {
1447
+ display: flex;
1448
+ gap: 8px;
1449
+ padding: 10px 12px;
1450
+ border-top: 1px solid var(--border);
1451
+ background: rgba(0, 0, 0, 0.1);
1452
+ }
1453
+
1454
+ .cp-task-textarea {
1455
+ flex: 1;
1456
+ min-height: 40px;
1457
+ max-height: 80px;
1458
+ resize: vertical;
1459
+ border: 1px solid var(--border);
1460
+ border-radius: var(--radius-sm);
1461
+ background: rgba(255, 255, 255, 0.03);
1462
+ color: var(--text);
1463
+ padding: 8px 10px;
1464
+ font-size: 12px;
1465
+ line-height: 1.4;
1466
+ }
1467
+
1468
+ .cp-task-input .btn {
1469
+ align-self: flex-end;
1470
+ }