Kundenansicht neu: Glas-Logo auf der Anmeldung und Startbild der App
- public/neu/glas-logo.js: das Bauteil „liquid-glass-logo-reveal“ (21st.dev, Shader und Zeitleiste aus zanwei/glass-icon-reveal, MIT, Hinweis im Kopf) in reines JavaScript übertragen: WEBklar-Zeichen als Zeichenfläche (Stern und Punkt ausgestanzt), weiß, keine Schleife, Textur 512 px (auf dem Handy ~3× schneller bereit), Hintergrund läuft zum Rand aus, kein Rauschen auf reinem Weiß, ohne WebGL2 das ruhende Logo als CSS-Maske. - Anmeldung (Handy und PC): Glas-Logo statt App-Icon, der Name erscheint, sobald das Glas losgelassen hat; ein Klick spielt es erneut; reduzierte Bewegung zeigt das ruhende Logo. - Installierte App: startbild.js im Kopf von Übersicht und Anmeldung deckt beim ersten Öffnen je App-Start weiß ab, spielt das Glas-Logo (Tempo 1,25) und blendet dann weich aus; ein Tipp überspringt, spätestens nach 6,5 s ist es weg. Danach ruht das Logo der Anmeldung. - Tests: knGlasLogo (Zeitleiste, Glasbreite < 1,3 Kacheln, MIT-Hinweis, Startbild in der VM), Seitenprüfungen der Anmeldung und der Übersicht kennen die neuen Skripte. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1725aaa91c
commit
c997703251
9 files changed
+1221
-10
No files matched your search
@@ -0,0 +1,26 @@
|
||||
/* Kundenansicht neu: das Glas-Logo auf der Anmeldung (Handy und PC). Spielt einmal beim Laden; ein Klick spielt es erneut.
|
||||
Lief gerade das Startbild der App (startbild.js setzt data-kn-startbild am <html>), ruht das Logo sofort, damit die
|
||||
Animation nicht zweimal hintereinander kommt. Der Name unter dem Logo blendet per CSS ein, sobald das Glas losgelassen hat
|
||||
(oeffentlich.css); ruht das Logo, steht er sofort da (Klasse kn-login-ruht). */
|
||||
|
||||
import { glasLogo } from './glas-logo.js'
|
||||
|
||||
const LOGIN_EINSTELLUNGEN = { finalScale: 0.9 }
|
||||
|
||||
const feld = document.querySelector('.kn-login-glas')
|
||||
const marke = feld?.closest('.kn-login-marke')
|
||||
if (feld && marke) {
|
||||
const ruht = document.documentElement.hasAttribute('data-kn-startbild') || window.matchMedia('(prefers-reduced-motion: reduce)').matches
|
||||
if (ruht) marke.classList.add('kn-login-ruht')
|
||||
const logo = glasLogo(feld, { standbild: ruht, rand: 1.4, einstellungen: LOGIN_EINSTELLUNGEN })
|
||||
feld.addEventListener('click', () => {
|
||||
if (!logo.abspielen()) return
|
||||
// Name wieder aus- und nach dem Glas einblenden: Animation neu starten
|
||||
marke.classList.remove('kn-login-ruht')
|
||||
const name = marke.querySelector(':scope > span')
|
||||
if (!name) return
|
||||
name.style.animation = 'none'
|
||||
void name.offsetWidth
|
||||
name.style.animation = ''
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user