// dashboard: sage redesign of the signed-in home page (pages/dashboard.rs). Greeting, the // contribution card (see _heatmap.scss), then two columns: repositories and the inbox rows that // need the viewer. Stacks to one column below 1000px. .greet { margin: 0; font-size: 14px; font-weight: 400; color: var(--muted); } .dash-cols { display: grid; grid-template-columns: minmax(0, 1fr); gap: 36px; margin-top: 44px; @media (min-width: 1000px) { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 40px; } } // Section heading with a bottom border, the count and an optional button on the right. .sec-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 12px; margin-bottom: 4px; padding-bottom: 12px; border-bottom: 1px solid var(--border); h2 { margin: 0; font-size: 15px; font-weight: 600; } .small { margin-right: auto; color: var(--muted); } } .dash-repos { min-width: 0; .table { min-width: 520px; font-size: 14.5px; th { padding: 12px 12px 10px 0; border-bottom: 1px solid var(--border); text-align: left; font-size: 12.5px; font-weight: 500; color: var(--muted); } td { padding: 14px 12px 14px 0; border-bottom: 1px solid var(--border); vertical-align: middle; } td .badge { margin-left: 8px; vertical-align: middle; } } } // Phone width: the description column goes, so the name column fits without sideways scrolling. @media (max-width: 639px) { .dash-repos .table { min-width: 0; width: 100%; } .dash-repos .dash-desc { display: none; } } .dash-attention { min-width: 0; .attn { list-style: none; margin: 14px 0 0; padding: 0; } .attn li { display: flex; flex-direction: column; gap: 2px; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: 14.5px; &:last-child { border-bottom: 0; } } .attn a { color: var(--text); text-decoration: none; &:hover { text-decoration: underline; } } .attn .sub { color: var(--muted); font-size: 13px; } > p.small { margin: 14px 0 0; } } // Explore: one-row search (input, then its button) and a sort control of pill links. .explore-search { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 18px 0 0; input[type="search"] { flex: 1 1 240px; width: auto; min-width: 0; } button { flex: 0 0 auto; } @media (max-width: 479px) { input[type="search"] { flex: 1 1 100%; } } } .explore-sort { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; margin: 14px 0 0; font-size: 13px; a, .current { display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border: 1px solid var(--border); border-radius: 999px; color: var(--text-2); text-decoration: none; } a:hover { background: var(--surface-2); text-decoration: none; } .current { border-color: transparent; background: var(--accent-soft); color: var(--accent-ink); font-weight: 600; } }