import { AppWindowModels } from "Models.slint";
import { Button, VerticalBox, CheckBox } from "std-widgets.slint";
import { SideBar } from "views/SideBar.slint";
import { MainView } from "views/TasksView.slint";
import { SettingsWindow } from "../SettingsWindow/SettingsWindow.slint";
import { AddSourceWindow } from "../AddSourceWindow//AddSourceWindow.slint";
import { EditSourceWindow } from "../EditSourceWindow/EditSourceWindow.slint";
import { Palette } from "@selenite";
import { CalendarView } from "views/CalendarView.slint";
import { VButton } from "../../../external/selenite/components/Button.slint";

export component AppWindow inherits Window {

	title: "Mirai";
	min-height: 100px;
	max-height: 4000px; // needed, otherwise the window wants to fit the content (on Swaywm)
	background: Palette.pane;

	private property<bool> show-tasks: false;

    HorizontalLayout {
		VerticalLayout {
			HorizontalLayout {
				padding: 16px;
				alignment: LayoutAlignment.stretch;
				spacing: 8px;
				VButton {
					text: "Calendar";
					clicked => { show-tasks = false }
				}

				VButton {
					text: "Tasks";
					clicked => { show-tasks = true }
				}
			}
			SideBar {}
		}	
		VerticalLayout {
		
			if show-tasks : MainView {
				horizontal-stretch: 1;
			}
			if !show-tasks : CalendarView {
				horizontal-stretch: 1;
			}
		}	
     }
}

export { AppWindowModels, Palette, SettingsWindow, AddSourceWindow, EditSourceWindow } // Export to make it visible to the C++ backend
