feat: enhance responsive design with mobile-first layout adjustments in CSS

This commit is contained in:
M1ngdaXie
2026-02-05 15:37:05 -08:00
parent 3fa623c975
commit 5bd7904711
2 changed files with 87 additions and 8 deletions

View File

@@ -1,10 +1,22 @@
#root { #root {
max-width: 1280px; max-width: 1280px;
margin: 0 auto; margin: 0 auto;
padding: 2rem; padding: 0; /* Mobile: no padding */
text-align: center; text-align: center;
} }
@media (min-width: 640px) {
#root {
padding: 1rem;
}
}
@media (min-width: 768px) {
#root {
padding: 2rem; /* Desktop: original padding */
}
}
.logo { .logo {
height: 6em; height: 6em;
padding: 1.5em; padding: 1.5em;

View File

@@ -353,22 +353,53 @@
.page-content { .page-content {
display: flex; display: flex;
flex-direction: column; /* Mobile: stack vertically */
flex: 1; flex: 1;
overflow: hidden; overflow: hidden;
} }
@media (min-width: 768px) {
.page-content {
flex-direction: row; /* Desktop: horizontal layout */
}
}
.main-area { .main-area {
flex: 1; flex: 1;
overflow: auto; overflow: auto;
padding: 2rem; padding: 0.5rem; /* Mobile: minimal padding */
}
@media (min-width: 640px) {
.main-area {
padding: 1rem;
}
}
@media (min-width: 768px) {
.main-area {
padding: 2rem; /* Desktop: original padding */
}
} }
.sidebar { .sidebar {
width: 250px; width: 100%; /* Mobile: full width */
background: var(--pixel-white); background: var(--pixel-white);
background-image: url('/pixel-patterns.svg#pixel-scanlines'); background-image: url('/pixel-patterns.svg#pixel-scanlines');
border-left: 3px solid var(--pixel-outline); border-top: 3px solid var(--pixel-outline); /* Mobile: top border */
border-left: none;
padding: 1rem; padding: 1rem;
max-height: 200px; /* Mobile: limit height */
overflow-y: auto;
}
@media (min-width: 768px) {
.sidebar {
width: 250px; /* Desktop: fixed width */
max-height: none;
border-top: none;
border-left: 3px solid var(--pixel-outline);
}
} }
/* Editor */ /* Editor */
@@ -424,10 +455,22 @@
} }
.editor-content { .editor-content {
padding: 2rem; padding: 0.5rem; /* Mobile: minimal padding */
min-height: 500px; min-height: 500px;
} }
@media (min-width: 640px) {
.editor-content {
padding: 1rem;
}
}
@media (min-width: 768px) {
.editor-content {
padding: 2rem; /* Desktop: original padding */
}
}
.ProseMirror { .ProseMirror {
outline: none; outline: none;
} }
@@ -480,20 +523,44 @@
/* Kanban Board */ /* Kanban Board */
.kanban-board { .kanban-board {
display: flex; display: flex;
flex-direction: column; /* Mobile: stack vertically */
gap: 1rem; gap: 1rem;
overflow-x: auto; overflow-x: visible;
padding-bottom: 1rem; padding-bottom: 1rem;
} }
@media (min-width: 640px) {
.kanban-board {
flex-direction: row; /* Tablet+: horizontal scrolling */
overflow-x: auto;
}
}
.kanban-column { .kanban-column {
background: var(--pixel-panel); background: var(--pixel-panel);
background-image: url('/pixel-patterns.svg#pixel-dither-diagonal'); background-image: url('/pixel-patterns.svg#pixel-dither-diagonal');
border-radius: 0; border-radius: 0;
border: 3px solid var(--pixel-outline); border: 3px solid var(--pixel-outline);
padding: 1rem; padding: 1rem;
min-width: 300px; width: 100%; /* Mobile: full width */
min-width: unset;
max-width: unset;
}
@media (min-width: 640px) {
.kanban-column {
width: auto;
min-width: 280px; /* Tablet: smaller fixed width */
max-width: 280px;
}
}
@media (min-width: 1024px) {
.kanban-column {
min-width: 300px; /* Desktop: original width */
max-width: 300px; max-width: 300px;
} }
}
.column-title { .column-title {
margin-bottom: 1rem; margin-bottom: 1rem;