refactor: add migration, seed permissions, update permissions API

feat(notes): add XLSX import island and admin route

feat(upload): add drag‑and‑drop upload, template download, UI tweaks
This commit is contained in:
2026-04-27 17:08:58 +02:00
parent 733259e317
commit d3de5c29e7
14 changed files with 467 additions and 119 deletions
+64 -1
View File
@@ -6,7 +6,6 @@
.page-content {
padding: 1.5rem;
max-width: 960px;
}
.page-title {
@@ -783,6 +782,70 @@
text-decoration: underline;
}
/* -------------------------------------------------------
File drop zone (import pages)
------------------------------------------------------- */
.drop-zone {
border: 2px dashed
light-dark(var(--light-foreground-dimmer), var(--dark-foreground-dimmer));
border-radius: 6px;
background: light-dark(white, #141228);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.6rem;
padding: 3rem 2rem;
cursor: pointer;
transition: border-color 150ms, background 150ms;
margin-bottom: 1.25rem;
text-align: center;
}
.drop-zone:hover,
.drop-zone.dragging {
border-color: light-dark(var(--light-accent-color), var(--dark-accent-color));
background: light-dark(#f0fff4, #0a1a10);
}
.drop-zone-icon {
font-size: 2.4rem;
line-height: 1;
opacity: 0.8;
}
.drop-zone-text {
font-size: 0.88rem;
font-weight: var(--font-weight-bold);
}
.drop-zone-hint {
font-size: 0.75rem;
font-family: monospace;
color: light-dark(var(--light-foreground-dim), var(--dark-foreground-dim));
}
.drop-zone-file {
font-size: 0.78rem;
font-family: monospace;
color: light-dark(var(--light-accent-color), var(--dark-accent-color));
font-weight: var(--font-weight-bold);
}
.upload-actions {
display: flex;
gap: 0.75rem;
align-items: center;
margin-bottom: 0.75rem;
}
.upload-format {
font-size: 0.72rem;
font-family: monospace;
color: light-dark(var(--light-foreground-dim), var(--dark-foreground-dim));
}
/* Info note box */
.info-note {
padding: 0.75rem 1rem;