import { Button, TimePickerPopup, Date, Palette, Time } from "std-widgets.slint";
import { VLabeledComponent } from "LabeledComponent.slint";
import { VButton } from "Button.slint";

export component VTimePicker inherits VLabeledComponent {
	in-out property<Time> time;
	in-out property<string> timeDisplay: formatZeroPadding(time.hour) + "h" + formatZeroPadding(time.minute);

	pure function formatZeroPadding(number: int) -> string {
		if (number < 10) {
			return "0\{number}";
		}
		return number;
	}

	button := VButton {
		text: timeDisplay;
		enabled: root.enabled;
		clicked => { timePickerPopup.show() }
	}

	timePickerPopup := TimePickerPopup {
		accepted(time) => { root.time = time }
	}
}
