summaryrefslogtreecommitdiff
path: root/public/stylesheets/admin.css
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-12 23:43:25 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-12 23:43:25 +0200
commitbcfc2b5901caeaabdf3efa745441a339568b671a (patch)
tree345292b436c777713581d1e4cbd7ac43cbb9e3f2 /public/stylesheets/admin.css
parent848ce18303f927bfadaf0965a769cae2c62492a0 (diff)
Style the new dashboard; consolidate duplicated button/link CSS
New rules for the icon nav, search bar, signpost/housekeeping button rows, and the two dashboard widgets. Generalizes .action_button from an anchor-only selector to cover any element, needed once Filter and Search became real buttons rather than submit_tag inputs coincidentally sharing similar values with the generic input[type=submit] fallback. Also folds three hand-copied duplicates of the wavy-underline "plain link" treatment (#flash a, div.pagination a, #menu_item_list td a) into the one shared rule they were always copies of -- two of the three had already silently drifted by missing the -webkit-prefixed property, the actual cost of copying instead of sharing rather than a hypothetical one.
Diffstat (limited to 'public/stylesheets/admin.css')
-rw-r--r--public/stylesheets/admin.css156
1 files changed, 111 insertions, 45 deletions
diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css
index ade3a62..c1cc456 100644
--- a/public/stylesheets/admin.css
+++ b/public/stylesheets/admin.css
@@ -25,7 +25,11 @@ a:hover {
25 body content, node listing tables, the child-creation shortcuts on 25 body content, node listing tables, the child-creation shortcuts on
26 nodes#show, and the dashboard draft list's Show/Revisions links. */ 26 nodes#show, and the dashboard draft list's Show/Revisions links. */
27#page_editor a, 27#page_editor a,
28.dashboard_widget a,
28#sitemap a, 29#sitemap a,
30#flash a,
31div.pagination a,
32#menu_item_list td a,
29table.node_table a, 33table.node_table a,
30table.assets_table a, 34table.assets_table a,
31table.events_table a, 35table.events_table a,
@@ -191,15 +195,6 @@ input[type=radio] {
191 margin-left: 5px; 195 margin-left: 5px;
192} 196}
193 197
194#flash a {
195 text-decoration: underline;
196 -webkit-text-decoration-style: wavy;
197 text-decoration-style: wavy;
198 text-decoration-color: #b0b0b0;
199 text-decoration-thickness: 1px;
200 text-underline-offset: 2px;
201}
202
203#flash span { 198#flash span {
204 letter-spacing: 1px; 199 letter-spacing: 1px;
205 margin-right: 10px; 200 margin-right: 10px;
@@ -263,14 +258,6 @@ div.pagination span.gap {
263 font-style: normal; 258 font-style: normal;
264} 259}
265 260
266div.pagination a {
267 text-decoration: underline;
268 text-decoration-style: wavy;
269 text-decoration-color: #b0b0b0;
270 text-decoration-thickness: 1px;
271 text-underline-offset: 2px;
272}
273
274div.pagination a:hover { 261div.pagination a:hover {
275 color: #ff9600; 262 color: #ff9600;
276} 263}
@@ -385,31 +372,108 @@ input[type="submit"]:hover {
385} 372}
386 373
387/* ============================================================ 374/* ============================================================
388 Wizard buttons 375 Admin dashboard
389 ============================================================ */ 376 ============================================================ */
390 377
391#admin_wizard { 378#main_navigation {
379 display: flex;
380 align-items: center;
381 gap: 0.5rem;
382}
383
384#main_navigation a,
385#main_navigation form.button_to button {
386 display: inline-flex;
387 align-items: center;
388 background-color: #f7f7f7;
389 justify-content: center;
390 width: 2rem;
391 height: 2rem;
392 padding: 0;
393 border-radius: 2px;
394}
395
396#main_navigation a:hover,
397#main_navigation form.button_to button:hover {
398 background-color: #000000;
399 color: #ffffff;
400}
401
402#main_navigation svg,
403.action_button svg {
404 width: 1.25rem;
405 height: 1.25rem;
406}
407
408#dashboard_search {
409 margin-bottom: 1.5rem;
410}
411
412#dashboard_search input[type=text] {
413 width: 100%;
414 box-sizing: border-box;
415 padding: 10px 14px;
416 font-size: 1.1rem;
417 border-radius: 2px;
418}
419
420.button_row {
421 display: flex;
422 flex-wrap: wrap;
423 gap: 0.75rem;
424 align-items: center;
425}
426
427.button_row .action_button,
428.node_search_form .action_button {
429 margin-bottom: 0;
430}
431
432#dashboard_signposts {
392 margin-bottom: 2rem; 433 margin-bottom: 2rem;
393} 434}
394 435
395#page_submit, 436#dashboard_housekeeping h3 {
396.admin_wizard_button { 437 margin-bottom: 0.75rem;
397 display: inline-block; 438}
398 font-size: 1rem; 439
399 font-weight: bold; 440#dashboard_widgets {
400 padding: 0.5rem; 441 display: flex;
401 margin-bottom: 0.5rem; 442 flex-wrap: wrap;
402 background-color: green; 443 gap: 1.5rem;
444 margin-bottom: 2rem;
445}
446
447.dashboard_widget {
448 flex: 1 1 300px;
449 border: 1px solid #e8e8e8;
450 border-radius: 6px;
451 padding: 0.5rem 0.75rem;
452}
453
454.dashboard_widget h3 {
455 margin-top: 0;
456}
457
458.dashboard_widget ul {
459 list-style: none;
460 margin: 0 0 0.75rem;
461 padding: 0;
403} 462}
404 463
405#page_submit a, 464.dashboard_widget li {
406.admin_wizard_button a { 465 display: flex;
407 color: white !important; 466 justify-content: space-between;
467 align-items: flex-start;
468 gap: 1rem;
469 padding: 0.35rem 0;
470 border-bottom: 1px solid #f1f1f1;
408} 471}
409 472
410#page_submit:hover, 473.dashboard_widget_meta {
411.admin_wizard_button:hover { 474 white-space: nowrap;
412 background-color: lime !important; 475 color: #969696;
476 font-size: 0.85rem;
413} 477}
414 478
415/* ============================================================ 479/* ============================================================
@@ -721,7 +785,7 @@ table.user_table td.user_login {
721 display: block; 785 display: block;
722} 786}
723 787
724a.action_button, 788.action_button,
725form.button_to input[type="submit"], 789form.button_to input[type="submit"],
726form.button_to button[type="submit"] { 790form.button_to button[type="submit"] {
727 padding: 4px 12px; 791 padding: 4px 12px;
@@ -768,6 +832,11 @@ form.button_to button[type="submit"] {
768 border-radius: 2px; 832 border-radius: 2px;
769} 833}
770 834
835.node_search_form .action_button {
836 height: 2.25rem;
837 box-sizing: border-box;
838}
839
771/* Layout only -- the at-rest visibility (wavy underline) for these 840/* Layout only -- the at-rest visibility (wavy underline) for these
772 links comes from the scoped rule in Base elements above. */ 841 links comes from the scoped rule in Base elements above. */
773.add_child_links { 842.add_child_links {
@@ -840,8 +909,10 @@ div#page_editor {
840} 909}
841 910
842#page_editor a.action_button, 911#page_editor a.action_button,
843a.action_button { 912.action_button {
844 display: inline-block; 913 display: inline-flex;
914 align-items: center;
915 gap: 0.5rem;
845 -webkit-appearance: none; 916 -webkit-appearance: none;
846 appearance: none; 917 appearance: none;
847 border: 1px solid #000000; 918 border: 1px solid #000000;
@@ -851,10 +922,13 @@ a.action_button {
851 text-decoration: none; 922 text-decoration: none;
852 color: #000000; 923 color: #000000;
853 margin-bottom: 1rem; 924 margin-bottom: 1rem;
925 background: none;
926 cursor: pointer;
927 font: inherit;
854} 928}
855 929
856#page_editor a.action_button:hover, 930#page_editor a.action_button:hover,
857a.action_button:hover { 931.action_button:hover {
858 color: #ffffff; 932 color: #ffffff;
859 background-color: #000000; 933 background-color: #000000;
860} 934}
@@ -1104,14 +1178,6 @@ div#draft_list table td.actions a {
1104 cursor: grab; 1178 cursor: grab;
1105} 1179}
1106 1180
1107#menu_item_list td a {
1108 text-decoration: underline;
1109 text-decoration-style: wavy;
1110 text-decoration-color: #b0b0b0;
1111 text-decoration-thickness: 1px;
1112 text-underline-offset: 2px;
1113}
1114
1115.ui-state-highlight td { 1181.ui-state-highlight td {
1116 height: 20px; 1182 height: 20px;
1117} 1183}