pragma Singleton import QtQuick import QtQuick.Layouts import Caelestia.Config import qs.components import qs.services import qs.modules.nexus.common import qs.modules.nexus.pages import qs.modules.nexus.pages.audio import qs.modules.nexus.pages.bluetooth import qs.modules.nexus.pages.panels import qs.modules.nexus.pages.wallandstyle import qs.modules.nexus.pages.panels.taskbar QtObject { id: root readonly property list pageComps: [ // Appearance Component { // Wallpaper & style StackPage { Component { WallpaperAndStyle {} } Component { WallpaperSelect {} } Component { WallpaperCategory {} } Component { ColourSelect {} } } }, // Connectivity Component { // Network StackPage { Component { NetworkPage {} } } }, Component { // Bluetooth StackPage { Component { BluetoothPage {} } Component { BtDeviceInfo {} } Component { BluetoothPairing {} } } }, Component { // Audio StackPage { Component { AudioPage {} } Component { AppVolumes {} } } }, // System Component { // Updates (NoSignal) StackPage { Component { UpdatesPage {} } } }, Component { // Additions (NoSignal) StackPage { Component { AdditionsPage {} } } }, // Shell Component { // Panels StackPage { Component { PanelsPage {} } Component { DashboardPanel {} } Component { TaskbarPanel {} } Component { LauncherPanel {} } Component { SidebarPanel {} } // Taskbar component sub-pages Component { BarWorkspaces {} } Component { BarActiveWindow {} } Component { BarTray {} } Component { BarStatusIcons {} } Component { BarClock {} } } }, Component { // Services StackPage { Component { ServicesPage {} } } }, Component { // Language & region StackPage { Component { LanguageAndRegion {} } } }, // About Component { StackPage { Component { AboutPage {} } } } ] readonly property Component placeholderComp: Component { PlaceholderComp {} } component PlaceholderComp: Item { property NexusState nState // To avoid the warning from non-existent property ColumnLayout { anchors.centerIn: parent spacing: Tokens.padding.extraSmall NsIcon { Layout.alignment: Qt.AlignHCenter icon: "handyman" color: Colours.palette.m3outlineVariant fontStyle: Tokens.font.icon.extraLarge } StyledText { Layout.alignment: Qt.AlignHCenter text: qsTr("Page under construction") color: Colours.palette.m3outlineVariant font: Tokens.font.title.large } StyledText { Layout.alignment: Qt.AlignHCenter text: qsTr("This page will be available in a future update.") color: Colours.palette.m3outlineVariant font: Tokens.font.body.large } } } }