Refactoring: Inline-Styles → CSS-Klassen (worlds.js, dog-profile.js, settings.js) — 20 neue w3-/by-Klassen (SW by-v773)
This commit is contained in:
parent
3b8c9a72d8
commit
ce14bb1d2c
8 changed files with 389 additions and 115 deletions
|
|
@ -108,8 +108,7 @@ window.Page_dog_profile = (() => {
|
|||
margin-bottom:var(--space-5);text-align:left">
|
||||
${geburtstag ? `
|
||||
<div class="card" style="padding:var(--space-3)">
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);
|
||||
margin-bottom:2px"><svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#calendar-dots"></use></svg> Geburtstag</div>
|
||||
<div class="dp-info-label"><svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#calendar-dots"></use></svg> Geburtstag</div>
|
||||
<div style="font-weight:500;font-size:var(--text-sm)">${geburtstag}</div>
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary)">
|
||||
${_calcAlter(dog.geburtstag)}
|
||||
|
|
@ -118,8 +117,7 @@ window.Page_dog_profile = (() => {
|
|||
` : ''}
|
||||
${dog.geschlecht ? `
|
||||
<div class="card" style="padding:var(--space-3)">
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);
|
||||
margin-bottom:2px">${dog.geschlecht === 'm' ? '<svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#gender-male"></use></svg>' : '<svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#gender-female"></use></svg>'} Geschlecht</div>
|
||||
<div class="dp-info-label">${dog.geschlecht === 'm' ? '<svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#gender-male"></use></svg>' : '<svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#gender-female"></use></svg>'} Geschlecht</div>
|
||||
<div style="font-weight:500;font-size:var(--text-sm)">
|
||||
${dog.geschlecht === 'm' ? 'Rüde' : 'Hündin'}
|
||||
</div>
|
||||
|
|
@ -127,8 +125,7 @@ window.Page_dog_profile = (() => {
|
|||
` : ''}
|
||||
${dog.gewicht_kg ? `
|
||||
<div class="card" style="padding:var(--space-3);cursor:pointer" data-action="goto-weight">
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);
|
||||
margin-bottom:2px"><svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#scales"></use></svg> Gewicht</div>
|
||||
<div class="dp-info-label"><svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#scales"></use></svg> Gewicht</div>
|
||||
<div style="font-weight:500;font-size:var(--text-sm)">${dog.gewicht_kg} kg</div>
|
||||
</div>
|
||||
` : ''}
|
||||
|
|
@ -521,9 +518,7 @@ window.Page_dog_profile = (() => {
|
|||
let activeHtml = '';
|
||||
if (active.length) {
|
||||
activeHtml = active.map(s => `
|
||||
<div style="display:flex;align-items:center;gap:var(--space-2);
|
||||
padding:var(--space-2) var(--space-3);background:var(--c-surface-2);
|
||||
border-radius:var(--radius-md);margin-bottom:var(--space-2)">
|
||||
<div style="display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--c-surface-2);border-radius:var(--radius-md);margin-bottom:var(--space-2)">
|
||||
<svg class="ph-icon" aria-hidden="true"><use href="/icons/phosphor.svg#user"></use></svg>
|
||||
<div style="flex:1;font-size:var(--text-sm)">
|
||||
<strong>${_esc(s.sitter_name)}</strong>
|
||||
|
|
@ -619,7 +614,7 @@ window.Page_dog_profile = (() => {
|
|||
value="${_esc(dog.chip_nr || '')}" placeholder="z.B. 276009200123456" maxlength="20">
|
||||
</div>`,
|
||||
footer: `
|
||||
<div style="display:flex;flex-direction:column;gap:var(--space-2);width:100%">
|
||||
<div class="w3-btn-stack">
|
||||
<button class="btn btn-primary" id="chip-edit-save-btn" style="width:100%">Speichern</button>
|
||||
<button class="btn btn-secondary" onclick="UI.modal.close()">Abbrechen</button>
|
||||
</div>`,
|
||||
|
|
@ -676,7 +671,7 @@ window.Page_dog_profile = (() => {
|
|||
`;
|
||||
|
||||
const footer = `
|
||||
<div style="display:flex;flex-direction:column;gap:var(--space-2);width:100%">
|
||||
<div class="w3-btn-stack">
|
||||
${hasPhoto ? `<button class="btn btn-primary" id="pe-save-btn" style="width:100%">Speichern</button>` : ''}
|
||||
<div style="display:flex;gap:var(--space-2)">
|
||||
${hasPhoto ? `<button class="btn btn-danger" id="pe-delete-btn">${UI.icon('trash')} Löschen</button>` : ''}
|
||||
|
|
@ -1044,7 +1039,7 @@ window.Page_dog_profile = (() => {
|
|||
title: 'Weiteren Hund anlegen',
|
||||
body: _formHTML(null, true),
|
||||
footer: `
|
||||
<div style="display:flex;flex-direction:column;gap:var(--space-2);width:100%">
|
||||
<div class="w3-btn-stack">
|
||||
<button type="submit" form="dp-form" class="btn btn-primary" style="width:100%">${UI.icon('dog')} Hund anlegen</button>
|
||||
<button type="button" class="btn btn-secondary" id="dp-form-cancel">Abbrechen</button>
|
||||
</div>
|
||||
|
|
@ -1061,7 +1056,7 @@ window.Page_dog_profile = (() => {
|
|||
title: `${dog.name} bearbeiten`,
|
||||
body: _formHTML(dog, true),
|
||||
footer: `
|
||||
<div style="display:flex;flex-direction:column;gap:var(--space-2);width:100%">
|
||||
<div class="w3-btn-stack">
|
||||
<button type="submit" form="dp-form" class="btn btn-primary" style="width:100%">Speichern</button>
|
||||
<div style="display:flex;gap:var(--space-2)">
|
||||
<button type="button" class="btn btn-danger" id="dp-delete-btn">Löschen</button>
|
||||
|
|
@ -1657,8 +1652,7 @@ window.Page_dog_profile = (() => {
|
|||
</div>`
|
||||
: vaccs.map(v => `
|
||||
<div class="pp-vacc-row" data-id="${v.id}"
|
||||
style="display:flex;align-items:flex-start;gap:var(--space-3);
|
||||
padding:var(--space-3) 0;border-bottom:1px solid var(--c-border)">
|
||||
class="pp-data-row">
|
||||
<div style="flex:1">
|
||||
<div style="font-weight:600;font-size:var(--text-sm)">${_esc(v.krankheit)}</div>
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);margin-top:2px">
|
||||
|
|
@ -1695,8 +1689,7 @@ window.Page_dog_profile = (() => {
|
|||
</div>`
|
||||
: meds.map(m => `
|
||||
<div class="pp-med-row" data-id="${m.id}"
|
||||
style="display:flex;align-items:flex-start;gap:var(--space-3);
|
||||
padding:var(--space-3) 0;border-bottom:1px solid var(--c-border)">
|
||||
class="pp-data-row">
|
||||
<div style="flex:1">
|
||||
<div style="font-weight:600;font-size:var(--text-sm)">${_esc(m.name)}</div>
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);margin-top:2px">
|
||||
|
|
|
|||
|
|
@ -120,12 +120,7 @@ window.Page_settings = (() => {
|
|||
|
||||
<div class="card" style="padding:var(--space-5);margin-bottom:var(--space-4)">
|
||||
<div style="display:flex;align-items:center;gap:var(--space-4)">
|
||||
<div id="settings-avatar-btn"
|
||||
style="width:56px;height:56px;border-radius:50%;
|
||||
background:var(--c-primary);color:#fff;
|
||||
display:flex;align-items:center;justify-content:center;
|
||||
font-size:1.5rem;font-weight:700;flex-shrink:0;
|
||||
cursor:pointer;overflow:hidden;position:relative">
|
||||
<div id="settings-avatar-btn" class="by-avatar-circle">
|
||||
${avatarInner}
|
||||
<div style="position:absolute;inset:0;background:rgba(0,0,0,0.25);
|
||||
display:flex;align-items:center;justify-content:center;
|
||||
|
|
@ -223,9 +218,7 @@ window.Page_settings = (() => {
|
|||
</div>
|
||||
|
||||
<div class="card" id="settings-stats-card" style="margin-bottom:var(--space-4)">
|
||||
<div style="padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;
|
||||
color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:0.05em;
|
||||
border-bottom:1px solid var(--c-border)">Aktivität</div>
|
||||
<div class="by-card-section-header">Aktivität</div>
|
||||
<div id="settings-stats-body" style="padding:var(--space-4);display:flex;justify-content:space-around">
|
||||
<div style="color:var(--c-text-muted);font-size:var(--text-sm)">Lädt…</div>
|
||||
</div>
|
||||
|
|
@ -238,9 +231,7 @@ window.Page_settings = (() => {
|
|||
<div id="breeder-card-slot"></div>
|
||||
|
||||
<div class="card" style="margin-bottom:var(--space-4)">
|
||||
<div style="padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:600;
|
||||
color:var(--c-text-secondary);text-transform:uppercase;letter-spacing:0.05em;
|
||||
border-bottom:1px solid var(--c-border)">Trophäen</div>
|
||||
<div class="by-card-section-header">Trophäen</div>
|
||||
<div id="settings-badges-body" style="padding:var(--space-4)">
|
||||
<div style="color:var(--c-text-muted);font-size:var(--text-sm)">Lädt…</div>
|
||||
</div>
|
||||
|
|
@ -301,19 +292,15 @@ window.Page_settings = (() => {
|
|||
</div>
|
||||
|
||||
<div class="card" style="margin-bottom:var(--space-4)">
|
||||
<div style="padding:var(--space-3) var(--space-4);
|
||||
font-size:var(--text-xs);font-weight:600;
|
||||
color:var(--c-text-secondary);text-transform:uppercase;
|
||||
letter-spacing:0.05em;border-bottom:1px solid var(--c-border)">
|
||||
<div class="by-card-section-header">
|
||||
App-Einstellungen
|
||||
</div>
|
||||
<div class="card-body" style="padding:0">
|
||||
|
||||
<!-- Dark-Mode-Auswahl -->
|
||||
<div style="display:flex;align-items:center;gap:var(--space-3);
|
||||
padding:var(--space-4);border-bottom:1px solid var(--c-border)">
|
||||
<div class="settings-toggle-row">
|
||||
<svg class="ph-icon" aria-hidden="true" style="width:1.25rem;height:1.25rem"><use href="/icons/phosphor.svg#moon"></use></svg>
|
||||
<div style="flex:1">
|
||||
<div class="settings-toggle-label">
|
||||
<div style="font-weight:500">Dark Mode</div>
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);margin-top:2px">
|
||||
Erscheinungsbild der App
|
||||
|
|
@ -335,9 +322,9 @@ window.Page_settings = (() => {
|
|||
</div>
|
||||
|
||||
<!-- KI-Notiz-Assistent -->
|
||||
<div style="display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--c-border)">
|
||||
<div class="settings-toggle-row">
|
||||
<svg class="ph-icon" aria-hidden="true" style="width:1.25rem;height:1.25rem"><use href="/icons/phosphor.svg#brain"></use></svg>
|
||||
<div style="flex:1">
|
||||
<div class="settings-toggle-label">
|
||||
<div style="font-weight:500">KI-Notiz-Assistent</div>
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);margin-top:2px">
|
||||
Erkennt Muster in deinen Notizen und macht Vorschläge
|
||||
|
|
@ -359,9 +346,9 @@ window.Page_settings = (() => {
|
|||
</div>
|
||||
|
||||
<!-- Goldene Gassi-Stunde -->
|
||||
<div style="display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4)">
|
||||
<div class="settings-toggle-row" style="border-bottom:none">
|
||||
<svg class="ph-icon" aria-hidden="true" style="width:1.25rem;height:1.25rem"><use href="/icons/phosphor.svg#paw-print"></use></svg>
|
||||
<div style="flex:1">
|
||||
<div class="settings-toggle-label">
|
||||
<div style="font-weight:500">Goldene Gassi-Stunde täglich</div>
|
||||
<div style="font-size:var(--text-xs);color:var(--c-text-secondary);margin-top:2px">
|
||||
Täglich um 07:00 Uhr: bestes Wetterfenster für den Gassi-Gang
|
||||
|
|
@ -398,10 +385,7 @@ window.Page_settings = (() => {
|
|||
|
||||
<!-- App installieren -->
|
||||
<div class="card" style="margin-bottom:var(--space-4)">
|
||||
<div style="padding:var(--space-3) var(--space-4);
|
||||
font-size:var(--text-xs);font-weight:600;
|
||||
color:var(--c-text-secondary);text-transform:uppercase;
|
||||
letter-spacing:0.05em;border-bottom:1px solid var(--c-border)">
|
||||
<div class="by-card-section-header">
|
||||
App installieren
|
||||
</div>
|
||||
<div class="card-body" style="padding:0">
|
||||
|
|
@ -717,7 +701,7 @@ window.Page_settings = (() => {
|
|||
</form>
|
||||
`,
|
||||
footer: `
|
||||
<div style="display:flex;flex-direction:column;gap:var(--space-2);width:100%">
|
||||
<div class="w3-btn-stack">
|
||||
<button type="submit" form="profile-form" class="btn btn-primary" style="width:100%">Speichern</button>
|
||||
<button type="button" class="btn btn-secondary" data-modal-close>Abbrechen</button>
|
||||
</div>
|
||||
|
|
@ -1042,12 +1026,7 @@ window.Page_settings = (() => {
|
|||
|
||||
slot.innerHTML = `
|
||||
<div class="card" style="margin-bottom:var(--space-4)">
|
||||
<div style="padding:var(--space-3) var(--space-4);
|
||||
font-size:var(--text-xs);font-weight:600;
|
||||
color:var(--c-text-secondary);text-transform:uppercase;
|
||||
letter-spacing:0.05em;border-bottom:1px solid var(--c-border)">
|
||||
Züchter-Profil
|
||||
</div>
|
||||
<div class="by-card-section-header">Züchter-Profil</div>
|
||||
<div style="padding:var(--space-4)">
|
||||
${statusBadge}
|
||||
${actionBlock}
|
||||
|
|
@ -1269,7 +1248,7 @@ window.Page_settings = (() => {
|
|||
</form>
|
||||
`,
|
||||
footer: `
|
||||
<div style="display:flex;flex-direction:column;gap:var(--space-2);width:100%">
|
||||
<div class="w3-btn-stack">
|
||||
<button type="submit" form="breeder-apply-form" class="btn btn-primary" id="breeder-apply-submit"
|
||||
style="width:100%">Antrag einreichen</button>
|
||||
<button type="button" class="btn btn-secondary" data-modal-close>Abbrechen</button>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue