Files
fusion/packages/dashboard/app/components/TodoModal.css
Fusion 36ad3fa83a feat(FN-3341): fix mobile keyboard overlap in TodoModal and PlanningModeMod
Merges FN-3341 mobile keyboard handling improvements into the dashboard, wiring `useMobileKeyboard` into both TodoModal and PlanningModeModal with keyboard-aware CSS overrides for mobile, plus regression tests for both components. FN-3337's chat `isGenerating` state recovery is also included.

Fusion-Task-Id: FN-3341
2026-05-03 17:17:07 -07:00

72 lines
1.4 KiB
CSS

.modal.todo-modal {
width: 80vw;
max-width: calc(var(--space-xl) * 37.5);
height: 75vh;
min-height: calc(var(--space-xs) * 100);
max-height: calc(100dvh - var(--overlay-padding-top, 10vh) - var(--space-lg));
overflow: hidden;
resize: both;
display: flex;
flex-direction: column;
}
.todo-modal-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--space-lg);
}
.todo-modal-header-title {
display: flex;
align-items: center;
gap: var(--space-sm);
}
.todo-modal-header-title h2 {
margin: 0;
font-size: calc(var(--space-md) + var(--space-xs) * 0.75);
}
.todo-modal-header-title p {
margin: 0;
color: var(--text-muted);
font-size: calc(var(--space-md) - var(--space-xs) * 0.25);
}
.todo-modal-body {
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
min-height: 0;
}
@media (max-width: 768px) {
.modal-overlay:has(.todo-modal) {
padding-top: 0;
align-items: stretch;
justify-content: stretch;
}
.modal.todo-modal {
width: 100vw;
min-width: 0;
height: 100dvh;
min-height: 0;
max-width: 100vw;
max-height: 100dvh;
margin: 0;
border: none;
border-radius: 0;
resize: none;
}
.modal.todo-modal[style*="--keyboard-overlap"] {
height: var(--vv-height, 100dvh);
max-height: var(--vv-height, 100dvh);
transform: translateY(var(--vv-offset-top, 0px));
will-change: transform;
}
}