feat: Enhance equipment, maintenance, production, and simulation management interfaces

- Updated equipment.html to include scenario filtering, equipment addition form, and dynamic equipment listing.
- Enhanced maintenance.html with scenario filtering, maintenance entry form, and dynamic equipment selection.
- Improved production.html to allow scenario filtering and production output entry.
- Revamped reporting.html to display scenario KPI summaries with refresh functionality.
- Expanded simulations.html to support scenario selection, simulation run history, and detailed results display.
- Refactored base_header.html for improved navigation structure and active link highlighting.
This commit is contained in:
2025-10-21 00:09:00 +02:00
parent 5ecd2b8d19
commit 5a84445e90
14 changed files with 3299 additions and 381 deletions

View File

@@ -1,17 +1,38 @@
<header class="site-header">
<div class="container header-inner">
<h1 class="site-title">CalMiner</h1>
<nav class="site-nav" aria-label="Primary navigation">
<a href="/ui/dashboard">Dashboard</a>
<a href="/ui/scenarios">Scenarios</a>
<a href="/ui/parameters">Parameters</a>
<a href="/ui/costs">Costs</a>
<a href="/ui/consumption">Consumption</a>
<a href="/ui/production">Production</a>
<a href="/ui/equipment">Equipment</a>
<a href="/ui/maintenance">Maintenance</a>
<a href="/ui/simulations">Simulations</a>
<a href="/ui/reporting">Reporting</a>
</nav>
{% set nav_links = [
("/", "Dashboard"),
("/ui/scenarios", "Scenarios"),
("/ui/parameters", "Parameters"),
("/ui/costs", "Costs"),
("/ui/consumption", "Consumption"),
("/ui/production", "Production"),
("/ui/equipment", "Equipment"),
("/ui/maintenance", "Maintenance"),
("/ui/simulations", "Simulations"),
("/ui/reporting", "Reporting"),
] %}
<div class="sidebar-inner">
<div class="sidebar-brand">
<span class="brand-logo" aria-hidden="true">CM</span>
<div class="brand-text">
<span class="brand-title">CalMiner</span>
<span class="brand-subtitle">Mining Planner</span>
</div>
</div>
</header>
<nav class="sidebar-nav" aria-label="Primary navigation">
{% set current_path = request.url.path if request else "" %}
{% for href, label in nav_links %}
{% if href == "/" %}
{% set is_active = current_path == "/" %}
{% else %}
{% set is_active = current_path.startswith(href) %}
{% endif %}
<a
href="{{ href }}"
class="sidebar-link{% if is_active %} is-active{% endif %}"
>
{{ label }}
</a>
{% endfor %}
</nav>
</div>