Files
HeatGuard/web/templates/guide.html
vikingowl d5452409b6 feat: rewrite to stateless web app with IndexedDB frontend
Replace CLI + SQLite architecture with a Go web server + vanilla JS
frontend using IndexedDB for all client-side data storage.

- Remove: cli, store, report, static packages
- Add: compute engine (BuildDashboard), server package, web UI
- Add: setup page with CRUD for profiles, rooms, devices, occupants, AC
- Add: dashboard with SVG temperature timeline, risk analysis, care checklist
- Add: i18n support (English/German) with server-side Go templates
- Add: LLM provider selection UI with client-side API key storage
- Add: per-room indoor temperature, edit buttons, language-aware AI summary
2026-02-09 13:31:38 +01:00

88 lines
4.1 KiB
HTML

{{define "content"}}
<div class="max-w-3xl mx-auto space-y-8">
<h1 class="text-2xl font-bold">{{t "guide.title"}}</h1>
<p class="text-gray-600 dark:text-gray-400">{{t "guide.intro"}}</p>
<div class="space-y-6">
<section class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm">
<h2 class="text-lg font-semibold mb-2">{{t "guide.step1.title"}}</h2>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.step1.text"}}</p>
</section>
<section class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm">
<h2 class="text-lg font-semibold mb-2">{{t "guide.step2.title"}}</h2>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.step2.text"}}</p>
</section>
<section class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm">
<h2 class="text-lg font-semibold mb-2">{{t "guide.step3.title"}}</h2>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.step3.text"}}</p>
</section>
<section class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm">
<h2 class="text-lg font-semibold mb-2">{{t "guide.step4.title"}}</h2>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.step4.text"}}</p>
</section>
<section class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm">
<h2 class="text-lg font-semibold mb-2">{{t "guide.step5.title"}}</h2>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.step5.text"}}</p>
</section>
<section class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm">
<h2 class="text-lg font-semibold mb-2">{{t "guide.step6.title"}}</h2>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.step6.text"}}</p>
</section>
</div>
<div class="space-y-6">
<h2 class="text-xl font-bold">{{t "guide.params.title"}}</h2>
<div class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm space-y-3">
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.params.shgc"}}</p>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.params.ventilation"}}</p>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.params.shading"}}</p>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.params.orientation"}}</p>
</div>
</div>
<div class="space-y-6">
<h2 class="text-xl font-bold">{{t "guide.risk.title"}}</h2>
<div class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm space-y-3">
<div class="flex items-center gap-2">
<span class="w-3 h-3 rounded-full bg-green-500"></span>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.risk.low"}}</p>
</div>
<div class="flex items-center gap-2">
<span class="w-3 h-3 rounded-full bg-yellow-500"></span>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.risk.moderate"}}</p>
</div>
<div class="flex items-center gap-2">
<span class="w-3 h-3 rounded-full bg-orange-500"></span>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.risk.high"}}</p>
</div>
<div class="flex items-center gap-2">
<span class="w-3 h-3 rounded-full bg-red-600"></span>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.risk.extreme"}}</p>
</div>
</div>
</div>
<div class="space-y-6">
<h2 class="text-xl font-bold">{{t "guide.budget.title"}}</h2>
<div class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm">
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.budget.text"}}</p>
</div>
</div>
<div class="space-y-6">
<h2 class="text-xl font-bold">{{t "guide.tips.title"}}</h2>
<div class="bg-white dark:bg-gray-800 rounded-xl p-5 shadow-sm space-y-2">
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.tips.tip1"}}</p>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.tips.tip2"}}</p>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.tips.tip3"}}</p>
<p class="text-sm text-gray-600 dark:text-gray-400">{{t "guide.tips.tip4"}}</p>
</div>
</div>
</div>
{{end}}