Icons: Emoji/Unicode → Phosphor in 8 Dateien + 16 neue Sprite-Icons — SW by-v415

Sprite: arrow-up/down, bug, check-circle, ear, fish, flask, flower,
        medal, question, scissors, tent, ticket, tooth, trend-up/down

poison.js:     TYPEN (🎣☠️⚗️⚠️) → question/fish/skull/flask/warning
events.js:     TYPEN (🎪🏆🎓🐕🛍️🥇📌) → ticket/trophy/graduation-cap/dog/shopping-bag/medal/push-pin
dog-profile.js: Pflege-Emojis (✂️💅🦷👂👁🐾🦟🌸❤️🐶) → Phosphor
trainingsplaene.js: (🐶🐕🦮) → dog mit SVG-Icon
health.js:     ▲▼→ → trend-up/trend-down/arrow-right
uebungen.js:   ↑↓→★ → trend-up/trend-down/arrow-right/star
admin.js:      ✓✗ → check/x in HTML-Templates
moderation.js: ✓✗ → check/x Buttons
This commit is contained in:
rene 2026-04-26 09:26:13 +02:00
parent f6586c88ee
commit fd76eddfb9
11 changed files with 81 additions and 43 deletions

View file

@ -17,11 +17,11 @@ window.Page_poison = (() => {
let _userPos = null;
const TYPEN = {
unbekannt: { label: 'Unbekannt', icon: '', color: '#e67e22' },
koeoder: { label: 'Köder', icon: '🎣', color: '#e74c3c' },
vergiftet: { label: 'Vergiftetes Tier', icon: '☠️', color: '#8e44ad' },
chemikalie: { label: 'Chemikalie', icon: '⚗️', color: '#c0392b' },
andere: { label: 'Andere Gefahr', icon: '⚠️', color: '#d35400' },
unbekannt: { label: 'Unbekannt', icon: 'question', color: '#e67e22' },
koeoder: { label: 'Köder', icon: 'fish', color: '#e74c3c' },
vergiftet: { label: 'Vergiftetes Tier', icon: 'skull', color: '#8e44ad' },
chemikalie: { label: 'Chemikalie', icon: 'flask', color: '#c0392b' },
andere: { label: 'Andere Gefahr', icon: 'warning', color: '#d35400' },
};
// ----------------------------------------------------------
@ -199,10 +199,10 @@ window.Page_poison = (() => {
? `${r.distanz_m} m`
: `${(r.distanz_m / 1000).toFixed(1)} km`;
const marker = UI.leafletMarker({ lat: r.lat, lon: r.lon, color: typ.color, icon: typ.icon, size: 34 })
const marker = UI.leafletMarker({ lat: r.lat, lon: r.lon, color: typ.color, icon: UI.icon(typ.icon), size: 34 })
.addTo(_map)
.bindPopup(`
<b>${typ.icon} ${typ.label}</b><br>
<b>${UI.icon(typ.icon)} ${typ.label}</b><br>
${r.beschreibung ? UI.escape(r.beschreibung.slice(0, 80)) + '<br>' : ''}
<small>📍 ${distStr} entfernt</small><br>
<small>📅 ${_fmtDate(r.created_at)}</small>
@ -253,7 +253,7 @@ window.Page_poison = (() => {
style="cursor:pointer;margin-bottom:var(--space-3);
border-left:4px solid ${typ.color}">
<div style="display:flex;gap:var(--space-3);align-items:flex-start">
<div style="font-size:2rem;line-height:1;flex-shrink:0">${typ.icon}</div>
<div style="width:40px;height:40px;flex-shrink:0;color:${typ.color};display:flex;align-items:center;justify-content:center">${UI.icon(typ.icon)}</div>
<div style="flex:1;min-width:0">
<div style="display:flex;align-items:center;gap:var(--space-2);
margin-bottom:var(--space-1);flex-wrap:wrap">
@ -305,7 +305,7 @@ window.Page_poison = (() => {
<div style="display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)">
<span class="badge" style="background:${typ.color};color:#fff">
${typ.icon} ${typ.label}
${UI.icon(typ.icon)} ${typ.label}
</span>
${r.bestaetigt ? '<span class="badge badge-success">✅ Bestätigt</span>' : ''}
</div>
@ -333,7 +333,7 @@ window.Page_poison = (() => {
</div>
`;
UI.modal.open({ title: `${typ.icon} Giftköder-Meldung`, body });
UI.modal.open({ title: `${UI.icon(typ.icon)} Giftköder-Meldung`, body });
document.getElementById('detail-confirm')?.addEventListener('click', async () => {
try {
@ -423,8 +423,8 @@ window.Page_poison = (() => {
}
const typOpts = Object.entries(TYPEN)
.map(([val, { icon, label }]) =>
`<option value="${val}">${icon} ${label}</option>`)
.map(([val, { label }]) =>
`<option value="${val}">${label}</option>`)
.join('');
const body = `