Import Export Grocery List

And misc improvements
This commit is contained in:
2026-03-30 21:05:12 -05:00
parent 5e0b096082
commit 9a78c4564e
9 changed files with 919 additions and 225 deletions
+98 -2
View File
@@ -22,14 +22,14 @@
inset 0 1px 0 rgba(255, 255, 255, 0.55);
}
/* Opacity only — do not animate transform on #dashboardContentArea: it would trap
position:fixed Bootstrap modals (backdrops on body would cover the dialog). */
@keyframes fh-content-in {
from {
opacity: 0;
transform: translateY(6px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@@ -513,6 +513,102 @@ body.header-tone-light .app-header .tab.active {
}
}
/* Meal detail (recipe) page: sections and flow */
.meal-detail-header {
border-bottom: 1px solid var(--border-color);
}
.meal-detail-intro.card {
border: 1px solid var(--border-color);
background-color: var(--secondary-color);
}
@supports (color: color-mix(in srgb, #fff 50%, #000)) {
.meal-detail-intro.card {
background-color: color-mix(in srgb, var(--person-accent, #4a90e2) 8%, #fff);
}
}
.meal-detail-lead {
font-size: 1.05rem;
line-height: 1.65;
}
.meal-detail .meal-detail-section {
margin-top: 2rem;
}
.meal-detail-intro + .meal-detail-section {
margin-top: 1.25rem;
}
.meal-detail .meal-detail-section:not(:first-of-type) {
padding-top: 1.75rem;
border-top: 1px solid var(--border-color);
}
.meal-detail-section-heading {
display: flex;
align-items: center;
gap: 0.5rem;
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 0.35rem;
}
.meal-detail-section-heading .fa {
color: var(--person-accent, var(--primary-color));
opacity: 0.9;
}
.meal-detail-section-lead {
margin-bottom: 1rem;
max-width: 42rem;
}
.meal-detail-list .list-group-item {
border-color: var(--border-color);
}
.meal-detail-checklist {
margin-bottom: 0;
max-width: 42rem;
}
.meal-detail-checklist li {
margin-bottom: 0.35rem;
}
.meal-detail-directions {
line-height: 1.7;
max-width: 50rem;
}
.meal-editor-page {
max-width: 52rem;
}
/* Meal plan grid + share/import actions */
.meal-grid-table thead th {
background-color: color-mix(in srgb, var(--person-accent, var(--primary-color)) 18%, var(--secondary-color, #f8f9fa));
font-weight: 600;
border-color: var(--border-color);
}
.meal-grid-table tbody tr:nth-child(odd) td,
.meal-grid-table tbody tr:nth-child(odd) th[scope="row"] {
background-color: rgba(0, 0, 0, 0.04);
}
.meal-detail-actions,
.meals-recipe-actions {
row-gap: 0.5rem;
}
.meal-import-modal-body .form-label {
font-weight: 600;
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,