From 9ebf053b8ea25a4555fa14ee85703b09fcf3f746 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Sat, 22 Nov 2025 14:13:11 +0100 Subject: [PATCH] misc/theme-flexcolor: inject css into files that are cache safe This is a bit weird, but lets us inline the branding CSS and the cache invalidation for CSS works fine. --- misc/theme-flexcolor/src/etc/rc.d/flexcolor | 17 ++++++++++++----- ...p-dialog.css => bootstrap-dialog.css.shadow} | 0 ...p-select.css => bootstrap-select.css.shadow} | 0 .../css/{dashboard.css => dashboard.css.shadow} | 0 ...dns-overview.css => dns-overview.css.shadow} | 0 ....bootgrid.css => jquery.bootgrid.css.shadow} | 0 .../build/css/{main.css => main.css.shadow} | 0 .../build/css/{nv.d3.css => nv.d3.css.shadow} | 0 ...ootgrid.css => opnsense-bootgrid.css.shadow} | 0 .../css/{tokenize2.css => tokenize2.css.shadow} | 0 10 files changed, 12 insertions(+), 5 deletions(-) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{bootstrap-dialog.css => bootstrap-dialog.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{bootstrap-select.css => bootstrap-select.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{dashboard.css => dashboard.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{dns-overview.css => dns-overview.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{jquery.bootgrid.css => jquery.bootgrid.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{main.css => main.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{nv.d3.css => nv.d3.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{opnsense-bootgrid.css => opnsense-bootgrid.css.shadow} (100%) rename misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/{tokenize2.css => tokenize2.css.shadow} (100%) diff --git a/misc/theme-flexcolor/src/etc/rc.d/flexcolor b/misc/theme-flexcolor/src/etc/rc.d/flexcolor index cb8fd322e..8566e8e41 100755 --- a/misc/theme-flexcolor/src/etc/rc.d/flexcolor +++ b/misc/theme-flexcolor/src/etc/rc.d/flexcolor @@ -22,13 +22,20 @@ CACHEMARKER="/usr/local/opnsense/www/index.php" flexcolor_start() { SELECTEDCSS="${SCHEMESDIR}/${flexcolor_theme}/${DEFAULTCSS}" + if [ ! -f "${SELECTEDCSS}" ]; then + warn "The theme '${flexcolor_theme}' was not found." + return + fi - if [ -f "${SELECTEDCSS}" ]; then - cp "${SELECTEDCSS}" "${TARGETDIR}/${DEFAULTCSS}" + for FILE in $(find ${TARGETDIR} -name "*.sample"); do + FILE=${FILE%.sample} + cp ${FILE}.sample ${FILE} + sed -i '' -e "/@import url('default_scheme.css');/r ${SELECTEDCSS}" ${FILE} + sed -i '' -e "/@import url('default_scheme.css');/d" ${FILE} + done - if [ -f "${CACHEMARKER}" ]; then - touch "${CACHEMARKER}" - fi + if [ -f "${CACHEMARKER}" ]; then + touch "${CACHEMARKER}" fi } diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-dialog.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-dialog.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-dialog.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-dialog.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-select.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-select.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-select.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/bootstrap-select.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dashboard.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dashboard.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dashboard.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dashboard.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dns-overview.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dns-overview.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dns-overview.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/dns-overview.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/jquery.bootgrid.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/jquery.bootgrid.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/jquery.bootgrid.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/jquery.bootgrid.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/main.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/main.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/main.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/main.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/nv.d3.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/nv.d3.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/nv.d3.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/nv.d3.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/opnsense-bootgrid.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/opnsense-bootgrid.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/opnsense-bootgrid.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/opnsense-bootgrid.css.shadow diff --git a/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/tokenize2.css b/misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/tokenize2.css.shadow similarity index 100% rename from misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/tokenize2.css rename to misc/theme-flexcolor/src/opnsense/www/themes/flexcolor/build/css/tokenize2.css.shadow