454 lines
7.8 KiB
SCSS
454 lines
7.8 KiB
SCSS
.template-card {
|
|
margin-bottom: 12px;
|
|
padding: 16px 18px;
|
|
|
|
.template-head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.template-title {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
flex-wrap: wrap;
|
|
font-weight: 700;
|
|
color: var(--ft-text);
|
|
}
|
|
|
|
.template-calories {
|
|
color: var(--ft-warning);
|
|
font-weight: 700;
|
|
font-size: 0.88rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.template-items {
|
|
list-style: none;
|
|
margin: 10px 0 0;
|
|
padding: 0;
|
|
font-size: 0.87rem;
|
|
|
|
li {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 8px;
|
|
padding: 5px 0;
|
|
border-top: 1px solid var(--ft-border-light);
|
|
}
|
|
}
|
|
|
|
.template-item-icon {
|
|
color: var(--ft-primary);
|
|
font-size: 0.78rem;
|
|
}
|
|
|
|
.template-item-name {
|
|
flex: 1;
|
|
min-width: 0;
|
|
color: var(--ft-text);
|
|
}
|
|
|
|
.template-item-quantity {
|
|
color: var(--ft-text-secondary);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.template-item-calories {
|
|
color: var(--ft-text-muted);
|
|
font-weight: 600;
|
|
white-space: nowrap;
|
|
min-width: 72px;
|
|
text-align: right;
|
|
}
|
|
}
|
|
|
|
.template-form {
|
|
.chart-title {
|
|
font-size: 0.85rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.05em;
|
|
color: var(--ft-text-secondary);
|
|
margin: 0 0 14px;
|
|
}
|
|
|
|
margin-top: 20px;
|
|
}
|
|
|
|
// Odkaz na vnořenou šablonu se v editaci odlišuje ikonou před výběrem
|
|
.workout-item-nested-icon {
|
|
align-self: center;
|
|
color: var(--ft-primary);
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.meal-template-price {
|
|
color: var(--ft-text-secondary);
|
|
font-weight: 600;
|
|
font-size: 0.85rem;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
// Postup přípravy v Markdownu
|
|
.recipe-note {
|
|
margin: 10px 0 0;
|
|
padding-top: 10px;
|
|
border-top: 1px solid var(--ft-border-light);
|
|
font-size: 0.83rem;
|
|
color: var(--ft-text-secondary);
|
|
|
|
p, ul, ol, blockquote, pre {
|
|
margin: 0 0 0.6em;
|
|
}
|
|
|
|
> :last-child {
|
|
margin-bottom: 0;
|
|
}
|
|
|
|
h1, h2, h3, h4, h5, h6 {
|
|
margin: 0.8em 0 0.35em;
|
|
font-size: 0.95rem;
|
|
font-weight: 700;
|
|
color: var(--ft-text);
|
|
}
|
|
|
|
h1 {
|
|
font-size: 1.05rem;
|
|
}
|
|
|
|
> :first-child {
|
|
margin-top: 0;
|
|
}
|
|
|
|
ul, ol {
|
|
padding-left: 1.4em;
|
|
}
|
|
|
|
blockquote {
|
|
padding-left: 10px;
|
|
border-left: 3px solid var(--ft-border);
|
|
}
|
|
|
|
code {
|
|
padding: 1px 4px;
|
|
border-radius: var(--ft-radius-sm);
|
|
background: var(--ft-bg-hover);
|
|
color: var(--ft-text);
|
|
font-size: 0.95em;
|
|
}
|
|
|
|
pre code {
|
|
display: block;
|
|
padding: 8px 10px;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
hr {
|
|
margin: 0.8em 0;
|
|
border-color: var(--ft-border);
|
|
}
|
|
|
|
img {
|
|
max-width: 100%;
|
|
}
|
|
}
|
|
|
|
// Řádek suroviny receptu — název se roztáhne, číselná pole mají pevnou šířku
|
|
.recipe-ingredient-row {
|
|
align-items: center;
|
|
|
|
// Množství s výběrem jednotky
|
|
.recipe-ingredient-amount {
|
|
width: 160px;
|
|
flex: 0 0 auto;
|
|
|
|
.form-control {
|
|
min-width: 0;
|
|
}
|
|
|
|
.form-select {
|
|
flex: 0 0 82px;
|
|
padding-left: 8px;
|
|
}
|
|
}
|
|
|
|
// Přepočet na gramy u jiné jednotky
|
|
.recipe-ingredient-weight {
|
|
width: 90px;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.recipe-ingredient-rate {
|
|
width: 100px;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.recipe-ingredient-calories {
|
|
width: 90px;
|
|
flex: 0 0 auto;
|
|
font-weight: 600;
|
|
font-size: 0.87rem;
|
|
color: var(--ft-warning);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.recipe-ingredient-price {
|
|
width: 110px;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
flex-wrap: wrap;
|
|
|
|
.recipe-ingredient-amount,
|
|
.recipe-ingredient-weight,
|
|
.recipe-ingredient-rate,
|
|
.recipe-ingredient-calories,
|
|
.recipe-ingredient-price {
|
|
width: auto;
|
|
flex: 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
.recipe-summary {
|
|
margin-top: 8px;
|
|
font-size: 0.87rem;
|
|
font-weight: 600;
|
|
color: var(--ft-text-secondary);
|
|
|
|
.recipe-summary-portion {
|
|
color: var(--ft-primary);
|
|
}
|
|
}
|
|
|
|
// Vazby receptu na jiné recepty — ve formuláři výběr, na kartě odkazy
|
|
.recipe-links {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
margin-top: 10px;
|
|
font-size: 0.87rem;
|
|
|
|
.recipe-links-row {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 6px;
|
|
}
|
|
|
|
.recipe-links-label {
|
|
color: var(--ft-text-muted);
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.recipe-link {
|
|
border: none;
|
|
background: var(--ft-primary-light);
|
|
color: var(--ft-primary);
|
|
border-radius: 999px;
|
|
padding: 2px 10px;
|
|
font-size: 0.8rem;
|
|
font-weight: 600;
|
|
|
|
&:is(button):hover {
|
|
filter: brightness(0.95);
|
|
text-decoration: underline;
|
|
}
|
|
|
|
.recipe-link-remove {
|
|
margin-left: 6px;
|
|
border: none;
|
|
background: none;
|
|
color: inherit;
|
|
padding: 0;
|
|
line-height: 1;
|
|
}
|
|
}
|
|
|
|
.recipe-links-input {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
gap: 6px;
|
|
|
|
.form-select {
|
|
width: auto;
|
|
min-width: 180px;
|
|
flex: 1 1 180px;
|
|
}
|
|
}
|
|
|
|
// Popisek postupu s přepínačem psaní a náhledu
|
|
.recipe-note-label {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 8px;
|
|
margin-bottom: 0.5rem;
|
|
|
|
.form-label {
|
|
margin-bottom: 0;
|
|
}
|
|
}
|
|
|
|
.recipe-note-preview {
|
|
min-height: 120px;
|
|
padding: 8px 12px;
|
|
border: 1px solid var(--ft-border);
|
|
border-radius: var(--ft-radius-sm);
|
|
background: var(--ft-bg-card);
|
|
|
|
.recipe-note {
|
|
margin: 0;
|
|
padding: 0;
|
|
border: none;
|
|
}
|
|
}
|
|
|
|
// ============================================
|
|
// PLÁNY TRÉNINKŮ
|
|
// ============================================
|
|
|
|
.tag-plan {
|
|
background: var(--ft-primary-light);
|
|
color: var(--ft-primary);
|
|
}
|
|
|
|
.template-card {
|
|
.template-plan-meta {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 14px;
|
|
margin-top: 4px;
|
|
font-size: 0.8rem;
|
|
color: var(--ft-text-muted);
|
|
}
|
|
|
|
.template-plan-day {
|
|
margin-top: 12px;
|
|
}
|
|
|
|
// Hlavička dne je podbarvený pruh, cviky pod ní odsazené s linkou — na první
|
|
// pohled je vidět, kde den začíná a co k němu patří
|
|
.template-plan-day-head {
|
|
display: flex;
|
|
align-items: baseline;
|
|
gap: 8px;
|
|
padding: 6px 10px;
|
|
border-left: 3px solid var(--ft-primary);
|
|
border-radius: var(--ft-radius-sm);
|
|
background: var(--ft-primary-light);
|
|
font-size: 0.9rem;
|
|
}
|
|
|
|
.template-plan-day-label {
|
|
color: var(--ft-primary);
|
|
font-weight: 700;
|
|
min-width: 20px;
|
|
}
|
|
|
|
.template-plan-day-name {
|
|
flex: 1;
|
|
font-weight: 700;
|
|
color: var(--ft-text);
|
|
}
|
|
|
|
.template-plan-day .template-items {
|
|
margin: 2px 0 0 12px;
|
|
padding-left: 12px;
|
|
border-left: 2px solid var(--ft-border);
|
|
|
|
li:first-child {
|
|
border-top: none;
|
|
}
|
|
}
|
|
|
|
// Den volna není záznam, jen připomínka konce cyklu
|
|
.template-plan-rest {
|
|
padding: 6px 10px;
|
|
border: 1px dashed var(--ft-border);
|
|
border-radius: var(--ft-radius-sm);
|
|
font-size: 0.85rem;
|
|
color: var(--ft-text-muted);
|
|
font-style: italic;
|
|
}
|
|
}
|
|
|
|
.template-form {
|
|
.template-form-head {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 12px;
|
|
|
|
> * {
|
|
flex: 1 1 180px;
|
|
}
|
|
|
|
.template-form-name {
|
|
flex: 3 1 260px;
|
|
}
|
|
}
|
|
|
|
.input-with-unit {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
|
|
span {
|
|
color: var(--ft-text-secondary);
|
|
font-size: 0.88rem;
|
|
}
|
|
}
|
|
}
|
|
|
|
.workout-items-actions {
|
|
display: flex;
|
|
gap: 8px;
|
|
}
|
|
|
|
.plan-day-editor {
|
|
margin-bottom: 14px;
|
|
padding: 12px;
|
|
border: 1px solid var(--ft-border);
|
|
border-radius: var(--ft-radius);
|
|
|
|
.plan-day-head {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.plan-day-weekday {
|
|
width: 140px;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.plan-day-order {
|
|
font-weight: 700;
|
|
color: var(--ft-text-secondary);
|
|
min-width: 22px;
|
|
}
|
|
|
|
.plan-day-calories {
|
|
color: var(--ft-warning);
|
|
font-weight: 600;
|
|
font-size: 0.85rem;
|
|
white-space: nowrap;
|
|
}
|
|
}
|
|
|
|
.plan-rest-day {
|
|
margin-bottom: 14px;
|
|
padding: 10px 12px;
|
|
border: 1px dashed var(--ft-border);
|
|
border-radius: var(--ft-radius);
|
|
font-size: 0.87rem;
|
|
color: var(--ft-text-muted);
|
|
}
|