diff options
Diffstat (limited to 'public/stylesheets')
| -rw-r--r-- | public/stylesheets/admin.css | 144 |
1 files changed, 123 insertions, 21 deletions
diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css index 49e2362b..1d39dd6c 100644 --- a/public/stylesheets/admin.css +++ b/public/stylesheets/admin.css | |||
| @@ -9,7 +9,6 @@ | |||
| 9 | --hairline: color-mix(in srgb, CanvasText, Canvas 91%); /* #e8e8e8 */ | 9 | --hairline: color-mix(in srgb, CanvasText, Canvas 91%); /* #e8e8e8 */ |
| 10 | --hairline-faint: color-mix(in srgb, CanvasText, Canvas 94%); /* #f1f1f1 */ | 10 | --hairline-faint: color-mix(in srgb, CanvasText, Canvas 94%); /* #f1f1f1 */ |
| 11 | --border: color-mix(in srgb, CanvasText, Canvas 87%); /* #ddd */ | 11 | --border: color-mix(in srgb, CanvasText, Canvas 87%); /* #ddd */ |
| 12 | --frame-fill: color-mix(in srgb, CanvasText, Canvas 83%); /* lightgrey */ | ||
| 13 | --field-border: color-mix(in srgb, CanvasText, Canvas 60%); /* #989898 */ | 12 | --field-border: color-mix(in srgb, CanvasText, Canvas 60%); /* #989898 */ |
| 14 | --handle-fill: color-mix(in srgb, CanvasText, Canvas 60%); /* #989898 as fill */ | 13 | --handle-fill: color-mix(in srgb, CanvasText, Canvas 60%); /* #989898 as fill */ |
| 15 | --link-underline: color-mix(in srgb, CanvasText, Canvas 69%); /* #b0b0b0 */ | 14 | --link-underline: color-mix(in srgb, CanvasText, Canvas 69%); /* #b0b0b0 */ |
| @@ -1295,11 +1294,15 @@ input#menu_item_title { | |||
| 1295 | ============================================================ */ | 1294 | ============================================================ */ |
| 1296 | 1295 | ||
| 1297 | #menu_item_list { | 1296 | #menu_item_list { |
| 1298 | border-collapse: collapse; | 1297 | border-collapse: separate; |
| 1299 | padding: 5px 5px 5px 5px; | 1298 | border-spacing: 0; |
| 1300 | border: solid 5px var(--frame-fill); | 1299 | width: 100%; |
| 1301 | background-color: var(--frame-fill); | 1300 | max-width: 44rem; |
| 1302 | border-radius: 5px; | 1301 | |
| 1302 | border: 1px solid var(--hairline); | ||
| 1303 | border-radius: var(--radius); | ||
| 1304 | |||
| 1305 | padding: 0.5rem; | ||
| 1303 | } | 1306 | } |
| 1304 | 1307 | ||
| 1305 | #menu_item_list tr:hover { | 1308 | #menu_item_list tr:hover { |
| @@ -1307,33 +1310,132 @@ input#menu_item_title { | |||
| 1307 | } | 1310 | } |
| 1308 | 1311 | ||
| 1309 | #menu_item_list td { | 1312 | #menu_item_list td { |
| 1310 | height: 20px; | 1313 | padding: 0.4rem 0.5rem; |
| 1314 | border-bottom: 1px solid var(--hairline); | ||
| 1315 | } | ||
| 1316 | |||
| 1317 | #menu_item_list tr:last-child td { | ||
| 1318 | border-bottom: none; | ||
| 1311 | } | 1319 | } |
| 1312 | 1320 | ||
| 1313 | #menu_item_list td.menu_item_title { | 1321 | #menu_item_list td.menu_item_title { |
| 1314 | width: 200px; | 1322 | width: 100%; |
| 1323 | } | ||
| 1324 | |||
| 1325 | .menu_item_translation { | ||
| 1326 | display: block; | ||
| 1327 | font-size: 0.85rem; | ||
| 1328 | color: var(--text-muted); | ||
| 1315 | } | 1329 | } |
| 1316 | 1330 | ||
| 1317 | #menu_item_list td.menu_sort_handle div { | 1331 | .menu_item_translation_locale { |
| 1318 | background-color: var(--handle-fill); | 1332 | font-variant: all-small-caps; |
| 1319 | height: 26px; | 1333 | letter-spacing: 0.04em; |
| 1320 | width: 26px; | 1334 | margin-right: 0.35rem; |
| 1321 | } | 1335 | } |
| 1322 | 1336 | ||
| 1323 | #menu_item_list td.menu_sort_handle div:before { | 1337 | .menu_item_translation_absent { |
| 1324 | content: "⇳"; | 1338 | font-style: italic; |
| 1325 | font-size: 20px; | 1339 | } |
| 1326 | font-weight: bold; | 1340 | |
| 1341 | #menu_item_list td.menu_item_action { | ||
| 1342 | width: 1px; | ||
| 1343 | white-space: nowrap; | ||
| 1327 | text-align: center; | 1344 | text-align: center; |
| 1328 | vertical-align: center; | ||
| 1329 | } | 1345 | } |
| 1330 | 1346 | ||
| 1331 | #menu_item_list td.menu_sort_handle div:hover { | 1347 | #menu_item_list td.menu_item_action a { |
| 1332 | cursor: grab; | 1348 | text-decoration: none; |
| 1333 | } | 1349 | } |
| 1334 | 1350 | ||
| 1335 | .ui-state-highlight td { | 1351 | #menu_item_list td.menu_item_action svg { |
| 1336 | height: 20px; | 1352 | width: 1.25rem; |
| 1353 | height: 1.25rem; | ||
| 1354 | vertical-align: middle; | ||
| 1355 | } | ||
| 1356 | |||
| 1357 | #menu_item_list td.menu_sort_handle { | ||
| 1358 | width: 1px; | ||
| 1359 | white-space: nowrap; | ||
| 1360 | color: var(--text-muted); | ||
| 1361 | } | ||
| 1362 | |||
| 1363 | /* jQuery UI sortable binds mouse events, so drag never works on touch. | ||
| 1364 | Below the desktop breakpoint the grip would advertise something that | ||
| 1365 | cannot happen, and the width is better spent on the chevrons. */ | ||
| 1366 | #menu_item_list .menu_grip { | ||
| 1367 | display: none; | ||
| 1368 | } | ||
| 1369 | |||
| 1370 | @media (min-width: 1016px) { | ||
| 1371 | #menu_item_list .menu_grip { | ||
| 1372 | display: inline-block; | ||
| 1373 | cursor: grab; | ||
| 1374 | vertical-align: middle; | ||
| 1375 | } | ||
| 1376 | |||
| 1377 | #menu_item_list td.menu_sort_handle:active .menu_grip { | ||
| 1378 | cursor: grabbing; | ||
| 1379 | } | ||
| 1380 | } | ||
| 1381 | |||
| 1382 | #menu_item_list form.menu_move { | ||
| 1383 | display: inline-block; | ||
| 1384 | margin: 0; | ||
| 1385 | } | ||
| 1386 | |||
| 1387 | #menu_item_list form.menu_move button[type="submit"] { | ||
| 1388 | padding: 0.15rem 0.2rem; | ||
| 1389 | border: 1px solid transparent; | ||
| 1390 | background-color: transparent; | ||
| 1391 | color: var(--text-muted); | ||
| 1392 | line-height: 1; | ||
| 1393 | } | ||
| 1394 | |||
| 1395 | #menu_item_list form.menu_move button[type="submit"]:hover { | ||
| 1396 | color: var(--text); | ||
| 1397 | background-color: var(--surface-tint); | ||
| 1398 | } | ||
| 1399 | |||
| 1400 | #menu_item_list form.menu_move button[type="submit"]:disabled { | ||
| 1401 | opacity: 0.35; | ||
| 1402 | cursor: default; | ||
| 1403 | background-color: transparent; | ||
| 1404 | color: var(--text-muted); | ||
| 1405 | } | ||
| 1406 | |||
| 1407 | #menu_item_list td.menu_sort_handle svg { | ||
| 1408 | width: 1.1rem; | ||
| 1409 | height: 1.1rem; | ||
| 1410 | vertical-align: middle; | ||
| 1411 | } | ||
| 1412 | |||
| 1413 | #menu_item_list td.menu_sort_handle:active { | ||
| 1414 | cursor: grabbing; | ||
| 1415 | } | ||
| 1416 | |||
| 1417 | #menu_item_list td.menu_sort_handle svg { | ||
| 1418 | width: 1.25rem; | ||
| 1419 | height: 1.25rem; | ||
| 1420 | vertical-align: middle; | ||
| 1421 | } | ||
| 1422 | |||
| 1423 | #menu_item_list tr.ui-state-highlight td { | ||
| 1424 | height: 2.5rem; | ||
| 1425 | background-color: var(--accent-surface); | ||
| 1426 | border: 1px dashed var(--accent); | ||
| 1427 | } | ||
| 1428 | |||
| 1429 | #menu_item_list form.button_to.destructive input[type="submit"], | ||
| 1430 | #menu_item_list form.button_to.destructive button[type="submit"] { | ||
| 1431 | color: var(--danger); | ||
| 1432 | background-color: transparent; | ||
| 1433 | } | ||
| 1434 | |||
| 1435 | #menu_item_list form.button_to.destructive input[type="submit"]:hover, | ||
| 1436 | #menu_item_list form.button_to.destructive button[type="submit"]:hover { | ||
| 1437 | color: var(--on-solid); | ||
| 1438 | background-color: var(--danger-solid); | ||
| 1337 | } | 1439 | } |
| 1338 | 1440 | ||
| 1339 | /* ============================================================ | 1441 | /* ============================================================ |
