feat: Implement modular plugin architecture
- Convert invcount to self-contained module - Add Module Manager for install/uninstall - Create module_registry database table - Support hot-reloading of modules - Move data imports into invcount module - Update all templates and routes to new structure Version bumped to 0.16.0
This commit is contained in:
@@ -4,28 +4,45 @@
|
||||
|
||||
{% block content %}
|
||||
<div class="dashboard-container">
|
||||
<div class="dashboard-header" style="margin-top: var(--space-lg);">
|
||||
<div class="dashboard-header" style="margin-top: var(--space-lg);">
|
||||
<div class="header-left" style="display: flex; align-items: center; gap: var(--space-md);">
|
||||
<a href="{{ url_for('home') }}" class="btn btn-secondary btn-sm">
|
||||
<i class="fa-solid fa-arrow-left"></i> Back to Home
|
||||
</a>
|
||||
<h1 class="page-title" style="margin-bottom: 0;">Admin Dashboard</h1>
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<a href="{{ url_for('module_manager_ui') }}" class="btn btn-primary btn-sm">
|
||||
<i class="fa-solid fa-puzzle-piece"></i> Module Manager
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modules-section">
|
||||
<h2 class="section-title">Modules</h2>
|
||||
|
||||
{% if modules %}
|
||||
<div class="modules-grid">
|
||||
<a href="{{ url_for('counting.admin_dashboard') }}" class="module-card">
|
||||
<div class="module-icon">📊</div> <h3 class="module-name">Counts</h3>
|
||||
<p class="module-desc">Cycle counts & physical inventory</p>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('cons_sheets.admin_processes') }}" class="module-card module-card-link">
|
||||
<div class="module-icon">📝</div> <h3 class="module-name">Consumption Sheets</h3>
|
||||
<p class="module-desc">Production consumption tracking</p>
|
||||
{% for module in modules %}
|
||||
<a href="/{{ module.module_key }}/admin" class="module-card module-card-link">
|
||||
<div class="module-icon">
|
||||
{% if module.icon %}
|
||||
<i class="{{ module.icon }}"></i>
|
||||
{% else %}
|
||||
📦
|
||||
{% endif %}
|
||||
</div>
|
||||
<h3 class="module-name">{{ module.module_name }}</h3>
|
||||
<p class="module-desc">{{ module.description }}</p>
|
||||
</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="alert alert-info">
|
||||
<i class="fa-solid fa-info-circle"></i> No modules installed yet.
|
||||
<a href="{{ url_for('module_manager_ui') }}">Install modules</a> to get started.
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user