UX: Geburtstags-Banner Emojis → Phosphor Icons (confetti, cake/gift, sparkle, balloon, star, magic-wand) (SW by-v782)
This commit is contained in:
parent
34fe59a672
commit
e0fb6a78e4
5 changed files with 22 additions and 17 deletions
|
|
@ -327,7 +327,7 @@ MEDIA_DIR = os.getenv("MEDIA_DIR", "/data/media")
|
||||||
os.makedirs(MEDIA_DIR, exist_ok=True)
|
os.makedirs(MEDIA_DIR, exist_ok=True)
|
||||||
app.mount("/media", StaticFiles(directory=MEDIA_DIR), name="media")
|
app.mount("/media", StaticFiles(directory=MEDIA_DIR), name="media")
|
||||||
|
|
||||||
APP_VER = "781" # muss mit APP_VER in app.js übereinstimmen
|
APP_VER = "782" # muss mit APP_VER in app.js übereinstimmen
|
||||||
|
|
||||||
@app.get("/.well-known/assetlinks.json")
|
@app.get("/.well-known/assetlinks.json")
|
||||||
async def assetlinks():
|
async def assetlinks():
|
||||||
|
|
|
||||||
|
|
@ -575,10 +575,10 @@
|
||||||
<div id="modal-container"></div>
|
<div id="modal-container"></div>
|
||||||
|
|
||||||
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
|
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
|
||||||
<script src="/js/api.js?v=781"></script>
|
<script src="/js/api.js?v=782"></script>
|
||||||
<script src="/js/ui.js?v=781"></script>
|
<script src="/js/ui.js?v=782"></script>
|
||||||
<script src="/js/app.js?v=781"></script>
|
<script src="/js/app.js?v=782"></script>
|
||||||
<script src="/js/worlds.js?v=781"></script>
|
<script src="/js/worlds.js?v=782"></script>
|
||||||
|
|
||||||
<!-- Feature-Seiten werden lazy geladen -->
|
<!-- Feature-Seiten werden lazy geladen -->
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
Router, State-Management, Navigation, Initialisierung.
|
Router, State-Management, Navigation, Initialisierung.
|
||||||
============================================================ */
|
============================================================ */
|
||||||
|
|
||||||
const APP_VER = '781'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
const APP_VER = '782'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||||
const APP_VERSION = '1.5.0'; // ← semantische Version, wird bei make release gesetzt
|
const APP_VERSION = '1.5.0'; // ← semantische Version, wird bei make release gesetzt
|
||||||
const IS_STAGING = location.hostname === 'staging.banyaro.app';
|
const IS_STAGING = location.hostname === 'staging.banyaro.app';
|
||||||
// Cache-Bust-Parameter nach Update-Reload sofort entfernen
|
// Cache-Bust-Parameter nach Update-Reload sofort entfernen
|
||||||
|
|
|
||||||
|
|
@ -1325,24 +1325,29 @@ window.Worlds = (() => {
|
||||||
<div class="world-reminder bday-pop" id="wh-bday-banner" style="flex-direction:column;align-items:center;
|
<div class="world-reminder bday-pop" id="wh-bday-banner" style="flex-direction:column;align-items:center;
|
||||||
text-align:center;gap:6px;padding:14px 16px;cursor:pointer;
|
text-align:center;gap:6px;padding:14px 16px;cursor:pointer;
|
||||||
background:rgba(0,0,0,0.42);border-color:rgba(196,132,58,0.6)">
|
background:rgba(0,0,0,0.42);border-color:rgba(196,132,58,0.6)">
|
||||||
<div style="display:flex;gap:6px;font-size:1.5rem;line-height:1">
|
<div style="display:flex;gap:10px;align-items:center;justify-content:center">
|
||||||
<span class="bday-fw1">🎆</span>
|
<svg class="ph-icon bday-fw1" style="width:1.6rem;height:1.6rem;color:#f59e0b"><use href="/icons/phosphor.svg#confetti"></use></svg>
|
||||||
<span style="font-size:2rem">${bday === 'today' ? '🎂' : '🎁'}</span>
|
<svg class="ph-icon bday-pop" style="width:2.2rem;height:2.2rem;color:#fff"><use href="/icons/phosphor.svg#${bday === 'today' ? 'cake' : 'gift'}"></use></svg>
|
||||||
<span class="bday-fw2">🎇</span>
|
<svg class="ph-icon bday-fw2" style="width:1.6rem;height:1.6rem;color:#f59e0b"><use href="/icons/phosphor.svg#confetti"></use></svg>
|
||||||
</div>
|
</div>
|
||||||
<div style="font-weight:800;font-size:var(--text-sm);color:#fff;letter-spacing:0.01em">
|
<div style="font-weight:800;font-size:var(--text-sm);color:#fff;letter-spacing:0.01em">
|
||||||
${bday === 'today'
|
${bday === 'today'
|
||||||
? `Alles Gute zum ${bdayYear}. Geburtstag, ${_esc(dog.name)}!`
|
? `Alles Gute zum ${bdayYear}. Geburtstag, ${_esc(dog.name)}!`
|
||||||
: `Morgen hat ${_esc(dog.name)} Geburtstag! 🥳`}
|
: `Morgen hat ${_esc(dog.name)} Geburtstag!`}
|
||||||
</div>
|
</div>
|
||||||
<div style="display:flex;gap:4px;font-size:1.1rem">
|
<div style="display:flex;gap:8px;align-items:center">
|
||||||
<span class="bday-fw3">🎉</span><span class="bday-fw1">✨</span><span class="bday-fw2">🎊</span><span class="bday-fw3">✨</span><span class="bday-fw1">🎉</span>
|
<svg class="ph-icon bday-fw3" style="width:1rem;height:1rem;color:#e8c96e"><use href="/icons/phosphor.svg#sparkle"></use></svg>
|
||||||
|
<svg class="ph-icon bday-fw1" style="width:1rem;height:1rem;color:#f59e0b"><use href="/icons/phosphor.svg#star"></use></svg>
|
||||||
|
<svg class="ph-icon bday-fw2" style="width:1.1rem;height:1.1rem;color:#e8c96e"><use href="/icons/phosphor.svg#balloon"></use></svg>
|
||||||
|
<svg class="ph-icon bday-fw3" style="width:1rem;height:1rem;color:#f59e0b"><use href="/icons/phosphor.svg#star"></use></svg>
|
||||||
|
<svg class="ph-icon bday-fw1" style="width:1rem;height:1rem;color:#e8c96e"><use href="/icons/phosphor.svg#sparkle"></use></svg>
|
||||||
</div>
|
</div>
|
||||||
${bdayYear ? `<div style="font-size:10px;color:rgba(255,255,255,0.55)">
|
${bdayYear ? `<div style="font-size:10px;color:rgba(255,255,255,0.55)">
|
||||||
${bday === 'today' ? `${bdayYear} Jahr${bdayYear !== 1 ? 'e' : ''} gemeinsam 🐾` : `Wird ${bdayYear} Jahr${bdayYear !== 1 ? 'e' : ''} alt`}
|
${bday === 'today' ? `${bdayYear} Jahr${bdayYear !== 1 ? 'e' : ''} gemeinsam` : `Wird ${bdayYear} Jahr${bdayYear !== 1 ? 'e' : ''} alt`}
|
||||||
</div>` : ''}
|
</div>` : ''}
|
||||||
<div style="font-size:10px;color:rgba(196,132,58,0.9);font-weight:700;margin-top:2px">
|
<div style="display:flex;align-items:center;gap:4px;font-size:10px;color:rgba(196,132,58,0.9);font-weight:700;margin-top:2px">
|
||||||
${bday === 'today' ? '🐾 Was hat sich Ban Yaro gewünscht? →' : '✨ KI-Überraschungsideen →'}
|
<svg class="ph-icon" style="width:11px;height:11px"><use href="/icons/phosphor.svg#magic-wand"></use></svg>
|
||||||
|
${bday === 'today' ? 'Was hat sich Ban Yaro gewünscht?' : 'KI-Überraschungsideen'}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
${bday === 'today' && new Date().getHours() >= 18 ? `
|
${bday === 'today' && new Date().getHours() >= 18 ? `
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
Offline-Cache + Push Notifications + Tile-Cache
|
Offline-Cache + Push Notifications + Tile-Cache
|
||||||
============================================================ */
|
============================================================ */
|
||||||
|
|
||||||
const CACHE_VERSION = 'by-v781';
|
const CACHE_VERSION = 'by-v782';
|
||||||
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
||||||
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
||||||
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache
|
const CACHE_API = 'ban-yaro-api-v1'; // API-Response-Cache
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue