Cambio automatico
Calcola alba e tramonto in tempo reale e applica il tema appropriato.
VToggleTheme
Il nostro componente pubblicato combina orari solari, preferenza di sistema e selezione manuale in una soluzione flessibile per applicazioni Vuetify.
Pacchetto npm pubblicato
Un componente Vue per il cambio intelligente del tema nelle applicazioni Vuetify. Cambia automaticamente in base ad alba e tramonto, rispetta facoltativamente la preferenza di sistema o consente una selezione manuale.
Logica decisionale
Con usePreference, il componente segue l’impostazione prefers-color-scheme.
Altrimenti cambia automaticamente usando una posizione fissa e l’ora locale.
Il cambio manuale ha la priorità e interrompe il controllo automatico.
Funzionalità
VToggleTheme combina il controllo automatico del tema con una scelta consapevole dell’utente e si integra nei temi Vuetify esistenti.
Calcola alba e tramonto in tempo reale e applica il tema appropriato.
Gli utenti possono cambiare in qualsiasi momento, disattivando l’automatismo.
Supporta prefers-color-scheme per l’aspetto scelto nel sistema operativo.
Utilizza i temi Vuetify e accetta le proprietà di v-btn per la personalizzazione.
Usa coordinate configurabili senza richiedere per impostazione predefinita la geolocalizzazione del browser.
Progettato per ambienti client e server e per Nuxt 3.
Installazione e utilizzo
Il pacchetto richiede Vue 3.5.13 o successivo e Vuetify 3.7.5 o successivo. sunrise-sunset-js viene installato automaticamente.
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>La posizione reale dell’utente non viene richiesta per impostazione predefinita. Il calcolo usa la fallbackLocation definita dallo sviluppatore; in assenza di indicazioni vengono usate le coordinate di Zurigo.
Configurazione
Nomi dei temi, automatismo, posizione di riferimento, tooltip e variante delle icone possono essere adattati tramite props.
themeNameLightNome del tema Vuetify chiaro. Predefinito: light.
themeNameDarkNome del tema Vuetify scuro. Predefinito: dark.
fallbackLocationCoordinate per gli orari solari. Predefinito: Zurigo, 47.36667 / 8.55.
tooltipAttiva i tooltip. Predefinito: false.
tipDarkTesto del tooltip per la modalità scura. Predefinito: Dark mode.
tipLightTesto del tooltip per la modalità chiara. Predefinito: Light mode.
automaticAttiva il cambio automatico in base all’ora. Predefinito: true.
usePreferenceRispetta la preferenza di sistema tramite prefers-color-scheme. Predefinito: false.
mdiJsIconsUsa icone SVG inline dal pacchetto JavaScript MDI invece del font MDI. Predefinito: false.
Il cambio manuale modifica il tema e interrompe il controllo automatico.