Make notes page layout work cleanly on small screens.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-05 01:45:53 +03:30
co-authored by Cursor
parent 55d9b494e6
commit 66dfef5d53
2 changed files with 135 additions and 12 deletions
@@ -297,6 +297,18 @@ textarea {
.actions .btn { .actions .btn {
min-width: 0; min-width: 0;
flex: 1 1 auto;
}
@media (max-width: 520px) {
.actions {
flex-direction: column;
}
.actions .btn,
.actions .btn-ghost {
width: 100%;
}
} }
.summary { .summary {
+123 -12
View File
@@ -547,13 +547,17 @@ onMounted(load);
.page { .page {
display: grid; display: grid;
gap: 1.2rem; gap: 1.2rem;
width: 100%;
min-width: 0; min-width: 0;
max-width: 100%; max-width: 100%;
padding-bottom: 6rem; overflow-x: clip;
padding-bottom: max(5rem, env(safe-area-inset-bottom));
box-sizing: border-box;
} }
.page > * { .page > * {
min-width: 0; min-width: 0;
max-width: 100%;
} }
.page-head { .page-head {
@@ -564,6 +568,11 @@ onMounted(load);
flex-wrap: wrap; flex-wrap: wrap;
} }
.page-head > div {
min-width: 0;
flex: 1 1 16rem;
}
.eyebrow { .eyebrow {
margin: 0; margin: 0;
color: var(--accent); color: var(--accent);
@@ -572,7 +581,7 @@ onMounted(load);
h1 { h1 {
margin: 0.2rem 0; margin: 0.2rem 0;
font-size: 1.85rem; font-size: clamp(1.35rem, 4vw, 1.85rem);
} }
.lead, .lead,
@@ -581,6 +590,13 @@ h1 {
.empty { .empty {
color: var(--muted); color: var(--muted);
overflow-wrap: anywhere; overflow-wrap: anywhere;
word-break: break-word;
}
.lead {
margin: 0;
line-height: 1.7;
max-width: 52ch;
} }
.search { .search {
@@ -596,6 +612,11 @@ h1 {
flex: 1; flex: 1;
} }
.search .btn {
flex: 0 0 auto;
white-space: nowrap;
}
.type-tabs { .type-tabs {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@@ -705,12 +726,26 @@ h1 {
gap: 0.6rem; gap: 0.6rem;
align-items: center; align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
min-width: 0;
} }
.composer-actions { .composer-actions {
justify-content: space-between; justify-content: space-between;
} }
.left-actions {
flex: 1 1 auto;
}
.right {
flex: 0 1 auto;
justify-content: flex-end;
}
.left-actions :deep(.vtt) {
max-width: 100%;
}
.sr-only { .sr-only {
position: absolute; position: absolute;
width: 1px; width: 1px;
@@ -852,12 +887,20 @@ h1 {
.card footer { .card footer {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
gap: 0.65rem; gap: 0.55rem 0.75rem;
align-items: center; align-items: center;
border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent); border-top: 1px solid color-mix(in srgb, var(--line) 70%, transparent);
padding-top: 0.55rem; padding-top: 0.55rem;
} }
.card footer > button,
.card footer > .attach-label {
flex: 0 1 auto;
min-width: 0;
font-size: 0.85rem;
line-height: 1.3;
}
.body { .body {
margin: 0; margin: 0;
white-space: pre-wrap; white-space: pre-wrap;
@@ -919,8 +962,8 @@ h1 {
} }
@media (max-width: 900px) { @media (max-width: 900px) {
h1 { .page {
font-size: 1.45rem; gap: 1rem;
} }
.page-head { .page-head {
@@ -928,8 +971,13 @@ h1 {
align-items: stretch; align-items: stretch;
} }
.page-head > div {
flex: 0 0 auto;
}
.lead { .lead {
max-width: none; max-width: none;
font-size: 0.92rem;
} }
.search { .search {
@@ -938,8 +986,7 @@ h1 {
} }
.search input { .search input {
height: 2.75rem; min-height: 2.75rem;
max-height: 2.75rem;
padding: 0 0.9rem; padding: 0 0.9rem;
} }
@@ -948,7 +995,9 @@ h1 {
overflow-x: auto; overflow-x: auto;
overscroll-behavior-x: contain; overscroll-behavior-x: contain;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
padding-bottom: 0.15rem; padding-bottom: 0.2rem;
margin-inline: -0.15rem;
padding-inline: 0.15rem;
scrollbar-width: none; scrollbar-width: none;
} }
@@ -969,12 +1018,25 @@ h1 {
} }
.composer { .composer {
padding: 0.9rem; padding: 0.85rem;
border-radius: 16px;
}
.composer-actions {
flex-direction: column;
align-items: stretch;
gap: 0.75rem;
}
.left-actions {
flex-direction: row;
flex-wrap: wrap;
align-items: center;
gap: 0.55rem 0.75rem;
} }
.composer-actions,
.left-actions,
.right { .right {
width: 100%;
flex-direction: column; flex-direction: column;
align-items: stretch; align-items: stretch;
} }
@@ -988,13 +1050,62 @@ h1 {
grid-template-columns: 1fr; grid-template-columns: 1fr;
} }
.card {
padding: 0.85rem;
}
.card footer { .card footer {
gap: 0.5rem 0.7rem; display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.55rem 0.65rem;
align-items: center;
}
.card footer > button,
.card footer > .attach-label {
justify-self: start;
text-align: start;
} }
.swatches { .swatches {
margin-inline-start: 0; margin-inline-start: 0;
grid-column: 1 / -1;
width: 100%; width: 100%;
justify-content: flex-start;
padding-top: 0.15rem;
}
.pending-files li,
.attachments li {
align-items: flex-start;
}
.att-size {
margin-inline-start: 0;
}
}
@media (max-width: 520px) {
.search {
flex-direction: column;
}
.search .btn {
width: 100%;
}
.type-row {
flex-direction: column;
align-items: stretch;
}
.card footer {
grid-template-columns: 1fr;
}
.left-actions :deep(.vtt) {
width: 100%;
justify-content: center;
} }
} }
</style> </style>