// Copyright (C) 2026 Danilo M. // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License version 2 as // published by the Free Software Foundation. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. import QtQuick import "../.." // Where deck-it's OBS, LLM, printer and build VM panels connect. Module { name: "deckit-services" label: "Services" // nf-md-server, present in Inconsolata Nerd Font. icon: "󰒋" settings: true group: "deck-it" dirty: DeckIt.store.dirty keywords: ["deck-it", "tablet", "services", "obs", "websocket", "llm", "printer", "k1c", "klipper", "moonraker", "build vm", "sbbuilder", "ssh"] readonly property var fields: [ ["obs", "host", "OBS host"], ["obs", "port", "OBS port"], ["obs", "password", "OBS password"], ["llm", "url", "LLM dashboard URL"], ["k1c", "url", "K1C Moonraker"], ["sbbuilder", "host", "Build VM host"]] searchItems: fields.map(f => ({ text: f[2], key: f[0] + "/" + f[1] })) function refresh() { DeckIt.reload(); } page: Component { Page { title: "Services" // One draft behind all four deck-it pages: Save writes them all. actions: Component { SaveBar { dirty: DeckIt.store.dirty; valid: DeckIt.store.valid; error: DeckIt.store.error onSave: DeckIt.save(); onDiscard: DeckIt.store.discard() } } DeckItServicesPage { width: parent.width } } } }