Sonne bzw. Mond in der Ecke oben rechts der Leiste, dahinter ziehen Wolken in zwei Lagen langsam von links nach rechts (reines CSS, nahtlose Kacheln). Im hellen Modus fallen alle 16-24 s zwei bis drei Sonnenstrahlen diagonal ueber den Bildschirm. Bernstein bei Tag, Lavendel und Sterne bei Nacht. Bei prefers-reduced-motion still. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
60 lines
2.7 KiB
HTML
60 lines
2.7 KiB
HTML
<!doctype html>
|
|
<html lang="de" class="h-full">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<link rel="icon" type="image/png" href="/favicon.png" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<meta name="robots" content="noindex, nofollow" />
|
|
<title>perinco CRM</title>
|
|
<script>
|
|
// Setzt Design und Modus vor dem ersten Frame - ohne das blitzt beim Laden
|
|
// die helle perinco-Variante auf, weil das Bundle erst danach laeuft.
|
|
//
|
|
// Die verbindliche Wahl steht am Benutzer in der Datenbank; hier liegt nur
|
|
// die zuletzt benutzte als Zwischenspeicher, denn vor dem ersten Frame ist
|
|
// noch niemand angemeldet. Melden sich zwei Benutzer an demselben Rechner
|
|
// an, sieht der zweite fuer einen Moment das Design des ersten und dann
|
|
// sein eigenes - das ist der Preis dafuer, dass es gar nicht blitzt.
|
|
(function () {
|
|
try {
|
|
var mode = localStorage.getItem('perinco_crm_theme');
|
|
var dark =
|
|
mode === 'dark' ||
|
|
(mode !== 'light' && window.matchMedia('(prefers-color-scheme: dark)').matches);
|
|
if (dark) document.documentElement.classList.add('dark');
|
|
document.documentElement.style.colorScheme = dark ? 'dark' : 'light';
|
|
|
|
var palette = localStorage.getItem('perinco_crm_palette');
|
|
// Whitelist, damit ein manipulierter Eintrag keine Klasse setzt.
|
|
if (palette === 'pixel' ||
|
|
palette === 'outdoor' ||
|
|
palette === 'cyberpunk' ||
|
|
palette === 'rainy' ||
|
|
palette === 'snow' ||
|
|
palette === 'aura') {
|
|
document.documentElement.classList.add('theme-' + palette);
|
|
}
|
|
} catch (e) {
|
|
/* localStorage gesperrt - dann eben im hellen perinco-Design starten */
|
|
}
|
|
})();
|
|
</script>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<!--
|
|
Nunito Sans traegt perinco und Pixel Art (Fliesstext), Cabin das Outdoor-
|
|
Design, Silkscreen die Ueberschriften von Pixel Art, Chakra Petch das
|
|
Cyberpunk-Design. Alle in einer Anfrage: ein Nachladen beim Umschalten
|
|
wuerde die Schrift sichtbar springen lassen.
|
|
-->
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,300;0,6..12,400;0,6..12,600;0,6..12,700;0,6..12,800&family=Cabin:wght@400;500;600;700&family=Silkscreen:wght@400;700&family=Chakra+Petch:wght@400;500;600;700&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
</head>
|
|
<body class="h-full">
|
|
<div id="root" class="h-full"></div>
|
|
<script type="module" src="/src/main.tsx"></script>
|
|
</body>
|
|
</html>
|