refactor out theme object

This commit is contained in:
Benjamin Palko 2025-09-16 10:45:54 -04:00
parent c03d24de15
commit bd826c14ac
2 changed files with 34 additions and 30 deletions

View file

@ -1,6 +1,7 @@
pragma Singleton
pragma ComponentBehavior: Bound
import "theme"
import QtQuick
import Quickshell
import Quickshell.Io
@ -8,10 +9,11 @@ import Quickshell.Io
Singleton {
id: root
property var palette: theme.palette
property var palette: theme
property alias themes: cache.themes
property alias currentTheme: cache.current
property int currentThemeIndex: themes.indexOf(currentTheme)
Process {
running: true
@ -61,36 +63,8 @@ Singleton {
// when changes are made to properties in the adapter, save them
onAdapterUpdated: writeAdapter()
JsonAdapter {
Theme {
id: theme
property JsonObject palette: JsonObject {
property color primary: "#605dff"
property color primarycontent: "#edf1fe"
property color secondary: "#f43098"
property color secondarycontent: "#f9e4f0"
property color accent: "#00d3bb"
property color accentcontent: "#084d49"
property color neutral: "#09090b"
property color neutralcontent: "#e4e4e7"
property color base100: "#1d232a"
property color base200: "#191e24"
property color base300: "#15191e"
property color basecontent: "#ecf9ff"
property color info: "#00bafe"
property color infocontent: "#042e49"
property color success: "#00d390"
property color successcontent: "#004c39"
property color warning: "#fcb700"
property color warningcontent: "#793205"
property color error: "#ff627d"
property color errorcontent: "#4d0218"
property int radiusSelector: 8
property int radiusField: 8
property int radiusBox: 8
property int border: 2
}
}
}
}

30
config/theme/Theme.qml Normal file
View file

@ -0,0 +1,30 @@
import QtQuick
import Quickshell.Io
JsonAdapter {
property color primary: "#605dff"
property color primarycontent: "#edf1fe"
property color secondary: "#f43098"
property color secondarycontent: "#f9e4f0"
property color accent: "#00d3bb"
property color accentcontent: "#084d49"
property color neutral: "#09090b"
property color neutralcontent: "#e4e4e7"
property color base100: "#1d232a"
property color base200: "#191e24"
property color base300: "#15191e"
property color basecontent: "#ecf9ff"
property color info: "#00bafe"
property color infocontent: "#042e49"
property color success: "#00d390"
property color successcontent: "#004c39"
property color warning: "#fcb700"
property color warningcontent: "#793205"
property color error: "#ff627d"
property color errorcontent: "#4d0218"
property int radiusSelector: 8
property int radiusField: 8
property int radiusBox: 8
property int border: 2
}