From b5d6d857e0123670b89eed76094a6b5c78f8f64e Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 6 Jun 2026 16:16:56 +1000 Subject: [PATCH] feat: add no local walls placeholder --- .../pages/wallandstyle/WallpaperSelect.qml | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/modules/nexus/pages/wallandstyle/WallpaperSelect.qml b/modules/nexus/pages/wallandstyle/WallpaperSelect.qml index 0598b87b..a780af3b 100644 --- a/modules/nexus/pages/wallandstyle/WallpaperSelect.qml +++ b/modules/nexus/pages/wallandstyle/WallpaperSelect.qml @@ -89,12 +89,15 @@ PageBase { GridLayout { Layout.fillWidth: true + visible: localWalls.count > 0 columns: Config.nexus.wallpapersPerRow rowSpacing: Tokens.spacing.medium columnSpacing: Tokens.spacing.large Repeater { + id: localWalls + model: { const walls = Wallpapers.list; const baseDir = Paths.wallsdir; @@ -132,5 +135,40 @@ PageBase { } } } + + Loader { + Layout.fillWidth: true + + asynchronous: true + active: localWalls.count === 0 + visible: active + + sourceComponent: StyledRect { + color: Colours.tPalette.m3surfaceContainer + radius: Tokens.rounding.extraLarge + implicitHeight: noWallsLayout.implicitHeight + Tokens.padding.extraExtraLarge * 2 + + ColumnLayout { + id: noWallsLayout + + anchors.centerIn: parent + spacing: Tokens.spacing.extraSmall + + MaterialIcon { + Layout.alignment: Qt.AlignHCenter + text: "hide_image" + color: Colours.palette.m3outline + fontStyle: Tokens.font.icon.extraLarge + } + + StyledText { + Layout.alignment: Qt.AlignHCenter + text: qsTr("No local wallpapers found") + color: Colours.palette.m3outline + font: Tokens.font.title.small + } + } + } + } } }