@@ -31,6 +31,7 @@ import ProjectCard from '../components/ProjectCard';
3131import LogCard from '../components/LogCard' ;
3232import PostTile from '../components/PostTile' ;
3333import RoadmapCard from '../components/roadmap/RoadmapCard' ;
34+ import { useSidePanel } from '../context/SidePanelContext' ;
3435
3536const mockProject = {
3637 id : 'fez-99' ,
@@ -78,11 +79,32 @@ const BrufezPage = () => {
7879 } ) ;
7980
8081 const { addToast} = useToast ( ) ;
82+ const { openSidePanel} = useSidePanel ( ) ;
8183 const [ isDialogOpen , setIsDialogOpen ] = useState ( false ) ;
8284 const [ isModalOpen , setIsModalOpen ] = useState ( false ) ;
8385 const [ dropdownVal , setDropdownVal ] = useState ( 'option_01' ) ;
8486 const [ sliderVal , setSliderVal ] = useState ( 50 ) ;
8587
88+ const demoSidePanel = ( ) => {
89+ openSidePanel (
90+ 'SIDE_PROTOCOL_ALPHA' ,
91+ < div className = "space-y-8" >
92+ < div className = "p-6 border border-emerald-500/20 bg-emerald-500/5" >
93+ < h4 className = "text-emerald-400 font-black uppercase tracking-tighter m-0" > Live_Data_Buffer</ h4 >
94+ < p className = "text-[10px] font-mono text-gray-500 uppercase mt-2" > Telemetry stream synchronized with local host.</ p >
95+ </ div >
96+ < p className = "text-sm font-mono text-gray-400 uppercase leading-relaxed" >
97+ The SidePanel component provides a high-density vertical axis for auxiliary process controls and detailed systemic information without losing context of the primary matrix.
98+ </ p >
99+ < div className = "grid grid-cols-1 gap-4" >
100+ < div className = "h-1 bg-white/5" />
101+ < div className = "h-1 bg-white/10" />
102+ < div className = "h-1 bg-emerald-500/20" />
103+ </ div >
104+ </ div >
105+ ) ;
106+ } ;
107+
86108 return (
87109 < div className = "min-h-screen bg-[#050505] text-white selection:bg-emerald-500/30 font-sans pb-32" >
88110 < div className = "mx-auto max-w-7xl px-6 py-24 md:px-12" >
@@ -140,30 +162,66 @@ const BrufezPage = () => {
140162 { /* LEFT COLUMN */ }
141163 < div className = "lg:col-span-7 space-y-20" >
142164
143- { /* Philosophy Section */ }
144- < section className = "space-y-8" >
145- < h3 className = "font-mono text-[10px] font-bold text-emerald-500 uppercase tracking-[0.4em] flex items-center gap-2" >
146- < FlaskIcon weight = "fill" />
147- 01_CORE_PHILOSOPHY
148- </ h3 >
149- < div className = "prose prose-invert max-w-none" >
150- < p className = "text-xl text-gray-300 font-light leading-relaxed" >
151- Brufez is a departure from the "soft" web. It rejects rounded corners, subtle gradients, and hidden structures.
152- Instead, it embraces the machine—making the grid visible, the processes transparent, and the feedback absolute.
153- </ p >
154- < div className = "grid grid-cols-1 md:grid-cols-2 gap-8 mt-12" >
155- < div className = "p-6 border border-white/10 bg-white/5 space-y-4" >
156- < h4 className = "text-white uppercase font-black tracking-tighter text-lg m-0" > Structural Logic</ h4 >
157- < p className = "text-xs text-gray-400 font-mono uppercase m-0" > If it exists, it must be bounded. Borders are 1PX solid, highlighting the layout hierarchy.</ p >
158- </ div >
159- < div className = "p-6 border border-emerald-500/20 bg-emerald-500/5 space-y-4" >
160- < h4 className = "text-emerald-400 uppercase font-black tracking-tighter text-lg m-0" > Active Feedback</ h4 >
161- < p className = "text-xs text-gray-400 font-mono uppercase m-0" > System states are communicated via color shifts and high-frequency animations (pulses, glitters).</ p >
162- </ div >
163- </ div >
164- </ div >
165- </ section >
165+ { /* Philosophy Section */ }
166+ < section className = "space-y-8" >
167+ < h3 className = "font-mono text-[10px] font-bold text-emerald-500 uppercase tracking-[0.4em] flex items-center gap-2" >
168+ < FlaskIcon weight = "fill" />
169+ 01_CORE_PHILOSOPHY
170+ </ h3 >
171+ < div className = "prose prose-invert max-w-none" >
172+ < p className = "text-xl text-gray-300 font-light leading-relaxed" >
173+ Brufez is a departure from the "soft" web. It rejects rounded corners, subtle gradients, and hidden structures.
174+ Instead, it embraces the machine—making the grid visible, the processes transparent, and the feedback absolute.
175+ </ p >
176+
177+ < div className = "mt-12 space-y-12" >
178+ < div className = "space-y-4" >
179+ < h4 className = "text-white uppercase font-black tracking-tighter text-2xl m-0 flex items-center gap-4" >
180+ < span className = "text-emerald-500 font-mono text-sm" > [01]</ span > Geometric_Rigidity
181+ </ h4 >
182+ < p className = "text-sm text-gray-400 leading-relaxed font-sans m-0" >
183+ Structure is defined by hard 1PX boundaries. We avoid soft shadows and deep elevations. Every component is anchored to a
184+ mathematical grid, emphasizing the "raw" construction of the interface. Corners are sharp (0-2px radius), maintaining a
185+ structural integrity that feels like physical hardware.
186+ </ p >
187+ </ div >
188+
189+ < div className = "space-y-4" >
190+ < h4 className = "text-white uppercase font-black tracking-tighter text-2xl m-0 flex items-center gap-4" >
191+ < span className = "text-emerald-500 font-mono text-sm" > [02]</ span > Chromatic_Absolutism
192+ </ h4 >
193+ < p className = "text-sm text-gray-400 leading-relaxed font-sans m-0" >
194+ The palette is restricted to a high-density black (< span className = "text-white font-mono" > #050505</ span > ) and a high-frequency
195+ Emerald (< span className = "text-emerald-500 font-mono" > #10B981</ span > ). This dual-tone hierarchy creates extreme contrast,
196+ ensuring that "system signals" are immediately distinguishable from static data. Supplemental tones (Rose, Amber) are
197+ reserved exclusively for critical failure or warning states.
198+ </ p >
199+ </ div >
200+
201+ < div className = "space-y-4" >
202+ < h4 className = "text-white uppercase font-black tracking-tighter text-2xl m-0 flex items-center gap-4" >
203+ < span className = "text-emerald-500 font-mono text-sm" > [03]</ span > Systemic_Transparency
204+ </ h4 >
205+ < p className = "text-sm text-gray-400 leading-relaxed font-sans m-0" >
206+ Brufez does not hide metadata. Version IDs, process status, and local timestamps are primary UI elements. We use
207+ < span className = "text-emerald-400 font-mono" > UPPER_SNAKE_CASE</ span > and system syntax (//, ::, []) to treat human-readable
208+ text as structured logs, reinforcing the feeling of interacting directly with a digital kernel.
209+ </ p >
210+ </ div >
211+ </ div >
166212
213+ < div className = "grid grid-cols-1 md:grid-cols-2 gap-8 mt-16" >
214+ < div className = "p-6 border border-white/10 bg-white/5 space-y-4" >
215+ < h4 className = "text-white uppercase font-black tracking-tighter text-lg m-0" > Structural Logic</ h4 >
216+ < p className = "text-xs text-gray-400 font-mono uppercase m-0" > If it exists, it must be bounded. Borders are 1PX solid, highlighting the layout hierarchy.</ p >
217+ </ div >
218+ < div className = "p-6 border border-emerald-500/20 bg-emerald-500/5 space-y-4" >
219+ < h4 className = "text-emerald-400 uppercase font-black tracking-tighter text-lg m-0" > Active Feedback</ h4 >
220+ < p className = "text-xs text-gray-400 font-mono uppercase m-0" > System states are communicated via color shifts and high-frequency animations (pulses, glitters).</ p >
221+ </ div >
222+ </ div >
223+ </ div >
224+ </ section >
167225 { /* Interactive Components */ }
168226 < section className = "space-y-8" >
169227 < h3 className = "font-mono text-[10px] font-bold text-gray-500 uppercase tracking-[0.4em] flex items-center gap-2" >
@@ -335,13 +393,16 @@ const BrufezPage = () => {
335393 </ button >
336394 </ div > </ div >
337395
338- < div className = "grid grid-cols-1 md:grid-cols-2 gap-4" >
396+ < div className = "grid grid-cols-1 md:grid-cols-3 gap-4" >
339397 < button onClick = { ( ) => setIsDialogOpen ( true ) } className = "py-4 border border-white/10 hover:bg-white hover:text-black transition-all font-mono text-[10px] uppercase tracking-widest" >
340398 Invoke_Dialog
341399 </ button >
342400 < button onClick = { ( ) => setIsModalOpen ( true ) } className = "py-4 border border-white/10 hover:bg-white hover:text-black transition-all font-mono text-[10px] uppercase tracking-widest" >
343401 Invoke_Modal
344402 </ button >
403+ < button onClick = { demoSidePanel } className = "py-4 border border-white/10 hover:bg-white hover:text-black transition-all font-mono text-[10px] uppercase tracking-widest" >
404+ Invoke_Side_Panel
405+ </ button >
345406 </ div >
346407 </ div >
347408 </ section >
0 commit comments