Untitled
unknown
plain_text
3 years ago
6.3 kB
4
Indexable
// @ts-ignore
// @ts-nocheck
import { View, Text, TouchableOpacity, Image } from "react-native";
import React, { useEffect, useState } from "react";
import FastImage from "react-native-fast-image";
import Apptheme from "../../blocks/HamburgerMenu/src/Apptheme";
import Scale from "./Scale";
import StorageProvider from "../../framework/src/StorageProvider"
import styles from "./bottomStyle";
import CreatePostModal from "./CreatePostModal";
import { SvgXml } from 'react-native-svg';
import { AvatarIcon } from "react-native-elements";
import { add, chatFill, chatPlain, notificationfill, notificationPlain, profileFill, profilePlain, vFill, vPlain } from "../../blocks/HamburgerMenu/src/assets";
import { FONTS } from "framework/src/AppFonts";
interface Props {
navigation: any;
onRefresh: () => any;
onCreatePost: (value: any) => any;
showCreatepost: boolean;
selectedTab: string;
testID: any;
testrefresh: string;
}
export default function CustomBottomBar(props: Props) {
const { navigation, onRefresh } = props;
const [showCreatepost, setShowCreatePost] = useState<boolean>(props.showCreatepost);
const [count, setCount] = useState(0)
const [time_count, setTime_count] = useState(0)
const [time, setTime] = useState(false)
// useEffect(() => {
// const interval = setInterval(() => {
// countApi()
// }, 5000);
// }, []);
const timerCountFun = () =>{
var curr_time = 0
x = setInterval(function () {
setTime_count(curr_time)
curr_time = curr_time + 1
console.log("curr",curr_time);
setTime(true)
if(curr_time === 30){
clearInterval(x)
setTime(false)
}
}, 1000);
}
const countApi = async () => {
const _token = await StorageProvider.get('USER_TOKEN')
var myHeaders = new Headers()
myHeaders.append('token', _token)
var requestOptions: any = {
method: 'GET',
headers: myHeaders,
redirect: 'follow',
}
fetch(
'https://vibesocialmusic-82830-ruby.b82830.dev.us-east-1.aws.svc.builder.cafe/bx_block_notifications/app_notifications/unread_notification_count',
requestOptions,
)
.then((response) => response.text())
.then((result) => {
const _data = JSON.parse(result)
//console.log("ddddddddddddddddddd",_data)
setCount(_data.unread_notification_count)
})
.catch((error) => {
// console.log('error in delete comment api>>>>', error)
})
}
return (
<View>
<View
style={[
styles.smallCard2
]}
>
<View
style={{
width: "100%",
paddingHorizontal: Scale(25),
flexDirection: "row",
justifyContent: "space-between",
alignItems:'center',
}}
>
<TouchableOpacity
testID={props.testID}
onPress={() => {
navigation.navigate("Chats")
}}
style={styles.touchablestyle}
>
<SvgXml xml={props?.selectedTab == "Chats" ? chatFill : chatPlain} width={Scale(24)} height={Scale(24)} />
</TouchableOpacity>
<TouchableOpacity
onPress={() => {
navigation.navigate("MyProfile")
}}
style={styles.touchablestyle}
>
<SvgXml xml={props?.selectedTab == 'MyProfile' ? profileFill : profilePlain} width={Scale(24)} height={Scale(24)} />
</TouchableOpacity>
<TouchableOpacity
onPress={() => {
props.onCreatePost(true)
setShowCreatePost(true)
}
}
style={styles.touchablestyle}
>
<SvgXml xml={add} width={Scale(32)} height={Scale(32)} />
</TouchableOpacity>
<TouchableOpacity
onPress={() => {
navigation.navigate("Notifications")
}}
style={styles.touchablestyle}
>
<SvgXml xml={props?.selectedTab === 'Notifications' ? notificationfill : notificationPlain} width={Scale(24)} height={Scale(24)} />
{count > 0 ?
<View style={{
borderWidth:3,
borderColor:'#17161F',
height:Scale(20),
width:Scale(20),
borderRadius:100,
position: 'absolute',
left: Scale(10),
justifyContent:'center',
alignItems:'center',
bottom: Scale(12)}}>
<View style={{height:Scale(17),
width:Scale(17),backgroundColor:Apptheme.getartisttextcolor(),
borderRadius:100, justifyContent:'center',
alignItems:'center',flexDirection:'row'}}>
<Text style={{color:'white',fontSize:Scale(8),fontFamily:FONTS.RobotoCondensedBold,letterSpacing: 1}}>{count ? count : 0}</Text>
{count > 99 ?
<Text style={{color:'white',fontSize:Scale(8),marginBottom:Scale(8), letterSpacing: 1}}>+</Text>
:null}
</View>
</View>
:null}
</TouchableOpacity>
<TouchableOpacity
disabled={time}
testID={props.testrefresh}
onPress={() => {
navigation.navigate("FeedBlock", { index:1 })
// navigation.navigate("FeedBlock")
timerCountFun()
onRefresh()
}}
style={styles.touchablestyle}>
<SvgXml xml={props?.selectedTab === 'Feed' ? vFill : vPlain} width={Scale(19)} height={Scale(24)} />
</TouchableOpacity>
</View>
</View>
<CreatePostModal
navigation={props.navigation}
showCreatepost={showCreatepost}
onDismiss={() => {
setShowCreatePost(false);
props.onCreatePost(false);
}}
onRequestClose={() => {
setShowCreatePost(false);
props.onCreatePost(false);
}}
onDah={() => {
setShowCreatePost(false);
props.onCreatePost(false);
}}
/>
</View>
);
}
Editor is loading...