Automatische Umschaltung
Berechnet Sonnenauf- und -untergang in Echtzeit und setzt das passende Theme.
VToggleTheme
Unsere veröffentlichte Komponente verbindet Sonnenzeiten, Systempräferenz und manuelle Auswahl in einer flexiblen Lösung für Vuetify-Anwendungen.
Veröffentlichtes npm-Paket
Eine Vue-Komponente für intelligentes Theme-Switching in Vuetify-Anwendungen. Sie wechselt automatisch nach Sonnenauf- und -untergang, berücksichtigt optional die Systempräferenz oder erlaubt eine manuelle Auswahl.
Entscheidungslogik
Mit usePreference folgt die Komponente der Einstellung von prefers-color-scheme.
Andernfalls wird anhand einer festgelegten Position und der lokalen Tageszeit automatisch gewechselt.
Eine manuelle Umschaltung hat Vorrang und beendet die automatische Steuerung.
Funktionsumfang
VToggleTheme verbindet automatische Theme-Steuerung mit einer bewussten Nutzerentscheidung und lässt sich in bestehende Vuetify-Themes integrieren.
Berechnet Sonnenauf- und -untergang in Echtzeit und setzt das passende Theme.
Nutzer können jederzeit selbst umschalten und damit die Automatik deaktivieren.
Unterstützt prefers-color-scheme für die im Betriebssystem gewählte Darstellung.
Verwendet das Vuetify-Theming und akzeptiert Eigenschaften von v-btn zur Anpassung.
Nutzt konfigurierbare Koordinaten, ohne standardmäßig die Browser-Geolocation abzufragen.
Ist für client- und serverseitige Umgebungen sowie Nuxt 3 ausgelegt.
Installation und Verwendung
Das Paket benötigt Vue 3.5.13 oder neuer und Vuetify 3.7.5 oder neuer. sunrise-sunset-js wird automatisch als Abhängigkeit installiert.
npm install v-toggle-theme @mdi/js
npm install vue@^3.5.13 vuetify@^3.7.5<script setup>
import VToggleTheme from 'v-toggle-theme'
</script>
<template>
<v-toggle-theme
color="primary"
:tooltip="true"
:use-preference="true"
/>
</template>Standardmäßig wird keine tatsächliche Nutzerposition abgefragt. Die Berechnung verwendet die vom Entwickler festgelegte fallbackLocation; ohne Angabe gelten die Koordinaten von Zürich.
Konfiguration
Theme-Namen, Automatik, Referenzposition, Tooltips und Icon-Variante lassen sich über Props an das Projekt anpassen.
themeNameLightName des hellen Vuetify-Themes. Standard: light.
themeNameDarkName des dunklen Vuetify-Themes. Standard: dark.
fallbackLocationKoordinaten für die Sonnenzeiten. Standard: Zürich mit 47.36667 / 8.55.
tooltipAktiviert Tooltips. Standard: false.
tipDarkTooltip-Text für den Dunkelmodus. Standard: Dark mode.
tipLightTooltip-Text für den Hellmodus. Standard: Light mode.
automaticAktiviert die zeitabhängige Automatik. Standard: true.
usePreferenceBerücksichtigt die Systempräferenz über prefers-color-scheme. Standard: false.
mdiJsIconsVerwendet Inline-SVG-Icons aus dem MDI-JavaScript-Paket anstelle der MDI-Schrift. Standard: false.
Die manuelle Umschaltung wechselt das Theme und beendet die automatische Steuerung.