{tab === "appearance" && (
<>
{/* Theme */}
Theme
{THEME_OPTIONS.map(({ value, label, icon: Icon }) => (
))}
{/* UI Zoom */}
UI Zoom
{Math.round(settings.uiZoom * 100)}%
{settings.uiZoom !== 1 && (
)}
setUiZoom(parseFloat(e.target.value))}
className="w-full accent-pylon-accent"
/>
75%
100%
150%
{/* Accent Color */}
Accent Color
{ACCENT_PRESETS.map(({ hue, label }) => {
const isAchromatic = hue === "0";
const bg = isAchromatic
? "oklch(50% 0 0)"
: `oklch(55% 0.12 ${hue})`;
return (
setAccentColor(hue)}
className="size-7 rounded-full"
style={{
backgroundColor: bg,
outline: settings.accentColor === hue ? "2px solid currentColor" : "none",
outlineOffset: "2px",
}}
whileHover={microInteraction.hover}
whileTap={microInteraction.tap}
transition={springs.snappy}
aria-label={label}
title={label}
/>
);
})}
{/* Density */}
Density
{DENSITY_OPTIONS.map(({ value, label }) => (
))}
>
)}
{tab === "boards" && (
Default Column Width
{WIDTH_OPTIONS.map(({ value, label }) => (
))}
)}
{tab === "shortcuts" && (
{SHORTCUTS.map(({ key, description }) => (
{description}
{key}
))}
)}
{tab === "about" && (
OpenPylon
v0.1.0 · Local-first Kanban board
Built with Tauri, React, and TypeScript.
)}