From 2d2d426980d1bcab2f97681f6e70fbc098ecb094 Mon Sep 17 00:00:00 2001 From: lodev09 Date: Wed, 31 Dec 2025 08:15:44 +0800 Subject: [PATCH 1/2] chore: add rn modal in example --- example/shared/src/screens/ModalScreen.tsx | 66 ++++++++++++++++++++-- 1 file changed, 61 insertions(+), 5 deletions(-) diff --git a/example/shared/src/screens/ModalScreen.tsx b/example/shared/src/screens/ModalScreen.tsx index 55922f40..b2f2eb44 100644 --- a/example/shared/src/screens/ModalScreen.tsx +++ b/example/shared/src/screens/ModalScreen.tsx @@ -1,9 +1,9 @@ -import { useRef } from 'react'; -import { StyleSheet, Text, View } from 'react-native'; -import { TrueSheetProvider, type TrueSheet } from '@lodev09/react-native-true-sheet'; +import { useRef, useState, useEffect } from 'react'; +import { Modal, StyleSheet, Text, View } from 'react-native'; +import { TrueSheet, TrueSheetProvider } from '@lodev09/react-native-true-sheet'; -import { BLUE, GAP, LIGHT_GRAY, SPACING } from '../utils'; -import { Button, Input, Spacer } from '../components'; +import { BLUE, DARK, DARK_BLUE, DARK_GRAY, GAP, LIGHT_GRAY, SPACING } from '../utils'; +import { Button, DemoContent, Input, Spacer } from '../components'; import { PromptSheet, FlatListSheet } from '../components/sheets'; export interface ModalScreenProps { @@ -15,6 +15,16 @@ export const ModalScreen = ({ onNavigateToTest, onDismiss }: ModalScreenProps) = const promptSheet = useRef(null); const flatlistSheet = useRef(null); + const [modalVisible, setModalVisible] = useState(false); + const modalSimpleSheet = useRef(null); + const modalFlatlistSheet = useRef(null); + + useEffect(() => { + if (modalVisible) { + modalSimpleSheet.current?.present(); + } + }, [modalVisible]); + return ( @@ -28,11 +38,46 @@ export const ModalScreen = ({ onNavigateToTest, onDismiss }: ModalScreenProps) =