This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

web/settings: draw the settings list hairlines with divide-y

the three gap variants each repeated their own border-t and border colour on
an [&>*+*] selector; divide-y divide-border-default says it once in the base,
so a variant only has to carry spacing.

the spacing had to move with it. divide-y draws on the bottom of every row but
the last, where the old rule drew on the top of every row but the first, and
the rows carry min-h-8 — being border-box, that swallowed the old border and
top padding whole, so the hairline actually sat 12px under one row and 8px over
the next with an uneven 45/41px text pitch. giving each row half the gap as its
own padding, and leaving the card the rest of its 12px, puts the line where the
comment always claimed it was: 8/8 with an even 41px pitch. cards come out
8-11px shorter for it.

Signed-off-by: eti <eti@eti.tf>

author
eti
committer
dawn
date (Jul 31, 2026, 10:57 PM +0300) commit 477dfdbe parent 7691cdc9 change-id otxwktrz
+12 -9
+12 -9
web/src/lib/components/settings/SettingsList.svelte
··· 2 2 import { tv, type VariantProps } from "tailwind-variants"; 3 3 4 4 export const settingsList = tv({ 5 - base: "flex w-full flex-col rounded-sm border border-border-default", 5 + base: "flex w-full flex-col divide-y divide-border-default rounded-sm border border-border-default", 6 6 variants: { 7 7 // Figma spaces rows with a gap and drops the hairline in the middle of it, 8 - // so the divider is split evenly across the two rows it separates rather 9 - // than sitting flush against one of them. Named in Tailwind spacing units 10 - // because the designs use all three of 8 / 12 / 16px. 8 + // so each row carries half the gap as its own padding and divide-y draws the 9 + // line between the two halves — that way the divider is split evenly across 10 + // the rows it separates rather than sitting flush against one of them. The 11 + // card's own vertical padding is whatever is left of 12px once a row's half 12 + // is counted, which is why it lives here rather than in `padding`. Named in 13 + // Tailwind spacing units because the designs use all three of 8 / 12 / 16px. 11 14 gap: { 12 - "2": "[&>*+*]:mt-1 [&>*+*]:border-t [&>*+*]:border-border-default [&>*+*]:pt-1", 13 - "3": "[&>*+*]:mt-1.5 [&>*+*]:border-t [&>*+*]:border-border-default [&>*+*]:pt-1.5", 14 - "4": "[&>*+*]:mt-2 [&>*+*]:border-t [&>*+*]:border-border-default [&>*+*]:pt-2" 15 + "2": "py-2 [&>*]:py-1", 16 + "3": "py-1.5 [&>*]:py-1.5", 17 + "4": "py-1 [&>*]:py-2" 15 18 }, 16 19 padding: { 17 - default: "px-4 py-3", 18 - tight: "p-3" 20 + default: "px-4", 21 + tight: "px-3" 19 22 } 20 23 }, 21 24 defaultVariants: {