Settings refactor / add birb

This commit is contained in:
2026-05-13 12:30:45 -05:00
parent e728ddac2c
commit 82f47093a7
13 changed files with 192 additions and 74 deletions

View File

@@ -0,0 +1,4 @@
<form class="siteSettingsToggle" id="birbController">
<input type="checkbox" id="birbToggle" {% if metadata.weatherOnByDefault %}checked{% endif %} />
<label for="birbToggle">Pet bird (Will refresh page when turned off)</label>
</form>

View File

@@ -0,0 +1,4 @@
<form class="siteSettingsToggle" id="weatherController">
<input type="checkbox" id="weatherToggle" {% if metadata.weatherOnByDefault %}checked{% endif %} />
<label for="weatherToggle">Weather</label>
</form>

View File

@@ -0,0 +1,4 @@
<form class="siteSettingsToggle" id="wooModeController">
<input type="checkbox" id="wooToggle" {% if metadata.wooModeOnByDefault %}checked{% endif %} />
<label for="wooToggle">Woo mode</label>
</form>

View File

@@ -0,0 +1,37 @@
<!-- Site Settings -->
<script>
const weatherSettings = {
handleOnToggle: turnOnWeather,
handleOnDefault: turnOnWeather,
handleOffToggle: turnOffWeather,
handleOffDefault: turnOffWeather,
settingToggle: "weatherToggle",
preferenceName: "weather",
defaultSetting: {{ metadata.weatherOnByDefault }},
forcedOn: false,
};
const wooModeSettings = {
handleOnToggle: deployWoo,
handleOnDefault: wooSensibleDefault,
handleOffToggle: withdrawWoo,
handleOffDefault: withdrawWoo,
settingToggle: "wooToggle",
preferenceName: "wooMode",
defaultSetting: {% if forcedWoo %}true{% else %}false{% endif %},
forcedOn: {% if forcedWoo %}true{% else %}false{% endif %},
};
const petBirbSettings = {
handleOnToggle: showBirb,
handleOnDefault: showBirb,
handleOffToggle: hideBirb,
handleOffDefault: noBirb,
settingToggle: "birbToggle",
preferenceName: "petBirb",
defaultSetting: false,
forcedOn: false,
};
settingHandler(weatherSettings);
settingHandler(wooModeSettings);
settingHandler(petBirbSettings);
</script>
<!-- /Site Settings -->

View File

@@ -0,0 +1,10 @@
<div id="siteSettingsContainer">
<button onclick="siteSettings.showModal();">Site Settings</button>
<dialog id="siteSettings">
<h2>Site Settings</h2>
{% include "settings/controllers/birbController.njk" %}
{% include "settings/controllers/weatherController.njk" %}
{% include "settings/controllers/wooModeController.njk" %}
<button id="settingsDone" onclick="siteSettings.close();">Done</button>
</dialog>
</div>