Skip to content

Commit 209d115

Browse files
committed
style: compact mobile settings homepage chrome
1 parent d21e085 commit 209d115

2 files changed

Lines changed: 71 additions & 71 deletions

File tree

packages/web/src/styles/components.css

Lines changed: 48 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -10557,41 +10557,6 @@ textarea.input {
1055710557
padding-right: var(--sp-3);
1055810558
}
1055910559

10560-
.settings-mobile-root-hero {
10561-
display: flex;
10562-
flex-direction: column;
10563-
gap: var(--sp-2);
10564-
padding: var(--sp-4) var(--sp-1) var(--sp-4);
10565-
}
10566-
10567-
.settings-mobile-root-hero__eyebrow {
10568-
display: inline-flex;
10569-
align-items: center;
10570-
gap: 6px;
10571-
font-family: var(--font-mono);
10572-
font-size: 10px;
10573-
letter-spacing: 0.08em;
10574-
text-transform: uppercase;
10575-
color: var(--text-tertiary);
10576-
}
10577-
10578-
.settings-mobile-root-hero__eyebrow::before {
10579-
content: "";
10580-
width: 6px;
10581-
height: 6px;
10582-
border-radius: 999px;
10583-
background: color-mix(in srgb, var(--accent-blue) 76%, transparent);
10584-
box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-blue) 14%, transparent);
10585-
}
10586-
10587-
.settings-mobile-root-hero__body {
10588-
margin: 0;
10589-
max-width: 34ch;
10590-
color: var(--text-secondary);
10591-
font-size: 14px;
10592-
line-height: 1.6;
10593-
}
10594-
1059510560
.settings-pills {
1059610561
gap: var(--sp-2);
1059710562
}
@@ -10627,40 +10592,63 @@ textarea.input {
1062710592
box-shadow: none;
1062810593
}
1062910594

