From 0c19b98c9871f88323e3c1cb4fa2815b3196536d Mon Sep 17 00:00:00 2001 From: songchuansheng Date: Thu, 23 Jul 2026 05:24:29 -0700 Subject: [PATCH] Bump type scale to a 15px base for the IBM Plex switch The Lumen alignment swapped Geist -> IBM Plex Sans but kept Involute's 13px base. IBM Plex has a smaller x-height, so text rendered visibly smaller at the same px. Lumen itself is designed around a 15px base. Uniformly uplift the whole type scale +2px (~15%), preserving every density ratio: app.css font-size values and the inline fontSize literals in the kanban/detail/route components. Computed sizes (Avatar Math.max/size*0.5) are left untouched. Base body is now 15px (Lumen's native base); comfortably larger than the prior Geist 13px. --- .../src/components/BoardLoadMoreNotice.tsx | 2 +- .../web/src/components/IssueDetailDrawer.tsx | 4 +- packages/web/src/components/KanbanView.tsx | 4 +- packages/web/src/components/Primitives.tsx | 2 +- .../web/src/components/RichTextEditor.tsx | 6 +- packages/web/src/routes/BoardPage.tsx | 78 +++---- packages/web/src/routes/CyclesPage.tsx | 44 ++-- packages/web/src/routes/InboxPage.tsx | 2 +- packages/web/src/routes/IssuePage.tsx | 24 +- packages/web/src/routes/MembersPage.tsx | 30 +-- packages/web/src/routes/MyIssuesPage.tsx | 20 +- packages/web/src/routes/ProjectsPage.tsx | 56 ++--- packages/web/src/routes/SettingsPage.tsx | 34 +-- packages/web/src/routes/ViewsPage.tsx | 18 +- packages/web/src/styles/app.css | 216 +++++++++--------- 15 files changed, 270 insertions(+), 270 deletions(-) diff --git a/packages/web/src/components/BoardLoadMoreNotice.tsx b/packages/web/src/components/BoardLoadMoreNotice.tsx index 71712bf..40e2bee 100644 --- a/packages/web/src/components/BoardLoadMoreNotice.tsx +++ b/packages/web/src/components/BoardLoadMoreNotice.tsx @@ -21,7 +21,7 @@ export function BoardLoadMoreNotice({ role={errorMessage ? 'alert' : undefined} style={{ display: 'flex', alignItems: 'center', gap: 12, flexWrap: 'wrap', padding: '6px 14px', margin: '0 var(--content-gutter)', flexShrink: 0 }} > -

+

{errorMessage ?? 'Showing the current page of issues. Load more to continue browsing this team.'}

diff --git a/packages/web/src/components/IssueDetailDrawer.tsx b/packages/web/src/components/IssueDetailDrawer.tsx index aec0ea3..cd3a1be 100644 --- a/packages/web/src/components/IssueDetailDrawer.tsx +++ b/packages/web/src/components/IssueDetailDrawer.tsx @@ -246,7 +246,7 @@ export function IssueDetailDrawer({
{team ? {team.key} : null} - + {activeIssue.identifier}
@@ -359,7 +359,7 @@ export function IssueDetailDrawer({ {description ? ( ) : ( - Add a description… + Add a description… )}
)} diff --git a/packages/web/src/components/KanbanView.tsx b/packages/web/src/components/KanbanView.tsx index 04d20e7..57df365 100644 --- a/packages/web/src/components/KanbanView.tsx +++ b/packages/web/src/components/KanbanView.tsx @@ -64,8 +64,8 @@ function KanbanColumn({ {group.meta?.priority !== undefined && ( )} - {group.label} - + {group.label} + {group.issues.length} diff --git a/packages/web/src/components/Primitives.tsx b/packages/web/src/components/Primitives.tsx index 81783ed..cbc49ff 100644 --- a/packages/web/src/components/Primitives.tsx +++ b/packages/web/src/components/Primitives.tsx @@ -87,7 +87,7 @@ export function Btn({ padding: icon && !children ? 0 : (size === 'md' ? '0 10px' : '0 8px'), width: icon && !children ? (size === 'md' ? 28 : 24) : undefined, justifyContent: 'center', - fontSize: 12, fontWeight: 500, + fontSize: 14, fontWeight: 500, borderRadius: 'var(--r-2)', transition: 'background var(--dur-1) var(--ease), color var(--dur-1) var(--ease), border-color var(--dur-1) var(--ease)', border: '1px solid transparent', diff --git a/packages/web/src/components/RichTextEditor.tsx b/packages/web/src/components/RichTextEditor.tsx index b7eb422..d2600b6 100644 --- a/packages/web/src/components/RichTextEditor.tsx +++ b/packages/web/src/components/RichTextEditor.tsx @@ -286,7 +286,7 @@ export function RichTextEditor({ title="Code (`code`)" disabled={disabled} onClick={handleCode} - style={{ fontFamily: 'var(--font-mono)', fontSize: 12 }} + style={{ fontFamily: 'var(--font-mono)', fontSize: 14 }} > {''} @@ -354,7 +354,7 @@ export function RichTextEditor({ ↑ Uploading {uploadingCount} file{uploadingCount > 1 ? 's' : ''}… ) : null} - + to submit ) : null} {activeSavedBoardViewId ? ( - + Loaded view: {savedBoardViews.find((v) => v.id === activeSavedBoardViewId)?.name ?? 'Unknown'} ) : null} @@ -1893,7 +1893,7 @@ export function BoardPage() {
- Sort + Sort @@ -1951,11 +1951,11 @@ export function BoardPage() {
-
+
Columns
{(selectedTeam?.states.nodes ?? []).map((state) => ( -
- - + + setBulkTargetStateId(event.target.value)} - style={{ height: 24, padding: '0 6px', fontSize: 11, background: 'transparent', border: '1px solid var(--border)', borderRadius: 'var(--r-2)', color: 'var(--fg)' }}> + style={{ height: 24, padding: '0 6px', fontSize: 13, background: 'transparent', border: '1px solid var(--border)', borderRadius: 'var(--r-2)', color: 'var(--fg)' }}> {selectedTeam?.states.nodes.map((state) => ())} @@ -2032,7 +2032,7 @@ export function BoardPage() { ) : null} setBulkLabelId(event.target.value)} - style={{ height: 24, padding: '0 6px', fontSize: 11, background: 'transparent', border: '1px solid var(--border)', borderRadius: 'var(--r-2)', color: 'var(--fg)' }}> + style={{ height: 24, padding: '0 6px', fontSize: 13, background: 'transparent', border: '1px solid var(--border)', borderRadius: 'var(--r-2)', color: 'var(--fg)' }}> {labels.map((label) => ())} @@ -2049,7 +2049,7 @@ export function BoardPage() { ) : null} @@ -2228,7 +2228,7 @@ export function BoardPage() { {group.issues.length === 0 && boardViewState.groupBy !== 'none' && inlineCreateGroupId !== group.id && (
No issues diff --git a/packages/web/src/routes/CyclesPage.tsx b/packages/web/src/routes/CyclesPage.tsx index a928c1a..96e6f36 100644 --- a/packages/web/src/routes/CyclesPage.tsx +++ b/packages/web/src/routes/CyclesPage.tsx @@ -179,7 +179,7 @@ export function CyclesPage() { }}>
- {pct}% + {pct}%
); } @@ -188,12 +188,12 @@ export function CyclesPage() {
- Cycles + Cycles {teamKey && ( <> - · + · @@ -209,7 +209,7 @@ export function CyclesPage() {
{loading ? ( -
+
Loading cycles…
) : cycles.length === 0 ? ( @@ -231,7 +231,7 @@ export function CyclesPage() {
{activeCycle && (
-
+
ACTIVE CYCLE
- {activeCycle.name} - + {activeCycle.name} + {formatDate(activeCycle.startsAt)} – {formatDate(activeCycle.endsAt)}
@@ -259,11 +259,11 @@ export function CyclesPage() { style={{ display: 'flex', alignItems: 'center', gap: 8, width: '100%', padding: '6px 0', background: 'none', border: 'none', - cursor: 'pointer', fontSize: 12.5, color: 'var(--fg)', textAlign: 'left', + cursor: 'pointer', fontSize: 14.5, color: 'var(--fg)', textAlign: 'left', }} > - {issue.identifier} + {issue.identifier} {issue.title} ))} @@ -275,7 +275,7 @@ export function CyclesPage() { {upcomingCycles.length > 0 && (
-
+
UPCOMING
{upcomingCycles.map((cycle) => ( @@ -286,7 +286,7 @@ export function CyclesPage() { {completedCycles.length > 0 && (
-
+
COMPLETED
{completedCycles.map((cycle) => ( @@ -300,13 +300,13 @@ export function CyclesPage() { { if (e.target === dialogRef.current) dialogRef.current?.close(); }}>
-

+

{dialogMode === 'create' ? 'New cycle' : 'Edit cycle'}

diff --git a/packages/web/src/routes/InboxPage.tsx b/packages/web/src/routes/InboxPage.tsx index 8426ab5..e52d21d 100644 --- a/packages/web/src/routes/InboxPage.tsx +++ b/packages/web/src/routes/InboxPage.tsx @@ -133,7 +133,7 @@ export function InboxPage() {
Inbox - + {unreadCount}
diff --git a/packages/web/src/routes/IssuePage.tsx b/packages/web/src/routes/IssuePage.tsx index 26d067c..d0d5c8c 100644 --- a/packages/web/src/routes/IssuePage.tsx +++ b/packages/web/src/routes/IssuePage.tsx @@ -557,7 +557,7 @@ export function IssuePage() { onClick={() => navigate(`/issue/${activeIssue.parent!.id}`)} style={{ background: 'none', border: 'none', cursor: 'pointer', - fontSize: 11, color: 'var(--fg-muted)', padding: '2px 4px', + fontSize: 13, color: 'var(--fg-muted)', padding: '2px 4px', borderRadius: 'var(--r-1)', }} className="mono" @@ -572,7 +572,7 @@ export function IssuePage() { - + {activeIssue.identifier}
@@ -590,7 +590,7 @@ export function IssuePage() { }}> @@ -750,10 +750,10 @@ export function IssuePage() {
- + {renderCommentAuthor(entry.comment)} - + {formatTimestamp(entry.timestamp)}
@@ -950,7 +950,7 @@ export function IssuePage() {
Team
diff --git a/packages/web/src/routes/MembersPage.tsx b/packages/web/src/routes/MembersPage.tsx index cace642..8fa92c1 100644 --- a/packages/web/src/routes/MembersPage.tsx +++ b/packages/web/src/routes/MembersPage.tsx @@ -83,8 +83,8 @@ export function MembersPage() {
- Members - {users.length} + Members + {users.length}
} size="sm" onClick={() => { setInviteEmail(''); @@ -96,7 +96,7 @@ export function MembersPage() {
{loading ? ( -
+
Loading members…
) : users.length === 0 ? ( @@ -151,12 +151,12 @@ export function MembersPage() { }} style={{ padding: 20, minWidth: 340 }} > -

Invite member

+

Invite member