@@ -12,16 +12,17 @@ const AppShell = styled.div`
1212 flex-direction: column;
1313 height: 100vh;
1414 width: 100vw;
15- background-color: var(--page-background, #1e1e1e );
16- color: var(--page-foreground, #cccccc );
15+ background-color: var(--page-background);
16+ color: var(--page-foreground);
1717 overflow: hidden;
1818 label: AppShell;
1919` ;
2020
2121const ActivityBar = styled . nav `
2222 width: 48px;
23- background-color: var(--activity-bar-bg, #333);
24- border-right: 1px solid var(--border-color, #252525);
23+ /* Slightly darker or same as background depending on theme */
24+ background-color: var(--page-background);
25+ border-right: 1px solid var(--black-transparent);
2526 display: flex;
2627 flex-direction: column;
2728 align-items: center;
@@ -32,8 +33,9 @@ const ActivityBar = styled.nav`
3233
3334const TabList = styled ( Tabs . List ) `
3435 display: flex;
35- background: var(--tab-bar-bg, #252526);
36- border-bottom: 1px solid rgba(0,0,0,0.3);
36+ /* Uses the transparent black to slightly darken the tab row */
37+ background: var(--black-transparent);
38+ border-bottom: 1px solid var(--black-transparent);
3739 height: 35px;
3840 label: TabList;
3941` ;
@@ -43,24 +45,31 @@ const TabTrigger = styled(Tabs.Trigger)`
4345 font-size: 11px;
4446 border: none;
4547 background: transparent;
46- color: #888;
48+ color: var(--page-foreground);
49+ opacity: 0.6;
4750 cursor: pointer;
4851 display: flex;
4952 align-items: center;
50- transition: background 0.2s;
53+ transition: all 0.2s;
54+
5155 &[data-state='active'] {
52- color: #fff;
53- background: var(--editor-bg, #1e1e1e);
54- border-bottom: 1px solid var(--accent-1, #007acc);
56+ opacity: 1;
57+ background: var(--page-background);
58+ border-bottom: 2px solid var(--accent-1);
59+ }
60+
61+ &:hover {
62+ background: var(--white-transparent);
63+ opacity: 1;
5564 }
56- &:hover { background: rgba(255,255,255,0.05); }
5765 label: TabTrigger;
5866` ;
5967
6068const StatusBar = styled . footer `
6169 height: 22px;
62- background-color: var(--status-bar-bg, #007acc);
63- color: white;
70+ /* Use accent color for the classic IDE status bar look */
71+ background-color: var(--accent-1);
72+ color: white;
6473 display: flex;
6574 align-items: center;
6675 justify-content: space-between;
@@ -70,10 +79,22 @@ const StatusBar = styled.footer`
7079` ;
7180
7281const Resizer = styled ( Separator ) `
73- background-color: #000;
74- &[aria-orientation="horizontal"] { cursor: col-resize; }
75- &[aria-orientation="vertical"] { cursor: row-resize; }
76- &:hover { background-color: var(--accent-1, #007acc); }
82+ background-color: var(--black-transparent);
83+ transition: background-color 0.2s;
84+
85+ &[aria-orientation="horizontal"] {
86+ width: 2px;
87+ cursor: col-resize;
88+ }
89+ &[aria-orientation="vertical"] {
90+ height: 2px;
91+ cursor: row-resize;
92+ }
93+
94+ &[data-resize-handle-active],
95+ &:hover {
96+ background-color: var(--accent-1);
97+ }
7798` ;
7899
79100// --- Slot Helpers ---
@@ -89,13 +110,25 @@ const TabbedSlot = ({ panels, activeId, onToggle, onSelect }) => {
89110 < div style = { { flex : 1 } } />
90111 < button
91112 onClick = { ( ) => onToggle ( activeId ) }
92- style = { { background : 'none' , border : 'none' , color : '#888' , cursor : 'pointer' , padding : '0 10px' , fontSize : '14px' } }
113+ style = { {
114+ background : 'none' ,
115+ border : 'none' ,
116+ color : 'var(--page-foreground)' ,
117+ opacity : 0.5 ,
118+ cursor : 'pointer' ,
119+ padding : '0 10px' ,
120+ fontSize : '14px'
121+ } }
93122 >
94123 ×
95124 </ button >
96125 </ TabList >
97126 { panels . map ( p => (
98- < Tabs . Content key = { p . id } value = { p . id } style = { { flex : 1 , overflow : 'auto' , background : 'var(--editor-bg, #1e1e1e)' } } >
127+ < Tabs . Content
128+ key = { p . id }
129+ value = { p . id }
130+ style = { { flex : 1 , overflow : 'auto' , background : 'var(--page-background)' } }
131+ >
99132 { p . component }
100133 </ Tabs . Content >
101134 ) ) }
@@ -115,7 +148,6 @@ export const OmniLayout = () => {
115148 activeSelection
116149 } = useOmniLayout ( ) ;
117150
118- // Sort panels into UI buckets
119151 const sidebarPanels = panels . filter ( p => p . position === 'left' ) ;
120152 const activeSidebar = sidebarPanels . find ( p => isOpen ( p . id ) ) ;
121153
@@ -126,17 +158,18 @@ export const OmniLayout = () => {
126158 < AppShell >
127159 < div style = { { display : 'flex' , flex : 1 , overflow : 'hidden' } } >
128160
129- { /* 1. Activity Bar (Icons for Sidebars) */ }
161+ { /* 1. Activity Bar */ }
130162 < ActivityBar >
131163 { sidebarPanels . map ( p => (
132164 < div
133165 key = { p . id }
134166 onClick = { ( ) => togglePanel ( p . id ) }
135167 style = { {
136168 cursor : 'pointer' ,
169+ color : isOpen ( p . id ) ? 'var(--accent-1)' : 'var(--page-foreground)' ,
137170 opacity : isOpen ( p . id ) ? 1 : 0.4 ,
138171 fontSize : 20 ,
139- transition : 'opacity 0.2s'
172+ transition : 'all 0.2s'
140173 } }
141174 title = { p . title }
142175 >
@@ -151,8 +184,19 @@ export const OmniLayout = () => {
151184 { /* Sidebar Slot */ }
152185 { activeSidebar && (
153186 < >
154- < Panel collapsible defaultSize = { 20 } minSize = { 10 } style = { { display : 'flex' , flexDirection : 'column' , background : '#252526' } } >
155- < div style = { { height : '35px' , padding : '0 12px' , display : 'flex' , alignItems : 'center' , fontSize : 11 , fontWeight : 700 , borderBottom : '1px solid rgba(0,0,0,0.2)' } } >
187+ < Panel collapsible defaultSize = { 20 } minSize = { 10 } style = { { display : 'flex' , flexDirection : 'column' , background : 'var(--black-transparent)' } } >
188+ < div style = { {
189+ height : '35px' ,
190+ padding : '0 12px' ,
191+ display : 'flex' ,
192+ alignItems : 'center' ,
193+ fontSize : 11 ,
194+ fontWeight : 700 ,
195+ letterSpacing : '0.5px' ,
196+ borderBottom : '1px solid var(--black-transparent)' ,
197+ color : 'var(--page-foreground)' ,
198+ opacity : 0.8
199+ } } >
156200 { activeSidebar . title . toUpperCase ( ) }
157201 </ div >
158202 < div style = { { flex : 1 , overflow : 'auto' } } > { activeSidebar . component } </ div >
@@ -194,7 +238,7 @@ export const OmniLayout = () => {
194238 </ Group >
195239 </ div >
196240
197- { /* 3. Hackable Status Bar */ }
241+ { /* 3. Status Bar */ }
198242 < StatusBar >
199243 < div style = { { display : 'flex' , gap : '15px' } } >
200244 { statusItems . filter ( i => i . alignment === 'left' ) . map ( item => (
0 commit comments