aboutsummaryrefslogtreecommitdiff
path: root/public/admin.css
diff options
context:
space:
mode:
authordax <me@dax.ist>2026-08-05 17:15:39 +0100
committerdax <me@dax.ist>2026-08-05 17:15:39 +0100
commit70ce625487b5e0b7540b70de2ae59f0086134a9e (patch)
tree50db2fba097b2965046e965587bde5143d23785b /public/admin.css
parent03dcc91c96ac45ff005a1c3e14a71a5733037447 (diff)
admin import panel with upload progress + recent photos; app empty-state links to /admin
Diffstat (limited to 'public/admin.css')
-rw-r--r--public/admin.css42
1 files changed, 42 insertions, 0 deletions
diff --git a/public/admin.css b/public/admin.css
index d698076..98dbd09 100644
--- a/public/admin.css
+++ b/public/admin.css
@@ -115,6 +115,48 @@ button.danger:hover { border-color: var(--danger); background: rgba(252, 165, 16
#tab-graph { display: grid; gap: 14px; }
#gq { padding: 12px 14px; }
+#tab-import { display: grid; gap: 14px; }
+.dropzone {
+ border: 2px dashed rgba(255, 255, 255, .22);
+ border-radius: 12px;
+ padding: 34px 20px;
+ text-align: center;
+ cursor: pointer;
+ outline: none;
+ transition: border-color .15s, background .15s;
+}
+.dropzone:hover, .dropzone:focus-visible, .dropzone.drag {
+ border-color: var(--ring);
+ background: rgba(125, 211, 252, .06);
+}
+.dropzone.busy { pointer-events: none; opacity: .6; }
+.dropzone .dz-icon { font-size: 30px; line-height: 1; color: var(--ring); }
+.dropzone p { margin: 8px 0 0; font-size: 14px; }
+.dropzone .dz-note { font-size: 12px; color: var(--muted); }
+
+.progress {
+ background: var(--panel);
+ border: 1px solid rgba(255, 255, 255, .08);
+ border-radius: 10px;
+ padding: 12px;
+ display: grid;
+ gap: 8px;
+}
+.bar { height: 6px; background: var(--panel-2); border-radius: 999px; overflow: hidden; }
+.bar .fill { height: 100%; width: 0; background: var(--ring); transition: width .2s; }
+.bar .fill.indeterminate { width: 30%; animation: slide 1s infinite ease-in-out; }
+@keyframes slide { 0% { margin-left: -30%; } 100% { margin-left: 100%; } }
+.im-status { margin: 0; font-size: 13px; color: var(--muted); }
+
+.recent h2 {
+ font-size: 14px;
+ font-weight: 500;
+ letter-spacing: .08em;
+ text-transform: uppercase;
+ color: var(--muted);
+ margin: 0 0 8px;
+}
+
.results {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));