@@ -5,6 +5,7 @@ import remarkGfm from 'remark-gfm';
55import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter' ;
66import { vscDarkPlus } from 'react-syntax-highlighter/dist/esm/styles/prism' ;
77import './App.css' ;
8+ import ArchitectureStory , { LandingStoryBanner } from './components/ArchitectureStory' ;
89
910const BOILERPLATES = {
1011 cpp : `#include <iostream>
@@ -90,6 +91,7 @@ function App() {
9091 const [ isLoading , setIsLoading ] = useState ( false ) ;
9192 const [ fontSize , setFontSize ] = useState ( parseInt ( localStorage . getItem ( 'fontSize' ) , 10 ) || 14 ) ;
9293 const [ cursor , setCursor ] = useState ( { line : 1 , col : 1 } ) ;
94+ const [ isStoryOpen , setIsStoryOpen ] = useState ( false ) ;
9395
9496 // Chatbot State
9597 const [ isChatOpen , setIsChatOpen ] = useState ( false ) ;
@@ -266,11 +268,16 @@ function App() {
266268 < > < svg width = "16" height = "16" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" strokeWidth = "2" > < polygon points = "5 3 19 12 5 21 5 3" /> </ svg > Run</ >
267269 ) }
268270 </ button >
269-
270-
271+ < button className = "story-mode-btn" onClick = { ( ) => setIsStoryOpen ( true ) } title = "Explore How CodeEngine Works in Real Time" >
272+ < svg width = "15" height = "15" viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" strokeWidth = "2.2" > < path d = "M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z" /> < path d = "M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z" /> </ svg >
273+ < span > How It Works</ span >
274+ < span className = "story-badge-new" > Story</ span >
275+ </ button >
271276 </ div >
272277 </ header >
273278
279+ < LandingStoryBanner onOpenStory = { ( ) => setIsStoryOpen ( true ) } />
280+
274281 < div className = { `workspace ${ isChatOpen ? 'chat-open' : '' } ` } >
275282 < div className = "editor-panel" >
276283 < div className = "panel-header-row" >
@@ -455,6 +462,12 @@ function App() {
455462 < span > Spaces: 4</ span >
456463 { stats && < span > Network: { formatMs ( stats . clientRoundTripMs ) } </ span > }
457464 </ footer >
465+
466+ < ArchitectureStory
467+ isOpen = { isStoryOpen }
468+ onClose = { ( ) => setIsStoryOpen ( false ) }
469+ selectedLanguage = { language }
470+ />
458471 </ div >
459472 ) ;
460473}
0 commit comments