-
Willkommen zurück!
-
Schön, dass du wieder da bist.
-
-
-
-
-
-
+
+
+
+
+ {{ loadError }}
+
+
+ setDropTarget(index)"
+ @dragleave="clearDropTarget"
+ @drop="onDrop(index)"
+ >
+
(draggedIndex = index)"
+ @drag-end="() => (draggedIndex = null)"
+ />
+
+
+
+
+
+
+
Noch keine Widgets. Klicke auf „Dashboard bearbeiten“ und dann „+ Widget hinzufügen“.
+
+
+
+
+
+
\ No newline at end of file
+
+.dashboard-message {
+ padding: 16px;
+ border-radius: 8px;
+ margin-bottom: 16px;
+}
+
+.dashboard-error {
+ background: #f8d7da;
+ color: #721c24;
+ border: 1px solid #f5c6cb;
+}
+
+.dashboard-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
+ gap: 20px;
+}
+
+.dashboard-grid-cell {
+ min-height: 200px;
+}
+
+.dashboard-grid-cell.drop-target {
+ outline: 2px dashed #0d6efd;
+ outline-offset: 4px;
+ border-radius: 8px;
+}
+
+.dashboard-widget-edit {
+ min-height: 200px;
+ padding: 12px;
+ background: #f8f9fa;
+ border: 1px solid #dee2e6;
+ border-radius: 8px;
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+}
+
+.widget-edit-fields {
+ display: flex;
+ flex-direction: column;
+ gap: 8px;
+}
+
+.widget-edit-input {
+ padding: 8px 10px;
+ border: 1px solid #ced4da;
+ border-radius: 4px;
+ font-size: 0.9rem;
+}
+
+.widget-edit-endpoint {
+ font-family: monospace;
+ font-size: 0.85rem;
+}
+
+.btn-remove {
+ align-self: flex-start;
+ padding: 6px 12px;
+ border: 1px solid #dc3545;
+ background: #fff;
+ color: #dc3545;
+ border-radius: 4px;
+ cursor: pointer;
+ font-size: 0.85rem;
+}
+
+.btn-remove:hover {
+ background: #dc3545;
+ color: #fff;
+}
+
+.dashboard-empty {
+ padding: 32px;
+ text-align: center;
+ color: #666;
+ background: #f8f9fa;
+ border-radius: 8px;
+ border: 1px dashed #dee2e6;
+}
+
+.actions {
+ margin-top: 30px;
+}
+