ecodash/templates/default/admin.html
MassiveBox 8b81c41bd7
Some checks failed
ecodash/pipeline/head There was a failure building this commit
Add admin-settable MOTD, rewrite existing warning system to use it
2023-10-31 23:59:09 +01:00

68 lines
3.2 KiB
HTML

<h1>Admin Panel</h1>
<p>
Here you can edit all the configurations for EcoDash.<br>
<a href="https://ecodash.xyz/docs/setup/admin-panel">Documentation</a>
</p>
{{if .Message}}
<article class="card {{.Message.Style}}">
<header>
<h3>{{.Message.Title}}</h3>
</header>
<footer>
<p>{{.Message.Content}}</p>
</footer>
</article>
{{end}}
<form action="./admin" method="POST">
<h3>HomeAssistant</h3>
<label>HomeAssistant's base URL <input type="text" name="base_url" value="{{.Config.HomeAssistant.BaseURL}}" required></label>
<label>HomeAssistant's API Key <input type="text" name="api_key" value="{{.Config.HomeAssistant.APIKey}}" required></label>
<lablel>Installation date<input type="date" name="installation_date" value="{{HTMLDateFormat .Config.HomeAssistant.InstallationDate}}" required></lablel>
<h3>Sensors</h3>
<label>Polled Smart Energy Summation entity ID <input type="text" name="polled_smart_energy_summation" value="{{.Config.Sensors.PolledSmartEnergySummation}}" required></label>
<label>CO2 signal Grid fossil fuel percentage entity ID <input type="text" name="fossil_percentage" value="{{.Config.Sensors.FossilPercentage}}" required></label>
<h3>Admin account</h3>
<label>Username <input type="text" name="username" value="{{.Config.Administrator.Username}}" required></label>
{{if .Config.Administrator.PasswordHash}}
<label>
<input type="checkbox" name="keep_old_password" onchange="toggle_password_edit()">
<p class="checkable">Keep the old password</p>
</label>
{{end}}
<label>Password <input type="password" name="password" id="password" required></label>
<h3>Personalization</h3>
<label>Theme
<select name="theme">
{{range .Themes}}
<option value="{{.Name}}">{{.Name}}</option>
{{end}}
</select>
</label>
<label>Dashboard name <input type="text" name="name" value="{{.Config.Dashboard.Name}}"></label>
<label>MOTD title <input type="text" name="motd_title" value="{{if .Config.Dashboard.MOTD}}{{.Config.Dashboard.MOTD.Title}}{{end}}"></label>
<label>MOTD content <input type="text" name="motd_content" value="{{if .Config.Dashboard.MOTD}}{{.Config.Dashboard.MOTD.Content}}{{end}}"></label>
<label>MOTD style
<select name="motd_style">
<option value="" {{if .Config.Dashboard.MOTD}}{{if eq .Config.Dashboard.MOTD.Style ""}}selected{{end}}{{end}}>Default</option>
<option value="success" {{if .Config.Dashboard.MOTD}}{{if eq .Config.Dashboard.MOTD.Style "success"}}selected{{end}}{{end}}>Success</option>
<option value="warning" {{if .Config.Dashboard.MOTD}}{{if eq .Config.Dashboard.MOTD.Style "warning"}}selected{{end}}{{end}}>Warning</option>
<option value="error" {{if .Config.Dashboard.MOTD}}{{if eq .Config.Dashboard.MOTD.Style "error"}}selected{{end}}{{end}}>Error</option>
</select>
</label>
<input type="submit" placeholder="Submit" style="margin-top: 2em; width: 100%">
</form>
<script>
function toggle_password_edit() {
const psw_field = document.getElementById('password');
psw_field.disabled = !psw_field.disabled;
}
</script>