Add conversations modal

This commit is contained in:
dwrz
2026-10-30 23:06:25 +00:00
parent e1457b5130
commit 9020167a92
7 changed files with 429 additions and 1 deletions
+134
View File
@@ -945,6 +945,140 @@ body {
color: var(--color-red);
}
/* ==================== */
/* Conversations Modal */
/* ==================== */
.conversations-overlay {
display: none;
position: fixed;
inset: 0;
z-index: 1000;
}
.conversations-overlay.open {
display: block;
}
/* The picker fills the screen. The search field stays at the top
and the list scrolls below it. */
.conversations-panel {
display: flex;
flex-direction: column;
width: 100%;
height: 100dvh;
background: var(--color-surface);
}
.conversations-panel__header {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--s-1) var(--s1);
border-bottom: 1px solid var(--color-border-light);
flex-shrink: 0;
}
.conversations-panel__title {
font-size: var(--s1);
font-weight: 600;
color: var(--color-text);
margin: 0;
}
#conversations-close {
border: none;
color: var(--color-text);
}
@media (hover: hover) {
#conversations-close:hover {
border-color: transparent;
color: var(--color-text);
}
}
.conversations-panel__search {
padding: var(--s-1) var(--s1);
border-bottom: 1px solid var(--color-border-light);
flex-shrink: 0;
}
.conversations-search {
display: block;
width: 100%;
height: var(--s2);
padding: 0 var(--s-1);
font-family: inherit;
font-size: var(--s-1);
line-height: var(--s2);
color: var(--color-text);
background: var(--color-bg);
border: 1px solid var(--color-border-light);
border-radius: var(--radius);
}
.conversations-search:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: 2px;
}
.conversations-panel__list {
flex: 1;
overflow-y: auto;
padding: var(--s-1) var(--s1);
}
.conversations__item {
display: flex;
flex-direction: column;
gap: var(--s-2);
width: 100%;
padding: var(--s-1);
font-family: inherit;
text-align: left;
background: transparent;
border: none;
border-radius: var(--radius);
cursor: pointer;
}
@media (hover: hover) {
.conversations__item:hover {
background: var(--color-gray1);
}
}
.conversations__item:focus-visible {
outline: 2px solid var(--color-primary);
outline-offset: -2px;
}
.conversations__item--current {
background: var(--color-gray1);
}
.conversations__item-title {
font-size: var(--s0);
color: var(--color-text);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.conversations__item-updated {
font-size: var(--s-1);
font-family: var(--font-mono);
color: var(--color-text-muted);
}
.conversations__empty {
padding: var(--s2);
font-size: var(--s0);
color: var(--color-text-muted);
text-align: center;
}
/* ==================== */
.modal-overlay {
position: fixed;