#!/bin/sh /etc/rc.common
# iKuaiWrt 品牌默认的【幂等迁移】。
#
# 背景：uci-defaults 只在首次启动跑一次，所以「升级」上来的老设备不会自动拿到
# 新的品牌默认值（语言/主题）——/etc/config 存在持久可写层里，跨重装保留。
# 本脚本每次启动跑一次，只把【仍等于出厂默认值】的项改成品牌默认；
# 用户改过的值一律不动（这正是「不覆盖用户意图」的判据）。
#
# 只处理出厂默认即错的项：
#   luci.main.lang          ""/auto          -> zh_cn      （99-default-settings 出厂设 auto）
#   luci.main.mediaurlbase  ""/bootstrap     -> /luci-static/argon  （上游默认主题）
# 时区/NTP 不在此处理：老设备经旧 default-settings-chn 已是 CST-8/Asia/Shanghai +
# 国内 NTP，本来就正确，无需迁移。
#
# 幂等：值已是品牌默认（或用户自定义）时，什么都不做、也不 commit。

START=97
STOP=5

brand_defaults() {
	# 只在系统配置已存在时动手：首次启动的默认值由 uci-defaults(99-ikuaiwrt) 负责，
	# 这里不抢跑，避免在 config_generate 之前写出半截配置。
	[ -f /etc/config/system ] || return 0
	changed=0

	case "$(uci -q get luci.main.lang 2>/dev/null)" in
		""|auto)
			uci -q set luci.main.lang='zh_cn' && changed=1 ;;
	esac

	case "$(uci -q get luci.main.mediaurlbase 2>/dev/null)" in
		""|/luci-static/bootstrap)
			uci -q set luci.main.mediaurlbase='/luci-static/argon' && changed=1 ;;
	esac

	[ "$changed" = "1" ] && uci -q commit luci 2>/dev/null
	return 0
}

start() { brand_defaults; }
boot() { brand_defaults; }
