- The medicine and terminology directories are now organized as compact rows, and each item links to a dynamic database-backed detail page:

Medicines: /medicine.php?id=46
Terms: /term.php?id=13
Key files:
Dynamic medicine page: [public/medicine.php (line 
1)](/Users/tyemeclifford/Documents/GH/workout/public/medicine.php:1)
Dynamic term page: [public/term.php (line 
1)](/Users/tyemeclifford/Documents/GH/workout/public/term.php:1)
Shared lookup/link helpers: [app/bootstrap.php (line 
1220)](/Users/tyemeclifford/Documents/GH/workout/app/bootstrap.php:1220)
Reworked medicine directory: [public/nutrition.php (line 
49)](/Users/tyemeclifford/Documents/GH/workout/public/nutrition.php:49)
Reworked terminology page: [public/medical.php (line 
64)](/Users/tyemeclifford/Documents/GH/workout/public/medical.php:64)
Overflow-safe layout CSS: [public/assets/site.css (line 
344)](/Users/tyemeclifford/Documents/GH/workout/public/assets/site.css:344)
This commit is contained in:
Ty Clifford
2026-06-30 15:41:55 -04:00
parent 96de47be43
commit b8045eb068
7 changed files with 567 additions and 56 deletions
+149 -1
View File
@@ -324,6 +324,9 @@ figcaption a {
.site-metric-stack article,
.signup-steps article,
.term-table article,
.library-row,
.record-field,
.empty-state,
.admin-denied,
.admin-stat,
.admin-user-card,
@@ -338,6 +341,18 @@ figcaption a {
min-height: 190px;
}
.feature-grid article,
.detail-grid article,
.term-table article,
.library-row,
.record-field,
.empty-state,
.source-links,
.library-row-main {
min-width: 0;
overflow-wrap: anywhere;
}
.feature-grid span {
display: inline-flex;
color: var(--accent);
@@ -390,8 +405,130 @@ figcaption a {
.source-links a {
border: 1px solid var(--line);
border-radius: 999px;
max-width: 100%;
padding: 4px 8px;
font-size: 0.78rem;
white-space: normal;
overflow-wrap: anywhere;
}
.library-list {
display: grid;
gap: 10px;
}
.library-row {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 14px;
align-items: start;
}
.library-row-main {
display: grid;
gap: 7px;
}
.library-row-main h3 {
line-height: 1.25;
overflow-wrap: anywhere;
}
.library-row-main p,
.record-field p,
.empty-state p {
color: var(--muted);
font-size: 0.9rem;
}
.library-row-meta,
.record-meta,
.record-actions,
.library-row-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.library-row-meta {
min-width: 0;
}
.library-row-meta span,
.record-meta span {
max-width: 100%;
border: 1px solid var(--line);
border-radius: 999px;
color: var(--muted-2);
background: rgba(255, 255, 255, 0.035);
padding: 5px 8px;
font-size: 0.76rem;
line-height: 1.25;
overflow-wrap: anywhere;
}
.library-row-actions {
justify-content: flex-end;
min-width: 0;
}
.record-shell {
display: grid;
gap: 16px;
}
.record-heading {
display: flex;
justify-content: space-between;
gap: 18px;
align-items: flex-start;
}
.record-heading > div:first-child {
display: grid;
gap: 10px;
min-width: 0;
max-width: 820px;
}
.record-heading h1 {
overflow-wrap: anywhere;
}
.record-actions {
justify-content: flex-end;
}
.record-meta {
min-width: 0;
}
.record-detail-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
}
.record-field {
display: grid;
gap: 8px;
}
.record-field.wide {
grid-column: 1 / -1;
}
.record-field > span {
color: var(--accent);
font-size: 0.78rem;
font-weight: 800;
line-height: 1.2;
text-transform: uppercase;
}
.empty-state {
display: grid;
gap: 8px;
}
.library-search {
@@ -863,13 +1000,24 @@ textarea:focus {
grid-template-columns: 1fr;
}
.library-row,
.record-detail-grid {
grid-template-columns: 1fr;
}
.admin-access-row,
.admin-user-main,
.panel-heading {
.panel-heading,
.record-heading {
align-items: stretch;
flex-direction: column;
}
.record-actions,
.library-row-actions {
justify-content: flex-start;
}
.admin-badges {
justify-content: flex-start;
}