From 231f7976c53655dd8f411233a9d5d50c09740f5a Mon Sep 17 00:00:00 2001 From: rene Date: Sun, 26 Apr 2026 09:36:31 +0200 Subject: [PATCH] =?UTF-8?q?Icons=20Runde=202:=20poison/wiki/movies/social?= =?UTF-8?q?=20+=2016=20Sprite-Icons=20=E2=80=94=20SW=20by-v416?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sprite: thermometer-hot, heartbeat, bone, lightning, plant, pill, circle-dashed, stethoscope, backpack (erste-hilfe), music-notes, lightbulb, sparkle, link-simple, globe, heart-straight, check-circle (social/movies) poison.js: ✅ → check-circle (Bestätigt-Badge, Button, Popup, Toast) wiki.js: 📸 → camera (Community-Fotos Heading) movies.js: ✅⚠️★🐾🎬⭐ → check-circle/warning/star/paw-print/film-slate social.js: 🎵📸🌐 Plattformen, ✓👁📌✨🏷🔗✅🤍💬↗️ → Phosphor --- backend/static/icons/phosphor.svg | 32 ++++++++++++++++++++ backend/static/js/app.js | 2 +- backend/static/js/pages/movies.js | 24 +++++++-------- backend/static/js/pages/poison.js | 12 ++++---- backend/static/js/pages/social.js | 50 +++++++++++++++---------------- backend/static/js/pages/wiki.js | 2 +- backend/static/sw.js | 2 +- 7 files changed, 78 insertions(+), 46 deletions(-) diff --git a/backend/static/icons/phosphor.svg b/backend/static/icons/phosphor.svg index 819c09e..4b77a1f 100644 --- a/backend/static/icons/phosphor.svg +++ b/backend/static/icons/phosphor.svg @@ -126,4 +126,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/backend/static/js/app.js b/backend/static/js/app.js index 7d1c1c6..4116353 100644 --- a/backend/static/js/app.js +++ b/backend/static/js/app.js @@ -3,7 +3,7 @@ Router, State-Management, Navigation, Initialisierung. ============================================================ */ -const APP_VER = '394'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen +const APP_VER = '395'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen const App = (() => { diff --git a/backend/static/js/pages/movies.js b/backend/static/js/pages/movies.js index e4606f8..441a0df 100644 --- a/backend/static/js/pages/movies.js +++ b/backend/static/js/pages/movies.js @@ -74,16 +74,16 @@ window.Page_movies = (() => { try { _filme = await API.get('/movies/filme'); } catch { - content.innerHTML = UI.emptyState({ icon: '🎬', title: 'Filme konnten nicht geladen werden', text: 'Bitte versuche es erneut.' }); + content.innerHTML = UI.emptyState({ icon: 'film-slate', title: 'Filme konnten nicht geladen werden', text: 'Bitte versuche es erneut.' }); return; } content.innerHTML = `
- - - + + +
`; @@ -130,8 +130,8 @@ window.Page_movies = (() => { function _movieCard(film) { const stirbt = film.stirbt_der_hund; const tag = stirbt - ? `
⚠️ ACHTUNG: Der Hund stirbt
` - : `
✅ Der Hund überlebt
`; + ? `
ACHTUNG: Der Hund stirbt
` + : `
Der Hund überlebt
`; const stars = _starsHtml(film.bewertung_avg, film.id, film.user_rating, false); return ` @@ -140,7 +140,7 @@ window.Page_movies = (() => {
${_esc(film.titel)} (${film.jahr})
${_esc(film.genre)}
-
🐾 ${_esc(film.hund_rasse)}
+
${_esc(film.hund_rasse)}
${tag}
${stars}
@@ -151,7 +151,7 @@ window.Page_movies = (() => { function _openMovieModal(film) { const stirbt = film.stirbt_der_hund; const bannerClass = stirbt ? 'movie-tag-stirbt' : 'movie-tag-ueberlebt'; - const bannerText = stirbt ? '⚠️ ACHTUNG: Der Hund stirbt!' : '✅ Der Hund überlebt'; + const bannerText = stirbt ? ' ACHTUNG: Der Hund stirbt!' : ' Der Hund überlebt'; const stars = _starsHtml(film.bewertung_avg, film.id, film.user_rating, true); const loginHint = !_appState.user @@ -162,7 +162,7 @@ window.Page_movies = (() => {
${film.bild_emoji}
${_esc(film.genre)} - 🐾 ${_esc(film.hund_rasse)} + ${_esc(film.hund_rasse)} ${film.jahr}
${bannerText}
@@ -189,7 +189,7 @@ window.Page_movies = (() => { const filled = Math.round(avg); const stars = [1,2,3,4,5].map(i => { const active = i <= (userRating || filled) ? ' movie-star--active' : ''; - return ``; + return ``; }).join(''); return `
${stars} ${avg}
`; } @@ -305,7 +305,7 @@ window.Page_movies = (() => {
${_esc(dog.name)}
${dog.rasse ? `
${_esc(dog.rasse)}
` : ''} `; @@ -344,7 +344,7 @@ window.Page_movies = (() => { ${dog.rasse ? `
${_esc(dog.rasse)}
` : ''} ${vorname ? `
von ${vorname}
` : ''} -
${dog.stimmen} ⭐
+
${dog.stimmen}
`; }).join('') diff --git a/backend/static/js/pages/poison.js b/backend/static/js/pages/poison.js index 17fb221..513c827 100644 --- a/backend/static/js/pages/poison.js +++ b/backend/static/js/pages/poison.js @@ -206,7 +206,7 @@ window.Page_poison = (() => { ${r.beschreibung ? UI.escape(r.beschreibung.slice(0, 80)) + '
' : ''} 📍 ${distStr} entfernt
📅 ${_fmtDate(r.created_at)} - ${r.bestaetigt ? '
✅ Bestätigt' : ''} + ${r.bestaetigt ? '
Bestätigt' : ''} `); marker.on('click', () => _openDetail(r)); @@ -223,7 +223,7 @@ window.Page_poison = (() => { if (_reports.length === 0) { listEl.innerHTML = UI.emptyState({ - icon : '✅', + icon : 'check-circle', title : 'Alles sicher', text : 'In deiner Nähe (10 km) gibt es aktuell keine Giftköder-Meldungen.', action: ``, @@ -260,7 +260,7 @@ window.Page_poison = (() => { ${typ.label} ${r.bestaetigt - ? '✅ Bestätigt' + ? ' Bestätigt' : ''} @@ -307,7 +307,7 @@ window.Page_poison = (() => { ${UI.icon(typ.icon)} ${typ.label} - ${r.bestaetigt ? '✅ Bestätigt' : ''} + ${r.bestaetigt ? ' Bestätigt' : ''} ${r.beschreibung @@ -324,7 +324,7 @@ window.Page_poison = (() => {
${!r.bestaetigt && _appState.user && !isOwnEntry - ? `` + ? `` : ''} ${isOwnEntry || isAdmin @@ -380,7 +380,7 @@ window.Page_poison = (() => {
diff --git a/backend/static/js/pages/social.js b/backend/static/js/pages/social.js index 3204630..010d493 100644 --- a/backend/static/js/pages/social.js +++ b/backend/static/js/pages/social.js @@ -8,8 +8,8 @@ window.Page_social = (() => { const _SC = { idea:'var(--c-text-muted)', draft:'var(--c-warning)', scheduled:'var(--c-primary)', published:'var(--c-success)', archived:'var(--c-text-muted)' }; - const _FL = { reel:'🎬 Reel', story:'⭕ Story', post:'🖼 Post', carousel:'🎠 Carousel' }; - const _PL = { tiktok:'🎵 TikTok', instagram:'📸 Instagram', both:'🌐 Beide' }; + const _FL = { reel:' Reel', story:'⭕ Story', post:'🖼 Post', carousel:'🎠 Carousel' }; + const _PL = { tiktok:' TikTok', instagram:' Instagram', both:' Beide' }; // Luna-Wartebotschaften (alle 10s rotierend) const _LUNA_MSGS = [ @@ -18,7 +18,7 @@ window.Page_social = (() => { ['💡','Mir ist da was eingefallen…'], ['✍️','Ich arbeite das aus…'], ['⏳','Kleinen Moment noch…'], - ['✨','Gleich hab ich es…'], + ['','Gleich hab ich es…'], ['🎯','Ich feile noch etwas dran…'], ['🐾','Fast fertig für dich…'], ]; @@ -63,7 +63,7 @@ window.Page_social = (() => {
- ${[['idee','✨ Ideen'],['archiv','📂 Archiv'],['bewerten','🔍 Prüfen']].map(([t,l]) => ` + ${[['idee',' Ideen'],['archiv','📂 Archiv'],['bewerten','🔍 Prüfen']].map(([t,l]) => `
@@ -315,7 +315,7 @@ window.Page_social = (() => {
`; @@ -435,7 +435,7 @@ window.Page_social = (() => { data-format="${idea.format||'post'}" data-platform="${idea.platform||'both'}" data-category="${_esc(idea.category||'')}"> - 📌 Merken + Merken
`).join(''); @@ -473,12 +473,12 @@ window.Page_social = (() => { platform: btn.dataset.platform, category: btn.dataset.category || undefined, }); - btn.textContent = '✓ Gemerkt'; + btn.textContent = ' Gemerkt'; btn.style.background = 'var(--c-success)'; btn.style.color = '#fff'; btn.style.borderColor = 'var(--c-success)'; } catch { - btn.textContent = '📌 Merken'; + btn.textContent = ' Merken'; btn.disabled = false; } }); @@ -526,7 +526,7 @@ window.Page_social = (() => {
${e.posts_count > 0 ? `✓ ${e.posts_count}x` : ''} + color:#fff;padding:1px 6px;border-radius:4px"> ${e.posts_count}x` : ''}
`; } finally { btn.disabled = false; - btn.innerHTML = '✨ Los geht\'s!'; + btn.innerHTML = ' Los geht\'s!'; } }); } @@ -793,7 +793,7 @@ window.Page_social = (() => { if (bar) bar.style.width = '100%'; if (pctEl) pctEl.textContent = '100%'; if (txt) txt.textContent = '🎉 Fertig!'; - if (emoji) emoji.textContent = '✨'; + if (emoji) emoji.textContent = ''; } // --------------------------------------------------------------- @@ -823,7 +823,7 @@ window.Page_social = (() => { margin-bottom:var(--space-3);flex-wrap:wrap"> ✓ Gespeichert + padding:4px 12px;font-size:11px;font-weight:700"> Gespeichert
${score ? `${score}` : ''} @@ -841,7 +841,7 @@ window.Page_social = (() => { data-id="${data.id}" style="flex:1;font-size:12px;padding:6px 10px;min-height:36px; border-radius:var(--radius-full)"> - 👁 Vorschau + Vorschau @@ -888,7 +888,7 @@ window.Page_social = (() => {
-
🏷 Hashtags
+
Hashtags
${data.hashtags.split(',').map(h=>`#${h.trim()}`).join(' ')}
@@ -963,7 +963,7 @@ window.Page_social = (() => { .replace(/&/g,'&').replace(/</g,'<') .replace(/>/g,'>').replace(/"/g,'"'); navigator.clipboard?.writeText(text).then(() => { - btn.textContent = '✓ Kopiert!'; + btn.textContent = ' Kopiert!'; setTimeout(() => btn.textContent = '📋 Kopieren', 2000); }); }); @@ -1063,7 +1063,7 @@ window.Page_social = (() => {
- 🤍💬↗️ + 🔖
@@ -1140,7 +1140,7 @@ window.Page_social = (() => {
${!items.length ? UI.emptyState({icon:'camera',title:'Noch nichts hier', - text:'Geh zu "✨ Ideen" und erstelle deinen ersten Post!'}) + text:'Geh zu " Ideen" und erstelle deinen ersten Post!'}) : items.map(c => `
@@ -1161,7 +1161,7 @@ window.Page_social = (() => { ? ` - 🔗 Post ansehen` + Post ansehen` : c.status === 'published' ? `` : ` -
`} +
`} + @@ -1234,7 +1234,7 @@ window.Page_social = (() => {
`, footer: ` - `, + `, }); document.getElementById('qp-cancel')?.addEventListener('click', UI.modal.close); document.getElementById(`qp-ok-${id}`)?.addEventListener('click', async () => { @@ -1255,7 +1255,7 @@ window.Page_social = (() => { el.querySelectorAll('.sm-add-url').forEach(b => b.addEventListener('click', () => { const id = b.dataset.id; UI.modal.open({ - title: '🔗 Post-Link eintragen', + title: ' Post-Link eintragen', body: `
@@ -1284,7 +1284,7 @@ window.Page_social = (() => { .replace(/&/g,'&').replace(/</g,'<') .replace(/>/g,'>').replace(/"/g,'"'); navigator.clipboard?.writeText(text).then(() => { - b.textContent = '✓ Kopiert!'; + b.textContent = ' Kopiert!'; setTimeout(() => b.textContent = '📋 Kopieren', 2000); }); })); diff --git a/backend/static/js/pages/wiki.js b/backend/static/js/pages/wiki.js index 72d01ba..69f2e4a 100644 --- a/backend/static/js/pages/wiki.js +++ b/backend/static/js/pages/wiki.js @@ -732,7 +732,7 @@ window.Page_wiki = (() => { ? `
📸 Community-Fotos
+ margin-bottom:var(--space-2)"> Community-Fotos
${rasse.user_fotos.map(f => `
diff --git a/backend/static/sw.js b/backend/static/sw.js index 7b2355e..3cf5351 100644 --- a/backend/static/sw.js +++ b/backend/static/sw.js @@ -3,7 +3,7 @@ Offline-Cache + Push Notifications + Tile-Cache ============================================================ */ -const CACHE_VERSION = 'by-v415'; +const CACHE_VERSION = 'by-v416'; const CACHE_STATIC = `${CACHE_VERSION}-static`; const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten