pragma Singleton

import Quickshell
import QtQuick
import ZShell.Services
import ZShell.Config

Singleton {
	id: root

	readonly property bool enabled: service.enabled
	readonly property int end: Config.display.nightlight.scheduleEnd
	property bool manualToggle: false
	readonly property int start: Config.display.nightlight.scheduleStart
	readonly property int temp: Config.display.nightlight.temp

	function checkStartup(): void {
		if (!Config.display.nightlight.schedule)
			return;

		service.apply();
	}

	function toggleNightLight(): void {
		service.manualToggle = true;
		service.toggle();
	}

	NightlightManager {
		id: service

		activeAuto: Config.display.nightlight.schedule
		endTime: root.end
		startTime: root.start
		temp: root.temp
		fadeDuration: Config.display.nightlight.fadeDuration / 1000
		useNativeNightlight: Config.display.nightlight.useNative
	}
}
