// Copyright © SixtyFPS GmbH // SPDX-License-Identifier: MIT import { Theme } from "theme.slint"; import { Navigation, MenuButton, MobileMenu, Value, IconButton } from "widgets/widgets.slint"; import { Balance, Overview, Usage, UsageAdapter, Weather, MenuPage, MenuOverviewAdapter, About } from "pages/pages.slint"; import { Images } from "images.slint"; import { TabWidget, TabItem } from "widgets/widgets.slint"; import { DashboardMobile, Weather, About } from "pages/pages.slint"; import { MobileHeader } from "blocks/blocks.slint"; import { MenuBackground } from "components/menu_background.slint"; export component MobileMain { tab-widget := TabWidget { y: header.height + 16px; width: 100%; height: parent.height - header.height - 16px; tabs: [ { text: "Dashboard", icon: Images.dashboard }, { text: "Weather", icon: Images.sunny }, { text: "About", icon: Images.information }, ]; DashboardMobile { index: 0; current-index: tab-widget.selected-tab; } Weather { index: 1; current-index: tab-widget.selected-tab; } About { index: 2; current-index: tab-widget.selected-tab; } } menu := MobileMenu { end-y: settings-button.y + settings-button.height; menu-x: settings-button.x + settings-button.width - self.menu-width; width: 100%; height: 100%; MenuPage { width: 100%; height: 100%; } } header := MobileHeader { width: 100%; y: 0px; HorizontalLayout { alignment: start; } HorizontalLayout { alignment: center; Image { horizontal-stretch: 1; y: (parent.height - self.height) / 2; height: 24px; source: Images.slint-logo; } } settings-button := IconButton { y: (parent.height - self.height) / 2; icon: Images.settings; clicked => { if (!menu.open) { menu.open-menu(); return; } menu.hide(); } } } }