@@ -12,11 +12,9 @@ import {
1212} from 'react-native' ;
1313import { StatusBar } from 'expo-status-bar' ;
1414import AdvancedVideoDemo from './AdvancedVideoDemo' ;
15+ import AdvancedImageDemo from './AdvancedImageDemo' ;
1516import VideoLayerDemo from './VideoLayerDemo' ;
1617import { ActiveLayerLayoutDemo } from './ActiveLayerLayoutDemo' ;
17- import YouTubeLayerDemo from './YouTubeLayerDemo' ;
18- import NetflixLayerDemo from './NetflixLayerDemo' ;
19- import TikTokLayerDemo from './TikTokLayerDemo' ;
2018
2119const { height : screenHeight , width : screenWidth } = Dimensions . get ( 'window' ) ;
2220
@@ -30,7 +28,7 @@ const getTopPadding = () => {
3028 return 35 ;
3129} ;
3230
33- type CurrentScreen = 'home' | 'video' | 'videoLayer ' | 'buttonLayout ' | 'youtubeLayer' | 'netflixLayer' | 'tiktokLayer ';
31+ type CurrentScreen = 'home' | 'video' | 'image ' | 'videoLayer ' | 'buttonLayout ' ;
3432
3533// Local orientation hook to avoid import path issues
3634const useLocalOrientation = ( ) => {
@@ -70,34 +68,19 @@ export default function App() {
7068 setCurrentScreen ( 'home' ) ;
7169 } ;
7270
73- const navigateToYouTube = ( ) => {
74- setCurrentScreen ( 'youtubeLayer' ) ;
75- } ;
76-
77- const navigateToNetflix = ( ) => {
78- setCurrentScreen ( 'netflixLayer' ) ;
79- } ;
80-
81- const navigateToTikTok = ( ) => {
82- setCurrentScreen ( 'tiktokLayer' ) ;
83- } ;
8471
8572
8673
8774 const renderCurrentScreen = ( ) => {
8875 switch ( currentScreen ) {
8976 case 'video' :
9077 return < AdvancedVideoDemo /> ;
78+ case 'image' :
79+ return < AdvancedImageDemo /> ;
9180 case 'videoLayer' :
9281 return < VideoLayerDemo onBack = { navigateHome } /> ;
9382 case 'buttonLayout' :
94- return < ActiveLayerLayoutDemo onNavigateToYouTube = { navigateToYouTube } onBack = { navigateHome } /> ;
95- case 'youtubeLayer' :
96- return < YouTubeLayerDemo onBack = { navigateHome } /> ;
97- case 'netflixLayer' :
98- return < NetflixLayerDemo onBack = { navigateHome } /> ;
99- case 'tiktokLayer' :
100- return < TikTokLayerDemo onBack = { navigateHome } /> ;
83+ return < ActiveLayerLayoutDemo onBack = { navigateHome } /> ;
10184 default :
10285 return renderHomeScreen ( ) ;
10386 }
@@ -183,90 +166,23 @@ export default function App() {
183166 < TouchableOpacity
184167 style = { [
185168 styles . mainGridCard ,
186- styles . youtubeCard ,
187- isLandscape && styles . mainGridCardLandscape
188- ] }
189- onPress = { ( ) => navigateToScreen ( 'youtubeLayer' ) }
190- activeOpacity = { 0.7 }
191- >
192- < View style = { [
193- styles . mainIconContainer ,
194- styles . youtubeIcon ,
195- isLandscape && styles . mainIconContainerLandscape
196- ] } >
197- < Image
198- source = { require ( './assets/youtube.png' ) }
199- style = { [ styles . youtubeIconImage , isLandscape && { width : 50 , height : 50 } ] }
200- resizeMode = "contain"
201- />
202- </ View >
203- < Text style = { [ styles . mainTitle , isLandscape && styles . mainTitleLandscape ] } > YouTube</ Text >
204- < Text style = { [ styles . mainSubtitle , isLandscape && styles . mainSubtitleLandscape ] } > Seamless embed</ Text >
205- </ TouchableOpacity >
206-
207- < TouchableOpacity
208- style = { [
209- styles . mainGridCard ,
210- styles . netflixCard ,
169+ styles . imageCard ,
211170 isLandscape && styles . mainGridCardLandscape
212171 ] }
213- onPress = { ( ) => navigateToScreen ( 'netflixLayer ' ) }
172+ onPress = { ( ) => navigateToScreen ( 'image ' ) }
214173 activeOpacity = { 0.7 }
215174 >
216175 < View style = { [
217176 styles . mainIconContainer ,
218- styles . netflixIcon ,
177+ styles . imageIcon ,
219178 isLandscape && styles . mainIconContainerLandscape
220179 ] } >
221- < Image
222- source = { require ( './assets/netlfix.png' ) }
223- style = { [ styles . netflixIconImage , isLandscape && { width : 50 , height : 50 } ] }
224- resizeMode = "contain"
225- />
180+ < Text style = { [ styles . mainIconText , isLandscape && styles . mainIconTextLandscape ] } > 🖼</ Text >
226181 </ View >
227- < Text style = { [
228- styles . mainTitle ,
229- styles . netflixGridTitle ,
230- isLandscape && styles . mainTitleLandscape
231- ] } > Netflix</ Text >
232- < Text style = { [
233- styles . mainSubtitle ,
234- styles . netflixGridSubtitle ,
235- isLandscape && styles . mainSubtitleLandscape
236- ] } > Streaming</ Text >
182+ < Text style = { [ styles . mainTitle , isLandscape && styles . mainTitleLandscape ] } > Advanced Image</ Text >
183+ < Text style = { [ styles . mainSubtitle , isLandscape && styles . mainSubtitleLandscape ] } > Image transformations</ Text >
237184 </ TouchableOpacity >
238185
239- < TouchableOpacity
240- style = { [
241- styles . mainGridCard ,
242- styles . tiktokCard ,
243- isLandscape && styles . mainGridCardLandscape
244- ] }
245- onPress = { ( ) => navigateToScreen ( 'tiktokLayer' ) }
246- activeOpacity = { 0.7 }
247- >
248- < View style = { [
249- styles . mainIconContainer ,
250- styles . tiktokIcon ,
251- isLandscape && styles . mainIconContainerLandscape
252- ] } >
253- < Image
254- source = { require ( './assets/tiktok-seeklogo.png' ) }
255- style = { [ styles . tiktokIconImage , isLandscape && { width : 50 , height : 50 } ] }
256- resizeMode = "contain"
257- />
258- </ View >
259- < Text style = { [
260- styles . mainTitle ,
261- styles . tiktokGridTitle ,
262- isLandscape && styles . mainTitleLandscape
263- ] } > TikTok</ Text >
264- < Text style = { [
265- styles . mainSubtitle ,
266- styles . tiktokGridSubtitle ,
267- isLandscape && styles . mainSubtitleLandscape
268- ] } > Endless feed</ Text >
269- </ TouchableOpacity >
270186 </ View >
271187 </ View >
272188
@@ -295,34 +211,7 @@ export default function App() {
295211 return (
296212 < View style = { styles . fullScreenContainer } >
297213 < StatusBar style = "auto" />
298- < ActiveLayerLayoutDemo onNavigateToYouTube = { navigateToYouTube } onBack = { navigateHome } />
299- </ View >
300- ) ;
301- }
302-
303- if ( currentScreen === 'youtubeLayer' ) {
304- return (
305- < View style = { styles . fullScreenContainer } >
306- < StatusBar hidden />
307- < YouTubeLayerDemo onBack = { navigateHome } />
308- </ View >
309- ) ;
310- }
311-
312- if ( currentScreen === 'netflixLayer' ) {
313- return (
314- < View style = { styles . fullScreenContainer } >
315- < StatusBar hidden />
316- < NetflixLayerDemo onBack = { navigateHome } />
317- </ View >
318- ) ;
319- }
320-
321- if ( currentScreen === 'tiktokLayer' ) {
322- return (
323- < View style = { styles . fullScreenContainer } >
324- < StatusBar hidden />
325- < TikTokLayerDemo onBack = { navigateHome } />
214+ < ActiveLayerLayoutDemo onBack = { navigateHome } />
326215 </ View >
327216 ) ;
328217 }
@@ -470,20 +359,10 @@ const styles = StyleSheet.create({
470359 borderWidth : 1 ,
471360 borderColor : '#fef3c7' ,
472361 } ,
473- youtubeCard : {
474- backgroundColor : '#fef2f2 ' ,
362+ imageCard : {
363+ backgroundColor : '#f0f9ff ' ,
475364 borderWidth : 1 ,
476- borderColor : '#fecaca' ,
477- } ,
478- netflixCard : {
479- backgroundColor : '#18181b' ,
480- borderWidth : 1 ,
481- borderColor : '#27272a' ,
482- } ,
483- tiktokCard : {
484- backgroundColor : '#1a1a1a' ,
485- borderWidth : 1 ,
486- borderColor : '#ff0050' ,
365+ borderColor : '#bae6fd' ,
487366 } ,
488367 // Icon Colors
489368 videoIcon : {
@@ -495,41 +374,8 @@ const styles = StyleSheet.create({
495374 interactiveIcon : {
496375 backgroundColor : '#f59e0b' ,
497376 } ,
498- youtubeIcon : {
499- backgroundColor : '#ffffff' ,
500- } ,
501- netflixIcon : {
502- backgroundColor : '#1a1a1a' ,
503- } ,
504- tiktokIcon : {
505- backgroundColor : '#ffffff' ,
506- } ,
507- // Netflix Special Styling
508- netflixIconImage : {
509- width : 60 ,
510- height : 60 ,
511- } ,
512- // TikTok Special Styling
513- tiktokIconImage : {
514- width : 60 ,
515- height : 60 ,
516- } ,
517- // YouTube Special Styling
518- youtubeIconImage : {
519- width : 60 ,
520- height : 60 ,
521- } ,
522- netflixGridTitle : {
523- color : '#ffffff' ,
524- } ,
525- netflixGridSubtitle : {
526- color : '#cccccc' ,
527- } ,
528- tiktokGridTitle : {
529- color : '#ffffff' ,
530- } ,
531- tiktokGridSubtitle : {
532- color : '#cccccc' ,
377+ imageIcon : {
378+ backgroundColor : '#0ea5e9' ,
533379 } ,
534380 // Landscape-specific styles
535381 headerContainerLandscape : {
0 commit comments