diff options
author | Ivan Chen <ivan@tagg.id> | 2021-05-07 19:48:09 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-07 19:48:09 -0400 |
commit | eb1a01196ae6a999ac73e146cf5286fddc0454e3 (patch) | |
tree | 67986d4d54bbbd6a6d7a1e9abe305dd424af0efd /src/components/common/TaggPrompt.tsx | |
parent | ae61e1602149a881483631239ea2507a58378cc4 (diff) | |
parent | a3bae91f19400373dc396fc60d5f29d3b4506d23 (diff) |
Merge pull request #407 from brian-tagg/newFeatureMessaging
[TMA-837] New feature messaging
Diffstat (limited to 'src/components/common/TaggPrompt.tsx')
-rw-r--r-- | src/components/common/TaggPrompt.tsx | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/src/components/common/TaggPrompt.tsx b/src/components/common/TaggPrompt.tsx index 6b59d4a5..0bf25c3c 100644 --- a/src/components/common/TaggPrompt.tsx +++ b/src/components/common/TaggPrompt.tsx @@ -1,13 +1,22 @@ import React from 'react'; -import {StyleSheet, Text, TouchableOpacity} from 'react-native'; +import { + ImageStyle, + StyleProp, + StyleSheet, + Text, + TouchableOpacity, +} from 'react-native'; import {Image, View} from 'react-native-animatable'; import CloseIcon from '../../assets/ionicons/close-outline.svg'; import {normalize, SCREEN_HEIGHT} from '../../utils'; +import {useNavigation} from '@react-navigation/core'; type TaggPromptProps = { messageHeader: string; messageBody: string | Element; - logoType: 'plus' | 'tagg' | 'invite_friends' | 'private_accounts'; + logoType: 'plus' | 'tagg' | 'invite_friends' | 'private_accounts' | 'chat'; + logoLink?: string; + externalStyles?: Record<string, StyleProp<ImageStyle>>; hideCloseButton?: boolean; noPadding?: boolean; onClose: () => void; @@ -17,6 +26,8 @@ const TaggPrompt: React.FC<TaggPromptProps> = ({ messageHeader, messageBody, logoType, + logoLink, + externalStyles, hideCloseButton, noPadding, onClose, @@ -33,6 +44,8 @@ const TaggPrompt: React.FC<TaggPromptProps> = ({ return require('../../assets/icons/notificationPrompts/invite-friends-prompt-icon.png'); case 'private_accounts': return require('../../assets/icons/notificationPrompts/private-accounts-prompt-icon.png'); + case 'chat': + return require('../../assets/icons/notificationPrompts/message_notification-07.png'); case 'tagg': default: return require('../../assets/images/logo-purple.png'); @@ -42,9 +55,18 @@ const TaggPrompt: React.FC<TaggPromptProps> = ({ const topPadding = {paddingTop: noPadding ? 0 : SCREEN_HEIGHT / 10}; const bottomPadding = {paddingBottom: noPadding ? 0 : SCREEN_HEIGHT / 50}; + const navigation = useNavigation(); + return ( <View style={[styles.container, topPadding, bottomPadding]}> - <Image style={styles.icon} source={logo()} /> + <TouchableOpacity + disabled={logoLink ? false : true} + onPress={() => logoLink && navigation.navigate(logoLink)}> + <Image + style={externalStyles?.icon ? externalStyles.icon : styles.icon} + source={logo()} + /> + </TouchableOpacity> <Text style={styles.header}>{messageHeader}</Text> <Text style={styles.subtext}>{messageBody}</Text> {!hideCloseButton && ( |