import QtQuick import QtQuick.Layouts import Nebula.Bigscreen ColumnLayout { id: root property var homeTiles: [ { label: "Library", meta: "Games and apps", icon: "📚", route: "library" }, { label: "Settings", meta: "System controls", icon: "⚙", route: "settings" }, { label: "Power", meta: "Sleep and sessions", icon: "⏻", route: "power" } ] signal navigate(string route) spacing: 28 Text { text: "Home" font: Theme.brandFont color: Theme.textPrimary Layout.leftMargin: 40 } TileRail { id: rail Layout.fillWidth: true tiles: root.homeTiles onTileActivated: function(index) { const route = root.homeTiles[index].route if (route === "power") { root.navigate("power") } else { root.navigate(route) } } } function handleInput(action) { switch (action) { case InputRouter.Left: rail.moveFocus(-1) break case InputRouter.Right: rail.moveFocus(1) break case InputRouter.Accept: rail.activateFocused() break default: break } } function accentFocus() { return rail.accentFocus } }