Make entire UI mobile-friendly with responsive breakpoints
Add media queries at 480px/768px across all components: single-column dashboard cards on phones, progressive table column hiding, smaller typography, reduced padding, full-width toggle buttons, and compact header. Desktop layout unchanged.
This commit is contained in:
@@ -93,6 +93,12 @@
|
||||
flex-direction: column;
|
||||
gap: 1.25rem;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
main {
|
||||
padding: 1rem 0.6rem 3rem;
|
||||
gap: 1rem;
|
||||
}
|
||||
}
|
||||
main::before {
|
||||
content: '';
|
||||
position: fixed;
|
||||
|
||||
@@ -98,6 +98,34 @@ code,
|
||||
grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
|
||||
}
|
||||
|
||||
/* ── Mobile breakpoints ── */
|
||||
@media (max-width: 480px) {
|
||||
:root {
|
||||
font-size: 13px;
|
||||
}
|
||||
.card {
|
||||
padding: 1rem 1rem;
|
||||
}
|
||||
.grid-4 {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
.grid-2 {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
.stat-value {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
th, td {
|
||||
padding: 0.4rem 0.5rem;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
}
|
||||
@media (max-width: 360px) {
|
||||
.grid-4 {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
color: var(--fg-dim);
|
||||
font-size: 0.82em;
|
||||
|
||||
@@ -572,4 +572,26 @@
|
||||
.swatch.have { background: var(--good); }
|
||||
.swatch.need { background: rgb(245, 196, 71); }
|
||||
.swatch.rest { background: var(--fg); }
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.toggle-bar {
|
||||
width: 100%;
|
||||
}
|
||||
.toggle-btn {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
font-size: 0.78rem;
|
||||
padding: 0.5em 0.5em;
|
||||
}
|
||||
.hash-vis {
|
||||
font-size: 0.75rem;
|
||||
letter-spacing: 0.01em;
|
||||
}
|
||||
.hash-vis.binary {
|
||||
font-size: 0.6rem;
|
||||
}
|
||||
.totals {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -69,4 +69,18 @@
|
||||
color: var(--fg-dim);
|
||||
padding: 0.5rem 0;
|
||||
}
|
||||
|
||||
/* Mobile: hide session best column, truncate worker names */
|
||||
@media (max-width: 480px) {
|
||||
table :global(th:nth-child(3)),
|
||||
table :global(td:nth-child(3)) {
|
||||
display: none;
|
||||
}
|
||||
td.mono {
|
||||
max-width: 140px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -194,4 +194,22 @@
|
||||
font-weight: 400;
|
||||
margin-left: 0.25em;
|
||||
}
|
||||
|
||||
/* Mobile: hide Chain, Hash, Reward columns */
|
||||
@media (max-width: 768px) {
|
||||
table :global(th:nth-child(3)),
|
||||
table :global(td:nth-child(3)),
|
||||
table :global(th:nth-child(4)),
|
||||
table :global(td:nth-child(4)) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
table :global(th:nth-child(5)),
|
||||
table :global(td:nth-child(5)),
|
||||
table :global(th:nth-child(6)),
|
||||
table :global(td:nth-child(6)) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -119,4 +119,17 @@
|
||||
.ws-label {
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.brand {
|
||||
font-size: 1.05rem;
|
||||
gap: 0.4rem;
|
||||
}
|
||||
.name {
|
||||
display: none;
|
||||
}
|
||||
.meta {
|
||||
font-size: 0.8rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -278,4 +278,28 @@
|
||||
tr.idle td {
|
||||
color: var(--fg-dim);
|
||||
}
|
||||
|
||||
/* Mobile: hide less critical columns */
|
||||
@media (max-width: 768px) {
|
||||
table :global(th:nth-child(2)),
|
||||
table :global(td:nth-child(2)),
|
||||
table :global(th:nth-child(5)),
|
||||
table :global(td:nth-child(5)),
|
||||
table :global(th:nth-child(6)),
|
||||
table :global(td:nth-child(6)) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
table :global(th:nth-child(4)),
|
||||
table :global(td:nth-child(4)),
|
||||
table :global(th:nth-child(7)),
|
||||
table :global(td:nth-child(7)) {
|
||||
display: none;
|
||||
}
|
||||
.section-head {
|
||||
flex-direction: column;
|
||||
gap: 0.25em;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -272,6 +272,12 @@
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.grid-5 {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
.retarget-bar {
|
||||
height: 4px;
|
||||
|
||||
@@ -285,4 +285,18 @@
|
||||
height: 1px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.shares-bar {
|
||||
padding: 0.8rem 1rem;
|
||||
}
|
||||
.accepted, .rejected {
|
||||
font-size: 1.15rem;
|
||||
}
|
||||
.pct {
|
||||
font-size: 0.88rem;
|
||||
}
|
||||
.group {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -269,6 +269,9 @@
|
||||
.totals { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
||||
}
|
||||
@media (max-width: 520px) {
|
||||
.totals { grid-template-columns: 1fr 1fr; }
|
||||
}
|
||||
@media (max-width: 360px) {
|
||||
.totals { grid-template-columns: 1fr; }
|
||||
}
|
||||
|
||||
|
||||
@@ -435,4 +435,27 @@
|
||||
tr.idle td {
|
||||
color: var(--fg-dim);
|
||||
}
|
||||
|
||||
/* Mobile: hide Hardware, Status, Diff, Best(session) columns */
|
||||
@media (max-width: 768px) {
|
||||
table :global(th:nth-child(2)),
|
||||
table :global(td:nth-child(2)),
|
||||
table :global(th:nth-child(3)),
|
||||
table :global(td:nth-child(3)),
|
||||
table :global(th:nth-child(6)),
|
||||
table :global(td:nth-child(6)) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
table :global(th:nth-child(5)),
|
||||
table :global(td:nth-child(5)),
|
||||
table :global(th:nth-child(7)),
|
||||
table :global(td:nth-child(7)) {
|
||||
display: none;
|
||||
}
|
||||
.addr {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -351,4 +351,13 @@
|
||||
font-size: 0.85rem;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.wname {
|
||||
font-size: 1rem;
|
||||
}
|
||||
.detail-grid {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user