// @flow import * as React from 'react'; import {Linking, ScrollView, View} from 'react-native'; import {Avatar, Card, Text, withTheme} from 'react-native-paper'; import ImageModal from 'react-native-image-modal'; import Autolink from "react-native-autolink"; import MaterialHeaderButtons, {Item} from "../../components/Overrides/CustomHeaderButton"; import CustomTabBar from "../../components/Tabbar/CustomTabBar"; import {StackNavigationProp} from "@react-navigation/stack"; import type {feedItem} from "./HomeScreen"; type Props = { navigation: StackNavigationProp, route: { params: { data: feedItem, date: string } } }; const ICON_AMICALE = require('../../../assets/amicale.png'); const NAME_AMICALE = 'Amicale INSA Toulouse'; /** * Class defining a feed item page. */ class FeedItemScreen extends React.Component { displayData: feedItem; date: string; constructor(props) { super(props); this.displayData = props.route.params.data; this.date = props.route.params.date; } componentDidMount() { this.props.navigation.setOptions({ headerRight: this.getHeaderButton, }); } /** * Opens the feed item out link in browser or compatible app */ onOutLinkPress = () => { Linking.openURL(this.displayData.permalink_url); }; /** * Gets the out link header button * * @returns {*} */ getHeaderButton = () => { return ; }; /** * Gets the Amicale INSA avatar * * @returns {*} */ getAvatar() { return ( ); } render() { const hasImage = this.displayData.full_picture !== '' && this.displayData.full_picture != null; return ( {hasImage ? : null} {this.displayData.message !== undefined ? : null } ); } } export default withTheme(FeedItemScreen);