settings page nicer + space names

This commit is contained in:
Neil 2026-03-18 21:02:49 -07:00
parent ce3c3ad6a5
commit f595b7d473
4 changed files with 306 additions and 3 deletions

View file

@ -161,6 +161,7 @@ function App(): React.JSX.Element {
activeWorktreeId !== null &&
!hasTabBar &&
effectiveActiveTabExpanded
const showSidebar = activeView !== 'settings'
const handleToggleExpand = (): void => {
if (!effectiveActiveTabId) return
@ -189,7 +190,13 @@ function App(): React.JSX.Element {
<div className="flex flex-col h-screen w-screen overflow-hidden">
<div className="titlebar">
<div className="titlebar-traffic-light-pad" />
<button className="sidebar-toggle" onClick={toggleSidebar} title="Toggle sidebar">
<button
className="sidebar-toggle"
onClick={toggleSidebar}
title={showSidebar ? 'Toggle sidebar' : 'Sidebar unavailable in settings'}
aria-label={showSidebar ? 'Toggle sidebar' : 'Sidebar unavailable in settings'}
disabled={!showSidebar}
>
<PanelLeft size={16} />
</button>
<div className="titlebar-title">Orca</div>
@ -207,7 +214,7 @@ function App(): React.JSX.Element {
)}
</div>
<div className="flex flex-row flex-1 min-h-0 overflow-hidden">
<Sidebar />
{showSidebar ? <Sidebar /> : null}
<div className="relative flex flex-1 min-w-0 min-h-0 overflow-hidden">
{activeWorktreeId && (
<div

View file

@ -241,6 +241,16 @@
color: var(--foreground);
}
.sidebar-toggle:disabled {
cursor: default;
opacity: 0.45;
}
.sidebar-toggle:disabled:hover {
background: none;
color: var(--muted-foreground);
}
.titlebar-title {
font-size: 13px;
font-weight: 500;
@ -309,6 +319,22 @@
transition: width 200ms ease;
}
@keyframes settings-shell-enter {
from {
opacity: 0;
transform: translateY(8px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.settings-view-shell {
animation: settings-shell-enter 180ms ease-out;
}
.sidebar.collapsed {
width: 0;
border-right: none;

View file

@ -220,7 +220,7 @@ function Settings(): React.JSX.Element {
}
return (
<div className="flex min-h-0 flex-1 overflow-hidden bg-background">
<div className="settings-view-shell flex min-h-0 flex-1 overflow-hidden bg-background">
<aside className="flex w-[260px] shrink-0 flex-col border-r bg-card/40">
<div className="border-b px-3 py-3">
<Button

View file

@ -0,0 +1,270 @@
export const SPACE_NAMES = [
'Andromeda',
'Orion',
'Nebula',
'Quasar',
'Pulsar',
'Supernova',
'Cosmos',
'Galaxy',
'Zenith',
'Horizon',
'Eclipse',
'Nova',
'Astro',
'Lunar',
'Solar',
'Celestial',
'Orbit',
'Comet',
'Meteor',
'Asteroid',
'Helios',
'Titan',
'Atlas',
'Hyperion',
'Phoebe',
'Rhea',
'Iapetus',
'Dione',
'Enceladus',
'Triton',
'Europa',
'Ganymede',
'Callisto',
'Io',
'Oberon',
'Umbriel',
'Ariel',
'Miranda',
'Kepler',
'Hubble',
'Webb',
'Voyager',
'Pioneer',
'Galileo',
'Cassini',
'Magellan',
'Sputnik',
'Apollo',
'Artemis',
'Mercury',
'Skylab',
'Dragon',
'Starliner',
'Falcon',
'Delta',
'Vega',
'Ariane',
'Proton',
'Electron',
'Neutron',
'Photon',
'Ion',
'Plasma',
'Corona',
'Aurora',
'Magnetar',
'Singularity',
'Parallax',
'Aphelion',
'Perihelion',
'Umbra',
'Penumbra',
'Syzygy',
'Aether',
'Lumen',
'Radiant',
'Spectra',
'Solstice',
'Equinox',
'Meridian',
'Polaris',
'Sirius',
'Altair',
'Rigel',
'Betelgeuse',
'Aldebaran',
'Antares',
'Spica',
'Capella',
'Procyon',
'Deneb',
'Arcturus',
'Bellatrix',
'Alnitak',
'Alnilam',
'Mintaka',
'Castor',
'Pollux',
'Regulus',
'Fomalhaut',
'Achernar',
'Shaula',
'Sargas',
'Zuben',
'Alpheratz',
'Markab',
'Algenib',
'Hamal',
'Mirach',
'Caph',
'Kochab',
'Dubhe',
'Merak',
'Phecda',
'Megrez',
'Alioth',
'Mizar',
'Alkaid',
'Thuban',
'Draco',
'Lyra',
'Cygnus',
'Cassiopeia',
'Perseus',
'Pegasus',
'Phoenix',
'Hydra',
'Centauri',
'Lupus',
'Vela',
'Carina',
'Puppis',
'Fornax',
'Sculptor',
'Dorado',
'Horologium',
'Indus',
'Pavo',
'Tucana',
'Volans',
'Reticulum',
'Lacerta',
'Delphinus',
'Aquila',
'Sagitta',
'Scorpius',
'Libra',
'Virgo',
'Leo',
'Geminius',
'Taurus',
'Aries',
'Pisces',
'Capricorn',
'Aquarius',
'Sagittarius',
'Ophiuchus',
'Cetus',
'Eridanus',
'Columba',
'Monoceros',
'Canopus',
'Algol',
'Alhena',
'Sadalmelik',
'Sadalsuud',
'Rasalhague',
'Izar',
'Kaus',
'Nunki',
'Ascella',
'Albireo',
'Tarazed',
'Gacrux',
'Acrux',
'Mimosa',
'Alnair',
'Scheat',
'Alderamin',
'Enif',
'Unukalhai',
'Zaurak',
'Nihal',
'Arneb',
'Saiph',
'Wezen',
'Adhara',
'Furud',
'Suhail',
'Miaplacidus',
'Avior',
'Aspidiske',
'Tureis',
'Aludra',
'Hypernova',
'Microquasar',
'Exoplanet',
'Planetesimal',
'Accretion',
'Darkmatter',
'Stardust',
'Gravity',
'Redshift',
'Blueshift',
'Photonic',
'Cosmicray',
'Eventide',
'Void',
'Halley',
'Halcyon',
'Shoemaker',
'Tempel',
'Pathfinder',
'Discovery',
'Endeavour',
'Atlantis',
'Columbia',
'Challenger',
'Enterprise',
'Stargazer',
'Skywatch',
'Startrail',
'Nebulon',
'Cosmica',
'Stellaris',
'Luminary',
'Galaxion',
'Voidwalker',
'Skyforge',
'Solara',
'Lunaris',
'Astralis',
'Nebularis',
'Orionis',
'Altairis',
'Helion',
'Lunex',
'Astrovia',
'Nebulux',
'Cosmix',
'Starion',
'Orbitron',
'Cosmora',
'Nebulith',
'Astryx',
'Cosmion',
'Stellion',
'Galactron',
'Asteria',
'Astrion',
'Cosmonyx',
'Heliora',
'Lunora',
'Nebulora',
'Stellara',
'Galaxara',
'Orionyx',
'Solion',
'Lunion',
'Astryxion',
'Cosmara',
'Nebulion',
'Stellionyx',
'Galaxionyx',
'Helionyx',
'Lunorix',
'Astrorix',
'Cosmorix'
]