luci-theme-bootstrap: don't overwrite theme selection upon install
authorJo-Philipp Wich <jo@mein.io>
Tue, 16 Nov 2021 12:11:45 +0000 (13:11 +0100)
committerJo-Philipp Wich <jo@mein.io>
Tue, 16 Nov 2021 12:19:29 +0000 (13:19 +0100)
Revert to the previous uci-defaults behaviour of only setting the
selected theme to Bootstrap if the Bootstrap entry didn't exist yet
in the configuration.

Ref: https://forum.openwrt.org/t/luci-theme-behaviour-change/112047
Fixes: ed86f03a9f ("luci-theme-bootstrap: add explicit dark/light mode selection")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
themes/luci-theme-bootstrap/root/etc/uci-defaults/30_luci-theme-bootstrap

index b66e5b2be3934714dcffef6bd4f4b98a627513b8..f83d84702a1c21e883a1782ba4508d4261d14e18 100755 (executable)
@@ -6,21 +6,21 @@ set_opt() {
        local key=$1
        local val=$2
 
-       if ! uci -q get "luci.themes.$key" 2>/dev/null; then
-               uci set "luci.themes.$key=$val"
+       if ! uci -q get "luci.$key" 2>/dev/null; then
+               uci set "luci.$key=$val"
                changed=1
        fi
 }
 
-set_opt Bootstrap /luci-static/bootstrap
-set_opt BootstrapDark /luci-static/bootstrap-dark
-set_opt BootstrapLight /luci-static/bootstrap-light
+set_opt themes.Bootstrap /luci-static/bootstrap
 
-if [ "$PKG_UPGRADE" != 1 ]; then
-       uci set luci.main.mediaurlbase=/luci-static/bootstrap
-       changed=1
+if [ "$PKG_UPGRADE" != 1 ] && [ $changed = 1 ]; then
+       set_opt main.mediaurlbase /luci-static/bootstrap
 fi
 
+set_opt themes.BootstrapDark /luci-static/bootstrap-dark
+set_opt themes.BootstrapLight /luci-static/bootstrap-light
+
 if [ $changed = 1 ]; then
        uci commit luci
 fi