diff options
Diffstat (limited to 'src/components/common')
-rw-r--r-- | src/components/common/LoadingIndicator.tsx | 24 | ||||
-rw-r--r-- | src/components/common/index.ts | 1 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/components/common/LoadingIndicator.tsx b/src/components/common/LoadingIndicator.tsx new file mode 100644 index 00000000..f6679556 --- /dev/null +++ b/src/components/common/LoadingIndicator.tsx @@ -0,0 +1,24 @@ +import React from 'react'; +import {ActivityIndicator, StyleSheet} from 'react-native'; +import {usePromiseTracker} from 'react-promise-tracker'; + +const LoadingIndicator: React.FC = () => { + const {promiseInProgress} = usePromiseTracker(); + return promiseInProgress ? ( + <ActivityIndicator + style={styles.loadingIndicator} + size="large" + color="#fff" + /> + ) : ( + <></> + ); +}; + +const styles = StyleSheet.create({ + loadingIndicator: { + marginVertical: '5%', + }, +}); + +export default LoadingIndicator; diff --git a/src/components/common/index.ts b/src/components/common/index.ts index 4a226c8f..cb9d641b 100644 --- a/src/components/common/index.ts +++ b/src/components/common/index.ts @@ -7,4 +7,5 @@ export {default as GradientBackground} from './GradientBackground'; export {default as SocialIcon} from './SocialIcon'; export {default as TabsGradient} from './TabsGradient'; export {default as RecentSearches} from '../search/RecentSearches'; +export {default as LoadingIndicator} from './LoadingIndicator'; export * from './post'; |