web theme: make the Revival/RustyWolf feature panels symmetric (equal-height split + shared 16:10 shot frame)
This commit is contained in:
parent
7beb197f72
commit
cd094f0173
3 changed files with 17 additions and 9 deletions
|
|
@ -130,7 +130,10 @@ Themes: `web` = default frosted-glass website (sidebar + content, light/dark),
|
||||||
a `.web-quick` 2-up ("Right now" + "Gym PRs"), then services, activity,
|
a `.web-quick` 2-up ("Right now" + "Gym PRs"), then services, activity,
|
||||||
projects, hardware, features (Revival/RustyWolf) and friends. Projects/hardware
|
projects, hardware, features (Revival/RustyWolf) and friends. Projects/hardware
|
||||||
use a CSS multi-column **masonry** gallery (`.project-grid`) so short cards
|
use a CSS multi-column **masonry** gallery (`.project-grid`) so short cards
|
||||||
don't leave half-empty grid slots. The old stacked TUI panel layout and the
|
don't leave half-empty grid slots. The two feature panels (`.web-split`) stretch
|
||||||
|
to equal height and share a fixed `16 / 10` `.web-shot` frame with
|
||||||
|
`object-fit: cover` (+ `object-position: center top`), so source images with
|
||||||
|
different aspect ratios still line up. The old stacked TUI panel layout and the
|
||||||
`SlBackground` ASCII train were removed with it.
|
`SlBackground` ASCII train were removed with it.
|
||||||
- **Not a terminal.** The web theme deliberately has no TUI chrome: the hero is
|
- **Not a terminal.** The web theme deliberately has no TUI chrome: the hero is
|
||||||
a name + blurb (no `$ whoami` prompt, no blinking cursor), section eyebrows are
|
a name + blurb (no `$ whoami` prompt, no blinking cursor), section eyebrows are
|
||||||
|
|
|
||||||
|
|
@ -152,13 +152,7 @@ function FeatureShot({
|
||||||
}) {
|
}) {
|
||||||
return (
|
return (
|
||||||
<div className="web-shot">
|
<div className="web-shot">
|
||||||
<Image
|
<Image src={src} alt={alt} width={width} height={height} />
|
||||||
src={src}
|
|
||||||
alt={alt}
|
|
||||||
width={width}
|
|
||||||
height={height}
|
|
||||||
style={{ width: "100%", height: "auto", display: "block" }}
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -448,20 +448,31 @@ html[data-theme="web"] body {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
|
grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
|
||||||
gap: 26px;
|
gap: 26px;
|
||||||
align-items: start;
|
align-items: stretch;
|
||||||
}
|
}
|
||||||
.web-feature {
|
.web-feature {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
.web-shot {
|
.web-shot {
|
||||||
|
/* One fixed frame for every feature shot, regardless of the source image's
|
||||||
|
aspect ratio, so the two feature panels line up. */
|
||||||
|
aspect-ratio: 16 / 10;
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 1px solid var(--glass-border);
|
border: 1px solid var(--glass-border);
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
box-shadow: 0 18px 36px -22px rgba(23, 32, 60, 0.5);
|
box-shadow: 0 18px 36px -22px rgba(23, 32, 60, 0.5);
|
||||||
}
|
}
|
||||||
|
.web-shot img {
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
object-position: center top;
|
||||||
|
}
|
||||||
.web-feature-text {
|
.web-feature-text {
|
||||||
|
flex: 1;
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
color: var(--web-muted);
|
color: var(--web-muted);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue