@@ -24,6 +24,17 @@ const copyToClipboard = (text) => {
2424
2525export const App = ( ) => {
2626 const [ tasks , setTasks ] = useState ( [ ] ) ;
27+ const [ isMobile , setIsMobile ] = useState ( false ) ;
28+
29+ React . useEffect ( ( ) => {
30+ const checkMobile = ( ) => {
31+ setIsMobile ( window . innerWidth <= 768 ) ;
32+ } ;
33+
34+ checkMobile ( ) ;
35+ window . addEventListener ( 'resize' , checkMobile ) ;
36+ return ( ) => window . removeEventListener ( 'resize' , checkMobile ) ;
37+ } , [ ] ) ;
2738
2839 React . useMemo ( ( ) => {
2940 console . log ( 'App rerender' ) ;
@@ -66,21 +77,27 @@ export const App = () => {
6677 JavaScript, so you drop it in anywhere – script tag, npm, you name it!
6778 </ p >
6879
69- < div className = "task-section" >
70- < p > Try interacting with this input to see it in action:</ p >
71- < AddTaskBar
72- onCreate = { ( value ) => {
73- if ( ! value ) return ;
74- setTasks ( [ ...tasks , value ] ) ;
75- } }
76- />
77- < TaskList
78- tasks = { tasks }
79- onDelete = { ( value ) =>
80- setTasks ( tasks . filter ( ( task ) => task !== value ) )
81- }
82- />
83- </ div >
80+ { isMobile ? (
81+ < div className = "demo-section" >
82+ < img src = "/demo.gif" alt = "React Scan Demo" className = "demo-gif" />
83+ </ div >
84+ ) : (
85+ < div className = "task-section" >
86+ < p > Try interacting with this input to see it in action:</ p >
87+ < AddTaskBar
88+ onCreate = { ( value ) => {
89+ if ( ! value ) return ;
90+ setTasks ( [ ...tasks , value ] ) ;
91+ } }
92+ />
93+ < TaskList
94+ tasks = { tasks }
95+ onDelete = { ( value ) =>
96+ setTasks ( tasks . filter ( ( task ) => task !== value ) )
97+ }
98+ />
99+ </ div >
100+ ) }
84101 </ div >
85102
86103 < div className = "sticky-footer" >
0 commit comments