summaryrefslogtreecommitdiff
path: root/public/stylesheets
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-30 23:22:47 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-30 23:22:47 +0200
commitfd1ef782f7fc85db740fcb2ac1f859725e7280c5 (patch)
tree06f1fae092876616de569f87f6d0f461e4b47833 /public/stylesheets
parentbc116a2acfe2450d85229379d54c3344e485db6a (diff)
Provide the full i18n matrix for public/admin-preview/shared-preview urls
Diffstat (limited to 'public/stylesheets')
-rw-r--r--public/stylesheets/admin.css163
1 files changed, 163 insertions, 0 deletions
diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css
index 1d39dd6c..c0496c6e 100644
--- a/public/stylesheets/admin.css
+++ b/public/stylesheets/admin.css
@@ -13,6 +13,7 @@
13 --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 */
14 --link-underline: color-mix(in srgb, CanvasText, Canvas 69%); /* #b0b0b0 */ 14 --link-underline: color-mix(in srgb, CanvasText, Canvas 69%); /* #b0b0b0 */
15 --text-muted: color-mix(in srgb, CanvasText, Canvas 47%); 15 --text-muted: color-mix(in srgb, CanvasText, Canvas 47%);
16 --text-heavy: color-mix(in srgb, CanvasText, Canvas 23%);
16 17
17 --badge-scrim: rgba(255, 255, 255, 0.85); 18 --badge-scrim: rgba(255, 255, 255, 0.85);
18 19
@@ -977,6 +978,168 @@ form.button_to button[type="submit"] {
977 box-sizing: border-box; 978 box-sizing: border-box;
978} 979}
979 980
981/* ============================================================
982 Link matrix (nodes#show)
983 ============================================================
984 One block per link kind, each an independent grid with an identical
985 column template */
986
987.link_matrix_head {
988 display: none;
989}
990
991.link_matrix_row {
992 display: flex;
993 flex-direction: column;
994 margin-bottom: 1.75rem;
995}
996
997.link_matrix_row:last-child {
998 margin-bottom: 0;
999}
1000
1001.link_matrix_cells {
1002 margin-top: 0.7rem;
1003}
1004
1005.link_matrix_row .link_matrix_actions {
1006 margin-top: 1.25rem;
1007}
1008
1009.link_matrix_label { order: 0; }
1010.link_matrix_cells { order: 1; }
1011.link_matrix_actions { order: 2; }
1012
1013.link_matrix_cells {
1014 display: flex;
1015 flex-wrap: wrap;
1016 gap: 0.6rem 1.5rem;
1017}
1018
1019.link_matrix_cell {
1020 display: inline-flex;
1021 align-items: center;
1022 gap: 0.25rem;
1023}
1024
1025.link_matrix_label {
1026 display: flex;
1027 flex-direction: column;
1028 gap: 0.1rem;
1029 min-width: 0;
1030}
1031
1032.link_matrix_label a {
1033 overflow-wrap: anywhere;
1034}
1035
1036.link_locale_tag {
1037 font-size: 0.85rem;
1038 color: var(--text-muted);
1039}
1040
1041.link_matrix_locale {
1042 font-size: 0.8rem;
1043 font-variant: all-small-caps;
1044 letter-spacing: 0.06em;
1045 color: var(--text);
1046}
1047
1048.link_icon_button {
1049 display: inline-flex;
1050 align-items: center;
1051 padding: 0.3rem;
1052 border: 1px solid var(--border);
1053 border-radius: 2px;
1054 background-color: var(--surface);
1055 color: var(--text-heavy);
1056 line-height: 1;
1057 text-decoration: none;
1058}
1059
1060.link_icon_button:hover {
1061 color: var(--on-solid);
1062 background-color: var(--text);
1063 border-color: var(--text);
1064}
1065
1066.link_icon_button svg {
1067 width: 1.15rem;
1068 height: 1.15rem;
1069}
1070
1071/* Transient "Copied!" text; empty at rest. */
1072.link_icon_button .copy_button_label:not(:empty) {
1073 margin-left: 0.35rem;
1074 font-size: 0.85rem;
1075}
1076
1077@media (min-width: 1016px) {
1078 /* ONE grid for the whole matrix, not one per row: separate grids compute
1079 their auto columns independently, so identical templates do not align
1080 unless every width is fixed. display: contents dissolves the row and
1081 cell wrappers, making their children direct grid items that share the
1082 tracks. */
1083 .link_matrix {
1084 display: grid;
1085 align-items: start;
1086 gap: 0.75rem 1rem;
1087 }
1088
1089 /* Label sizes to its longest URL, one auto column per locale, one for
1090 the token actions, then a spacer so the columns cluster near the
1091 label rather than drifting to the right edge. */
1092 .link_matrix_1 { grid-template-columns: auto auto auto minmax(0, 1fr); }
1093 .link_matrix_2 { grid-template-columns: auto auto auto auto minmax(0, 1fr); }
1094 .link_matrix_3 { grid-template-columns: auto auto auto auto auto minmax(0, 1fr); }
1095
1096 .link_matrix_head,
1097 .link_matrix_row,
1098 .link_matrix_cells {
1099 display: contents;
1100 }
1101
1102 /* Auto-placement must follow source order once the wrappers are gone. */
1103 .link_matrix_label,
1104 .link_matrix_cells,
1105 .link_matrix_actions {
1106 order: 0;
1107 }
1108
1109 /* Forces each row to begin a new grid row without placeholder cells. */
1110 .link_matrix_label {
1111 grid-column-start: 1;
1112 }
1113
1114 /* A display: contents element cannot carry a border, so the header rule
1115 lives on the locale labels themselves -- which marks the columns
1116 individually and avoids a stray line under the empty label cell. */
1117 .link_matrix_locale {
1118 padding-bottom: 0.25rem;
1119 border-bottom: 1px solid var(--hairline);
1120 }
1121
1122 .link_matrix_locale,
1123 .link_matrix_cell {
1124 justify-self: center;
1125 }
1126
1127 /* The header sits above the first row's buttons, which are themselves
1128 top-aligned, so it needs no extra offset -- but the locale cells do,
1129 to line up with the URL rather than the label. */
1130 .link_matrix_cell {
1131 padding-top: 0.1rem;
1132 }
1133
1134 .link_locale_tag {
1135 display: none;
1136 }
1137
1138 .link_matrix_row .link_matrix_actions {
1139 margin-top: 0;
1140 }
1141}
1142
980/* Layout only -- the at-rest visibility (wavy underline) for these 1143/* Layout only -- the at-rest visibility (wavy underline) for these
981 links comes from the scoped rule in Base elements above. */ 1144 links comes from the scoped rule in Base elements above. */
982.add_events, 1145.add_events,