@@ -119,17 +119,44 @@ export default function PlaygroundPage() {
119119 } ;
120120
121121 return (
122- < div className = "h-screen flex flex-col bg-black text-white" >
123- { /* Header */ }
124- < div className = "border-b-2 border-white p-4" >
125- < h1 className = "text-2xl font-bold" > OmniScript Playground</ h1 >
126- < p className = "text-sm text-gray-400" > Experiment with OSF in your browser</ p >
122+ < div className = "min-h-screen flex flex-col bg-noir-white" >
123+ < Navigation />
124+
125+ { /* Page Title */ }
126+ < div className = "border-b-2 border-noir-black p-6 mt-16" >
127+ < h1 className = "text-3xl font-bold font-mono" > OmniScript Playground</ h1 >
128+ < p className = "text-sm text-gray-600 font-mono" > Experiment with OSF syntax and see live preview</ p >
129+ </ div >
130+
131+ { /* Coming Soon Banner */ }
132+ < div className = "bg-yellow-100 border-2 border-yellow-500 p-6 m-6" >
133+ < h2 className = "font-mono font-bold text-xl text-yellow-900 mb-3" >
134+ 🚧 Export Functionality: Coming Soon
135+ </ h2 >
136+ < p className = "font-mono text-sm text-yellow-800 mb-3" >
137+ The playground currently shows < strong > live preview and AST output only</ strong > .
138+ Server-side export to PDF/DOCX/PPTX/XLSX requires deployment to Vercel/Netlify.
139+ </ p >
140+ < div className = "bg-yellow-200 p-3 border border-yellow-600" >
141+ < p className = "font-mono text-xs text-yellow-900 font-bold mb-2" >
142+ ✅ GET FULL EXPORT NOW - Use the CLI:
143+ </ p >
144+ < pre className = "font-mono text-xs bg-black text-green-400 p-2 mb-2" >
145+ npm install -g omniscript-cli
146+ </ pre >
147+ < pre className = "font-mono text-xs bg-black text-green-400 p-2" >
148+ osf render document.osf --format pdf
149+ </ pre >
150+ < a href = "/docs/getting-started/installation" className = "font-mono text-xs text-blue-600 hover:underline font-bold" >
151+ → View installation guide
152+ </ a >
153+ </ div >
127154 </ div >
128155
129156 { /* Main Content */ }
130- < div className = "flex-1 flex overflow-hidden" >
157+ < div className = "flex-1 flex overflow-hidden mx-6 mb-6 border-2 border-noir-black " >
131158 { /* Editor Panel */ }
132- < div className = "w-1/2 border-r-2 border-white " >
159+ < div className = "w-1/2 border-r-2 border-noir-black " >
133160 < MonacoEditor
134161 height = "100%"
135162 language = "plaintext"
@@ -148,9 +175,9 @@ export default function PlaygroundPage() {
148175 </ div >
149176
150177 { /* Output Panel */ }
151- < div className = "w-1/2 flex flex-col" >
178+ < div className = "w-1/2 flex flex-col bg-white " >
152179 { /* Controls */ }
153- < div className = "border-b-2 border-white p-4 flex gap-4 items-center flex-wrap" >
180+ < div className = "border-b-2 border-noir-black p-4 flex gap-4 items-center flex-wrap bg-gray-100 " >
154181 < button
155182 onClick = { handleParse }
156183 className = "px-4 py-2 bg-white text-black hover:bg-gray-200 font-bold"
@@ -201,24 +228,24 @@ export default function PlaygroundPage() {
201228 </ div >
202229
203230 { /* Output Display */ }
204- < div className = "flex-1 overflow-auto p-4 bg-gray-900 " >
231+ < div className = "flex-1 overflow-auto p-4 bg-white text-black border-t-2 border-noir-black " >
205232 { output === 'preview' && (
206233 < div
207- className = "prose prose-invert max-w-none"
234+ className = "prose max-w-none"
208235 dangerouslySetInnerHTML = { { __html : result } }
209236 />
210237 ) }
211238 { output === 'ast' && (
212- < pre className = "text-sm text-green-400 font-mono" > { result } </ pre >
239+ < pre className = "text-sm text-blue-600 font-mono bg-gray-100 p-4 rounded " > { result } </ pre >
213240 ) }
214241 { output === 'errors' && (
215- < div className = "text-red-400 font-mono" >
242+ < div className = "text-red-600 font-mono" >
216243 < h3 className = "text-xl font-bold mb-4" > Parse Error:</ h3 >
217- < pre className = "bg-red-900 bg-opacity-20 p-4 rounded" > { result } </ pre >
244+ < pre className = "bg-red-50 border-2 border-red-400 p-4 rounded" > { result } </ pre >
218245 </ div >
219246 ) }
220247 { ! result && (
221- < div className = "text-gray-500 text-center py-20" >
248+ < div className = "text-gray-400 text-center py-20 font-mono " >
222249 Click "Parse & Preview " to see output
223250 </div >
224251 ) }
0 commit comments