install packages:
- react-native-sound
- react-native-fast-image
- react-native-gesture-handler
- react-native-screens react-native-safe-area-context
- react-native-linear-gradient
- @react-native-masked-view/masked-view
- sockjs-client
- @stomp/stompjs
- text-encoding
- react-native-keep-awake
- lottie-react-native
- lottie-ios
- react-native-svg
- yarn add --dev react-native-svg-transformer
- @react-native-community/netinfo
- react-native-countdown-circle-timer
- react-native-snap-carousel
- react-native-reanimated
- react-native-neomorph-shadows
- react-native-modal
- @react-native-community/art
- react-native-skeleton-placeholder
- react-native-device-info
- react-native-event-listeners,
using lib:
- step1: ** add the codes in App.js or index.tsx **
const TextEncodingPolyfill = require('text-encoding');
Object.assign(global, {
TextEncoder: TextEncodingPolyfill.TextEncoder,
TextDecoder: TextEncodingPolyfill.TextDecoder,
});
- step2: change env, fonts with the codes before stack initial. Recommend set it in splash screen:
handleInitEnv({
customFonts: {
semiBold: Fonts.BeVietnamProSemiBold,
bold: Fonts.BeVietnamProBold,
medium: Fonts.BeVietnamProMedium,
regular: Fonts.BeVietnamProRegular,
},
globalVariant: {
accessToken: access_token?.length > 0 ? access_token : undefined,
API_URL: Config.API_URL,
},
});
- step3: add Stack in screen and passing params to init app:
<Tab.Screen
name={STACK_NAME.CLUB_STACK}
component={ClubStack}
initialParams={{
appFrom: 'TOFU', // 'TOFU or THE_COACH'
userInfoFromApp: {
id: id,
email: email,
avatar: avatar,
phone: phone,
name: username,
},
}}
options={{
tabBarLabel: 'Club',
}}
/>
- step4:
if you want to listen messages unread in club tab, please add this to component you want and don't forget remove it when component unmout
listener = EventRegister.addEventListener('onReceiveMessageUnRead', (unreadCount) => {
//to do somthing with unreadCount
}