import {useNavigation} from '@react-navigation/native';
import * as React from 'react';
import {StyleSheet, TouchableOpacity} from 'react-native';
import {Text} from 'react-native-animatable';
import CommentIcon from '../../assets/icons/moment-comment-icon.svg';
import {ScreenType} from '../../types';

/**
 * Provides a view for the comment icon and the comment count.
 * When the user clicks on this view, a new screen opens to display all the comments.
 */

type CommentsCountProps = {
  commentsCount: string;
  momentId: string;
  screenType: ScreenType;
};

const CommentsCount: React.FC<CommentsCountProps> = ({
  commentsCount,
  momentId,
  screenType,
}) => {
  const navigation = useNavigation();
  const navigateToCommentsScreen = async () => {
    navigation.push('MomentCommentsScreen', {
      moment_id: momentId,
      screenType,
    });
  };
  return (
    <>
      <TouchableOpacity onPress={navigateToCommentsScreen}>
        <CommentIcon style={styles.image} />
        <Text style={styles.count}>
          {commentsCount !== '0' ? commentsCount : ''}
        </Text>
      </TouchableOpacity>
    </>
  );
};

const styles = StyleSheet.create({
  image: {
    position: 'relative',
    width: 21,
    height: 21,
  },
  count: {
    position: 'relative',
    fontWeight: 'bold',
    color: 'white',
    paddingTop: '3%',
    textAlign: 'center',
  },
});

export default CommentsCount;
