Feat: Offline-Funktionalität mit IndexedDB implementiert
This commit is contained in:
@@ -253,4 +253,82 @@ body {
|
||||
.search-options .form-check-label {
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
/* Offline-Indikator */
|
||||
.offline-indicator {
|
||||
position: fixed;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
background-color: #ff9800;
|
||||
color: white;
|
||||
padding: 10px 20px;
|
||||
border-radius: 5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.offline-icon {
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
/* Synchronisations-Status */
|
||||
.sync-status {
|
||||
position: fixed;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
padding: 10px 20px;
|
||||
border-radius: 5px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
.sync-icon {
|
||||
font-size: 1.2em;
|
||||
animation: spin 1s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
|
||||
/* Offline-Modus Styling */
|
||||
body.offline {
|
||||
filter: grayscale(20%);
|
||||
}
|
||||
|
||||
body.offline .search-container {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
body.offline .footer::after {
|
||||
content: "Offline-Modus";
|
||||
display: block;
|
||||
text-align: center;
|
||||
color: #ff9800;
|
||||
font-size: 0.8em;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
/* Offline-Fallback für Bilder */
|
||||
.offline img {
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
/* Verbesserte Sichtbarkeit im Offline-Modus */
|
||||
.offline .search-field input {
|
||||
background-color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
.offline .result-count {
|
||||
color: #666;
|
||||
}
|
Reference in New Issue
Block a user