// settings/Settings.jsx — Settings root + Account/Server/Timezone/Theme/About. function SetRow({ ic, color, ti, de, badge, chevron = true, danger = false }) { return (
{ic &&
}
{ti}
{badge && {badge}} {de &&
{de}
} {chevron && !danger &&
}
); } window.SetRow = SetRow; function SettingsRoot({ dark = false, isAdmin = true }) { return ( v0.9.3} trailing={}/> {/* User card */}
L
Lukas Park
lukas · admin · since Feb 2025
Server
Apple Health
Appearance
Notifications
{isAdmin && ( <>
Administration
)}
About
Ordentus iOS · v0.9.3 (build 142) · 13 May 2026
Server portal.lukas.dev · v2.4.1
); } window.SettingsRoot = SettingsRoot; function SettingsAccount({ dark = false }) { return (
Profile
Security
This device
); } window.SettingsAccount = SettingsAccount; function SettingsTheme({ dark = false }) { // Three big preview cards: Light · Dark · System (auto) const Card = ({ name, sel, mode }) => (
{/* tiny mock UI */}
{name}
); return (
The bedtime gradient stays the same in both modes. Surfaces and text adapt.
Schedule
Accessibility
); } window.SettingsTheme = SettingsTheme; function SettingsTimezone({ dark = false }) { const zones = [ { z: 'Europe/London', local: '10:26', sel: true }, { z: 'Europe/Paris', local: '11:26' }, { z: 'America/New_York', local: '06:26' }, { z: 'America/Los_Angeles', local: '03:26' }, { z: 'Asia/Tokyo', local: '19:26' }, { z: 'Asia/Seoul', local: '19:26' }, { z: 'Australia/Sydney', local: '21:26' }, ]; return (
Search
Detected
Common
{zones.map((r, i) => (
{r.z}
UTC {r.z.startsWith('Europe') ? '+0' : r.z.includes('New') ? '−5' : r.z.includes('Los') ? '−8' : r.z.includes('Tokyo') ? '+9' : r.z.includes('Seoul') ? '+9' : '+11'}
{r.local}
{r.sel &&
}
))}
IANA time-zone identifiers. Calendar feeds carry their own zone — Ordentus renders each event in the right local time.
); } window.SettingsTimezone = SettingsTimezone;