From ff33619865539d662ba0b34ed4e789fb75ddc2e1 Mon Sep 17 00:00:00 2001 From: ammarahm-ed Date: Mon, 22 Nov 2021 15:12:26 +0500 Subject: [PATCH] feat: announcement dialog --- .../ActionSheetComponent/BouncingView.js | 40 +++-- .../src/components/Announcements/body.js | 20 +++ .../src/components/Announcements/cta.js | 31 ++++ .../components/Announcements/description.js | 21 +++ .../src/components/Announcements/functions.js | 14 ++ .../src/components/Announcements/index.js | 163 ++++++++++++++++++ .../src/components/Announcements/list.js | 40 +++++ .../src/components/Announcements/photo.js | 19 ++ .../components/Announcements/subheading.js | 23 +++ .../src/components/Announcements/title.js | 21 +++ .../src/components/Dialog/BaseDialog.js | 5 +- .../src/components/DialogManager/index.js | 2 + .../components/ResultDialog/ProFeatures.js | 8 +- .../src/components/SimpleList/announcement.js | 18 +- apps/mobile/src/utils/Events.js | 5 +- 15 files changed, 401 insertions(+), 29 deletions(-) create mode 100644 apps/mobile/src/components/Announcements/body.js create mode 100644 apps/mobile/src/components/Announcements/cta.js create mode 100644 apps/mobile/src/components/Announcements/description.js create mode 100644 apps/mobile/src/components/Announcements/functions.js create mode 100644 apps/mobile/src/components/Announcements/index.js create mode 100644 apps/mobile/src/components/Announcements/list.js create mode 100644 apps/mobile/src/components/Announcements/photo.js create mode 100644 apps/mobile/src/components/Announcements/subheading.js create mode 100644 apps/mobile/src/components/Announcements/title.js diff --git a/apps/mobile/src/components/ActionSheetComponent/BouncingView.js b/apps/mobile/src/components/ActionSheetComponent/BouncingView.js index d5828495a..d2cddfc81 100644 --- a/apps/mobile/src/components/ActionSheetComponent/BouncingView.js +++ b/apps/mobile/src/components/ActionSheetComponent/BouncingView.js @@ -1,30 +1,40 @@ -import React, { useEffect } from 'react'; -import Animated, { Easing, timing } from 'react-native-reanimated'; +import React, {useEffect} from 'react'; +import Animated, {Easing, timing} from 'react-native-reanimated'; + +export const BouncingView = ({ + children, + style, + duration = 600, + animated = true +}) => { + const scale = Animated.useValue(!animated ? 1 : 0.9); -export const BouncingView = ({children,style,duration=600}) => { - const scale = Animated.useValue(0.9); - useEffect(() => { + if (!animated) return; scale.setValue(0.9); timing(scale, { toValue: 1, - duration:duration, + duration: duration, easing: Easing.elastic(1) }).start(); return () => { + if (!animated) return; scale.setValue(0.9); - } - },[]) + }; + }, []); return ( + style={[ + { + transform: [ + { + scale: !animated ? 1 : scale + } + ] + }, + style + ]}> {children} ); diff --git a/apps/mobile/src/components/Announcements/body.js b/apps/mobile/src/components/Announcements/body.js new file mode 100644 index 000000000..3fef67f8d --- /dev/null +++ b/apps/mobile/src/components/Announcements/body.js @@ -0,0 +1,20 @@ +import React from 'react'; +import { useTracked } from '../../provider'; +import Paragraph from '../Typography/Paragraph'; +import { getStyle } from './functions'; + + +export const Body = ({text, style = {}}) => { + const [state] = useTracked(); + const colors = state.colors; + + return ( + + {text} + + ); +}; \ No newline at end of file diff --git a/apps/mobile/src/components/Announcements/cta.js b/apps/mobile/src/components/Announcements/cta.js new file mode 100644 index 000000000..599bb8f0e --- /dev/null +++ b/apps/mobile/src/components/Announcements/cta.js @@ -0,0 +1,31 @@ +import React from 'react'; +import { View } from 'react-native'; +import { useTracked } from '../../provider'; +import { Button } from '../Button'; +import { getStyle } from './functions'; + +export const Cta = ({actions, style = {}}) => { + const [state] = useTracked(); + const colors = state.colors; + return ( + + {actions.map((item, index) => ( +