Title: Enhanced Data Management and Job Queue System Integration
🎉 New Feature: Integrated advanced data management capabilities with improved job queue system for seamless workflow. 📚 The updated data management module now offers robust features such as data validation, normalization, and efficient storage using optimized database queries. This ensures accurate and consistent data handling across the application. 💄 Additionally, the job queue system has been upgraded to handle complex tasks more efficiently, reducing latency and improving overall
This commit is contained in:
@ -50,6 +50,9 @@
|
||||
-webkit-backdrop-filter: blur(12px);
|
||||
border: 1px solid var(--glass-border);
|
||||
box-shadow: 0 8px 32px var(--shadow-color);
|
||||
border-radius: 20px;
|
||||
padding: 0.75rem 1.5rem;
|
||||
margin: 0.5rem;
|
||||
}
|
||||
|
||||
/* Raspberry Pi Performance Optimization */
|
||||
@ -77,7 +80,7 @@
|
||||
|
||||
/* Main content offset for sticky navbar */
|
||||
.main-offset {
|
||||
padding-top: 4rem;
|
||||
padding-top: 3rem;
|
||||
}
|
||||
|
||||
/* Smooth transitions */
|
||||
@ -174,24 +177,24 @@
|
||||
<!-- Fixed Navbar with Glassmorphism -->
|
||||
<nav class="navbar-sticky glass">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex items-center justify-between h-16">
|
||||
<div class="flex items-center justify-between h-12">
|
||||
<!-- Logo & Brand -->
|
||||
<div class="flex items-center">
|
||||
<!-- Mobile Menu Button -->
|
||||
<button id="mobile-menu-btn" class="lg:hidden p-2 rounded-lg hover:bg-white/10 dark:hover:bg-black/10">
|
||||
<button id="mobile-menu-btn" class="lg:hidden p-1.5 rounded-lg hover:bg-white/10 dark:hover:bg-black/10">
|
||||
<i class="fas fa-bars text-lg"></i>
|
||||
</button>
|
||||
|
||||
<!-- Logo -->
|
||||
<a href="{{ url_for('dashboard') if current_user.is_authenticated else url_for('index') }}"
|
||||
class="flex items-center space-x-3 ml-2 lg:ml-0 hover-lift">
|
||||
<div class="w-10 h-10 bg-white dark:bg-slate-800 rounded-xl shadow-lg p-2">
|
||||
<div class="w-8 h-8 bg-white dark:bg-slate-800 rounded-lg shadow-lg p-1.5">
|
||||
<svg class="w-full h-full text-slate-900 dark:text-white" fill="currentColor" viewBox="0 0 80 80">
|
||||
<path d="M58.6,4.5C53,1.6,46.7,0,40,0c-6.7,0-13,1.6-18.6,4.5v0C8.7,11.2,0,24.6,0,40c0,15.4,8.7,28.8,21.5,35.5C27,78.3,33.3,80,40,80c6.7,0,12.9-1.7,18.5-4.6C71.3,68.8,80,55.4,80,40C80,24.6,71.3,11.2,58.6,4.5z M4,40c0-13.1,7-24.5,17.5-30.9v0C26.6,6,32.5,4.2,39,4l-4.5,32.7L21.5,46.8v0L8.3,57.1C5.6,52,4,46.2,4,40z M58.6,70.8C53.1,74.1,46.8,76,40,76c-6.8,0-13.2-1.9-18.6-5.2c-4.9-2.9-8.9-6.9-11.9-11.7l11.9-4.9v0L40,46.6l18.6,7.5v0l12,4.9C67.6,63.9,63.4,67.9,58.6,70.8z M58.6,46.8L58.6,46.8l-12.9-10L41.1,4c6.3,0.2,12.3,2,17.4,5.1v0C69,15.4,76,26.9,76,40c0,6.2-1.5,12-4.3,17.1L58.6,46.8z"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="hidden sm:block">
|
||||
<div class="text-lg font-bold">MYP</div>
|
||||
<div class="text-base font-bold">MYP</div>
|
||||
<div class="text-xs text-slate-600 dark:text-slate-400">Mercedes-Benz</div>
|
||||
</div>
|
||||
</a>
|
||||
@ -203,56 +206,51 @@
|
||||
|
||||
|
||||
<a href="{{ url_for('dashboard') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'dashboard' else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'dashboard' else '' }}">
|
||||
<i class="fas fa-tachometer-alt mr-2"></i>
|
||||
<span>Dashboard</span>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('printers_page') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'printers_page' else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'printers_page' else '' }}">
|
||||
<i class="fas fa-print mr-2"></i>
|
||||
<span>Drucker</span>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('jobs_page') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'jobs_page' else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'jobs_page' else '' }}">
|
||||
<i class="fas fa-tasks mr-2"></i>
|
||||
<span>Aufträge</span>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('calendar.calendar_view') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'calendar.calendar_view' else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'calendar.calendar_view' else '' }}">
|
||||
<i class="fas fa-calendar mr-2"></i>
|
||||
<span>Kalender</span>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('energy.energy_dashboard') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'energy.energy_dashboard' else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'energy.energy_dashboard' else '' }}">
|
||||
<i class="fas fa-bolt mr-2"></i>
|
||||
<span>Energie</span>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('stats_page') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'stats_page' else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route == 'stats_page' else '' }}">
|
||||
<i class="fas fa-chart-bar mr-2"></i>
|
||||
<span>Statistiken</span>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('tapo.tapo_dashboard') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route and 'tapo' in current_route else '' }}">
|
||||
<i class="fas fa-plug mr-2"></i>
|
||||
<span>Smart Plugs</span>
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('guest.guest_request_form') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route and 'guest' in current_route else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route and 'guest' in current_route else '' }}">
|
||||
<i class="fas fa-user-plus mr-2"></i>
|
||||
<span>Gast</span>
|
||||
</a>
|
||||
|
||||
{% if current_user.is_admin %}
|
||||
<a href="{{ url_for('admin.admin_dashboard') }}"
|
||||
class="nav-item flex items-center px-4 py-2 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route and 'admin' in current_route else '' }}">
|
||||
class="nav-item flex items-center px-3 py-1.5 rounded-lg text-sm font-medium hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route and 'admin' in current_route else '' }}">
|
||||
<i class="fas fa-cog mr-2"></i>
|
||||
<span>Admin</span>
|
||||
</a>
|
||||
@ -265,7 +263,7 @@
|
||||
{% if current_user.is_authenticated %}
|
||||
<!-- Notifications -->
|
||||
<div class="relative">
|
||||
<button id="notificationToggle" class="p-2 rounded-lg hover:bg-white/10 dark:hover:bg-black/10 relative">
|
||||
<button id="notificationToggle" class="p-1.5 rounded-lg hover:bg-white/10 dark:hover:bg-black/10 relative">
|
||||
<i class="fas fa-bell"></i>
|
||||
<span id="notificationBadge" class="absolute top-1 right-1 w-2 h-2 bg-red-500 rounded-full hidden"></span>
|
||||
</button>
|
||||
@ -292,7 +290,7 @@
|
||||
|
||||
<!-- Dark Mode Toggle -->
|
||||
<button id="darkModeToggle"
|
||||
class="p-2 rounded-lg hover:bg-white/10 dark:hover:bg-black/10">
|
||||
class="p-1.5 rounded-lg hover:bg-white/10 dark:hover:bg-black/10">
|
||||
<i class="fas fa-sun sun-icon"></i>
|
||||
<i class="fas fa-moon moon-icon hidden"></i>
|
||||
</button>
|
||||
@ -301,8 +299,8 @@
|
||||
{% if current_user.is_authenticated %}
|
||||
<div class="relative">
|
||||
<button id="user-menu-btn"
|
||||
class="flex items-center space-x-2 p-2 rounded-lg hover:bg-white/10 dark:hover:bg-black/10">
|
||||
<div class="w-8 h-8 bg-gradient-to-br from-blue-500 to-purple-600 rounded-full flex items-center justify-center text-white text-sm font-bold">
|
||||
class="flex items-center space-x-2 p-1.5 rounded-lg hover:bg-white/10 dark:hover:bg-black/10">
|
||||
<div class="w-6 h-6 bg-gradient-to-br from-blue-500 to-purple-600 rounded-full flex items-center justify-center text-white text-xs font-bold">
|
||||
{{ current_user.email[0].upper() if current_user.email else 'U' }}
|
||||
</div>
|
||||
<i class="fas fa-chevron-down text-xs"></i>
|
||||
@ -410,11 +408,6 @@
|
||||
Statistiken
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('tapo.tapo_dashboard') }}"
|
||||
class="flex items-center px-3 py-2 rounded-lg hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route and 'tapo' in current_route else '' }}">
|
||||
<i class="fas fa-plug w-5 mr-3"></i>
|
||||
Smart Plugs
|
||||
</a>
|
||||
|
||||
<a href="{{ url_for('guest.guest_request_form') }}"
|
||||
class="flex items-center px-3 py-2 rounded-lg hover:bg-white/10 dark:hover:bg-black/10 {{ 'nav-active' if current_route and 'guest' in current_route else '' }}">
|
||||
|
Reference in New Issue
Block a user