Implement destructive CalDAV move saga

This commit is contained in:
2026-08-02 17:30:24 +02:00
parent 56d7b2108d
commit a125b666da
16 changed files with 2384 additions and 36 deletions
+135
View File
@@ -1185,6 +1185,141 @@
gap: 8px;
}
.calendar-remote-move-confirmation {
display: grid;
gap: 10px;
padding: 12px;
border-left: 3px solid var(--color-danger, #b42318);
background: var(--color-danger-subtle, rgba(180, 35, 24, 0.08));
}
.calendar-remote-move-confirmation label,
.calendar-migration-cancel label {
display: grid;
gap: 6px;
}
.calendar-remote-move-confirmation input,
.calendar-remote-move-confirmation textarea,
.calendar-migration-cancel textarea {
width: 100%;
}
.calendar-migration-dialog {
width: min(820px, calc(100vw - 32px));
}
.calendar-migration-body {
display: grid;
gap: 14px;
min-height: 240px;
}
.calendar-migration-heading {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
}
.calendar-migration-heading > div {
display: grid;
gap: 3px;
}
.calendar-migration-heading span {
color: var(--muted);
font-size: 0.86rem;
}
.calendar-migration-body progress {
width: 100%;
height: 8px;
}
.calendar-migration-summary {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 8px;
margin: 0;
}
.calendar-migration-summary div {
display: grid;
gap: 3px;
padding: 8px;
border: var(--border-line);
}
.calendar-migration-summary dt {
color: var(--muted);
font-size: 0.78rem;
}
.calendar-migration-summary dd {
margin: 0;
font-weight: 600;
}
.calendar-migration-resources {
display: grid;
gap: 6px;
max-height: 280px;
margin: 0;
padding: 0;
overflow: auto;
list-style: none;
}
.calendar-migration-resources li {
display: grid;
gap: 5px;
padding: 9px;
background: var(--panel-soft);
}
.calendar-migration-resources li > div {
display: flex;
align-items: center;
gap: 8px;
min-width: 0;
}
.calendar-migration-resources code {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.calendar-migration-resources span,
.calendar-migration-resources p {
margin: 0;
color: var(--muted);
font-size: 0.84rem;
}
.calendar-migration-error {
margin: 0;
color: var(--color-danger, #b42318);
}
.calendar-migration-cancel {
display: grid;
gap: 8px;
padding-top: 12px;
border-top: var(--border-line);
}
.calendar-migration-cancel .button {
justify-self: start;
}
@media (max-width: 700px) {
.calendar-migration-summary {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}
.calendar-outbox-item-heading {
justify-content: space-between;
}