@@ -18,8 +18,8 @@ const ReviewScreen: React.FC<React.PropsWithChildren<CreateSubScreenProps>> = ({
1818 navigate,
1919 setValues,
2020} ) => {
21- const [ , setScreen ] = useStore ( 'screen' ) ;
2221 const [ loading , setLoading ] = useState ( false ) ;
22+ const [ success , setSuccess ] = useState ( false ) ;
2323
2424 const appType = themes . find ( ( theme ) => theme . key === values . type ) ;
2525 const templateEngine = templateEngines . find (
@@ -62,10 +62,12 @@ const ReviewScreen: React.FC<React.PropsWithChildren<CreateSubScreenProps>> = ({
6262 }
6363 } )
6464 . then ( ( response ) => {
65- // setValues({});
65+ setValues ( {
66+ ...values ,
67+ ...response ?. data ,
68+ } ) ;
6669
67- console . log ( response , 'response' ) ;
68- // setScreen('home');
70+ setSuccess ( true ) ;
6971 } )
7072 . catch ( ( err ) => {
7173 console . log ( 'An error occurred' , err ) ;
@@ -77,6 +79,12 @@ const ReviewScreen: React.FC<React.PropsWithChildren<CreateSubScreenProps>> = ({
7779
7880 return loading ? (
7981 < LoadingSection />
82+ ) : success ? (
83+ < SuccessSection
84+ values = { values }
85+ setValues = { setValues }
86+ navigate = { navigate }
87+ />
8088 ) : (
8189 < >
8290 < div className = "px-5 lg:px-10" >
@@ -326,4 +334,54 @@ const LoadingSection = () => {
326334 ) ;
327335} ;
328336
337+ const SuccessSection : React . FC < CreateSubScreenProps > = ( {
338+ values,
339+ } ) => {
340+ const [ , setScreen ] = useStore ( 'screen' ) ;
341+
342+ return (
343+ < div className = "px-5 lg:px-10 h-[80vh] flex flex-col justify-center items-center" >
344+ < div className = "mb-8 text-center " >
345+ < h2 className = "text-2xl" >
346+ Your { values . type } app has been created!
347+ </ h2 >
348+ < p className = "text-gray-500" >
349+ To get started, you can follow these steps:
350+ </ p >
351+ </ div >
352+
353+ < pre className = "flex flex-col gap-4 w-full bg-gray-100 rounded-lg p-5" >
354+ < div className = "flex items-center gap-2" >
355+ < div > $</ div >
356+ < div > cd { values ?. directory ?? values . name } </ div >
357+ </ div >
358+ { ! ! (
359+ values ?. additionalFrontendOptions ||
360+ values ?. frontendFramework
361+ ) && (
362+ < div className = "flex items-center gap-2" >
363+ < div > $</ div >
364+ < div > leaf view:dev</ div >
365+ </ div >
366+ ) }
367+ < div className = "flex items-center gap-2" >
368+ < div > $</ div >
369+ < div > leaf serve</ div >
370+ </ div >
371+ </ pre >
372+
373+ < div className = "mt-8" >
374+ < button
375+ className = "bg-green-800 px-5 py-2 rounded-md text-white"
376+ onClick = { ( ) => {
377+ setScreen ( 'home' ) ;
378+ } }
379+ >
380+ Go Home
381+ </ button >
382+ </ div >
383+ </ div >
384+ ) ;
385+ } ;
386+
329387export default ReviewScreen ;
0 commit comments