10630-
.settings-mobile-list {
10595+
.settings-mobile-root {
1063110596
display: flex;
1063210597
flex-direction: column;
10633-
gap: var(--sp-3);
10634-
border-top: none;
10635-
padding-bottom: var(--sp-4);
10598+
gap: var(--sp-5);
10599+
padding: var(--sp-4) 0 var(--sp-4);
10600+
}
10601+
10602+
.settings-mobile-group {
10603+
display: flex;
10604+
flex-direction: column;
10605+
gap: var(--sp-2);
10606+
}
10607+
10608+
.settings-mobile-group__title {
10609+
margin: 0;
10610+
padding: 0 var(--sp-1);
10611+
color: var(--text-secondary);
10612+
font-size: 11px;
10613+
font-weight: var(--font-semibold);
10614+
letter-spacing: 0.08em;
10615+
text-transform: uppercase;
10616+
}
10617+
10618+
.settings-mobile-group__list {
10619+
display: flex;
10620+
flex-direction: column;
10621+
overflow: hidden;
10622+
border: 1px solid color-mix(in srgb, var(--border) 82%, transparent);
10623+
border-radius: 12px;
10624+
background: color-mix(in srgb, var(--bg-surface) 92%, var(--bg-page));
1063610625
}
1063710626

1063810627
.settings-mobile-item {
1063910628
display: flex;
10640-
align-items: flex-start;
10629+
align-items: center;
1064110630
gap: var(--sp-3);
10642-
min-height: 76px;
10643-
padding: var(--sp-4);
10644-
border: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
10645-
border-bottom: 1px solid color-mix(in srgb, var(--border) 84%, transparent);
10646-
border-radius: 22px;
10647-
background: linear-gradient(
10648-
180deg,
10649-
color-mix(in srgb, var(--bg-surface) 94%, transparent) 0%,
10650-
color-mix(in srgb, var(--bg-page) 96%, var(--bg-surface) 4%) 100%
10651-
);
10631+
min-height: 60px;
10632+
padding: var(--sp-3) var(--sp-4);
10633+
border: none;
10634+
border-radius: 0;
10635+
background: transparent;
1065210636
text-align: left;
1065310637
}
1065410638

10639+
.settings-mobile-item + .settings-mobile-item {
10640+
border-top: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
10641+
}
10642+
1065510643
.settings-mobile-item__icon-shell {
1065610644
display: inline-flex;
1065710645
align-items: center;
1065810646
justify-content: center;
10659-
width: 40px;
10660-
height: 40px;
10661-
border-radius: 14px;
10662-
background: color-mix(in srgb, var(--icon-surface-subtle) 84%, var(--bg-surface));
10663-
border: 1px solid color-mix(in srgb, var(--border) 72%, transparent);
10647+
width: 34px;
10648+
height: 34px;
10649+
border-radius: var(--radius-xl);
10650+
background: color-mix(in srgb, var(--icon-surface-subtle) 82%, var(--bg-surface));
10651+
border: 1px solid color-mix(in srgb, var(--border) 68%, transparent);
1066410652
flex-shrink: 0;
1066510653
}
1066610654

@@ -10674,8 +10662,7 @@ textarea.input {
1067410662
flex: 1;
1067510663
min-width: 0;
1067610664
flex-direction: column;
10677-
gap: 4px;
10678-
padding-top: 2px;
10665+
gap: 2px;
1067910666
}
1068010667

1068110668
.settings-mobile-item__label {
@@ -10688,15 +10675,15 @@ textarea.input {
1068810675
display: -webkit-box;
1068910676
overflow: hidden;
1069010677
-webkit-box-orient: vertical;
10691-
-webkit-line-clamp: 2;
10678+
-webkit-line-clamp: 1;
1069210679
color: var(--text-tertiary);
10693-
font-size: 12px;
10694-
line-height: 1.5;
10680+
font-size: 11px;
10681+
line-height: 1.45;
1069510682
}
1069610683

1069710684
.settings-mobile-item__arrow {
10698-
margin-top: 10px;
1069910685
color: var(--text-tertiary);
10686+
flex-shrink: 0;
1070010687
}
1070110688

1070210689
.settings-provider-mobile-entry {

packages/web/src/styles/components.theme.test.ts

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,9 @@ describe("components.css theme-sensitive surfaces", () => {
567567
const mobileRootContent = getLastRuleBlock(
568568
".settings-page--mobile .settings-content--mobile-root"
569569
);
570-
const mobileList = getLastRuleBlock(".settings-mobile-list");
570+
const mobileRoot = getLastRuleBlock(".settings-mobile-root");
571+
const mobileGroup = getLastRuleBlock(".settings-mobile-group");
572+
const mobileGroupList = getLastRuleBlock(".settings-mobile-group__list");
571573
const mobileItem = getLastRuleBlock(".settings-mobile-item");
572574
const mobileItemIcon = getLastRuleBlock(".settings-mobile-item__icon");
573575
const mobileItemArrow = getLastRuleBlock(".settings-mobile-item__arrow");
@@ -606,15 +608,18 @@ describe("components.css theme-sensitive surfaces", () => {
606608
expect(mobileContent).toContain("padding: 0");
607609
expect(mobileRootContent).toContain("padding-left: var(--sp-3)");
608610
expect(mobileRootContent).toContain("padding-right: var(--sp-3)");
609-
expect(mobileList).toContain("gap: var(--sp-3)");
610-
expect(mobileList).toContain("border-top: none");
611-
expect(mobileItem).toContain("min-height: 76px");
612-
expect(mobileItem).toContain("padding: var(--sp-4)");
613-
expect(mobileItem).toContain("border: 1px solid");
614-
expect(mobileItem).toContain("border-bottom: 1px solid");
615-
expect(mobileItem).toContain("border-radius: 22px");
616-
expect(mobileItem).toContain("background:");
617-
expect(mobileItem).toContain("linear-gradient(");
611+
expect(mobileRoot).toContain("display: flex");
612+
expect(mobileRoot).toContain("flex-direction: column");
613+
expect(mobileRoot).toContain("gap: var(--sp-5)");
614+
expect(mobileRoot).toContain("padding: var(--sp-4) 0 var(--sp-4)");
615+
expect(mobileGroup).toContain("gap: var(--sp-2)");
616+
expect(mobileGroupList).toContain("border: 1px solid");
617+
expect(mobileGroupList).toContain("border-radius: 12px");
618+
expect(mobileGroupList).toContain("overflow: hidden");
619+
expect(mobileItem).toContain("min-height: 60px");
620+
expect(mobileItem).toContain("padding: var(--sp-3) var(--sp-4)");
621+
expect(mobileItem).toContain("border: none");
622+
expect(mobileItem).not.toContain("linear-gradient(");
618623
expect(mobileItemIcon).toContain("color: var(--icon-secondary)");
619624
expect(mobileItemArrow).toContain("color: var(--text-tertiary)");
620625
});
@@ -664,6 +669,14 @@ describe("components.css theme-sensitive surfaces", () => {
664669
expect(mobileSettingsFooter).toContain("min-height: 32px");
665670
});
666671

672+
it("keeps mobile container surfaces on shared radius tokens instead of bespoke rounded-card values", () => {
673+
const settingsGroupList = getLastRuleBlock(".settings-mobile-group__list");
674+
const settingsItemIconShell = getLastRuleBlock(".settings-mobile-item__icon-shell");
675+
676+
expect(settingsGroupList).toContain("border-radius: 12px");
677+
expect(settingsItemIconShell).toContain("border-radius: var(--radius-xl)");
678+
});
679+
667680
it("keeps the mobile workspace launch action docked in a compact editor-style footer rail", () => {
668681
const launchFooter = getLastRuleBlock(".mobile-sheet--launch .mobile-sheet__footer").replace(
669682
/\s+/g,

0 commit comments

Comments
 (0)