application-amicale/screens/PlanningScreen.js

76 lines
2.7 KiB
JavaScript

// @flow
import * as React from 'react';
import {Button, H3, Text} from 'native-base';
import i18n from "i18n-js";
import {Platform, View} from "react-native";
import CustomMaterialIcon from "../components/CustomMaterialIcon";
import ThemeManager from "../utils/ThemeManager";
import {Linking} from "expo";
import BaseContainer from "../components/BaseContainer";
type Props = {
navigation: Object,
}
/**
* Opens a link in the device's browser
* @param link The link to open
*/
function openWebLink(link) {
Linking.openURL(link).catch((err) => console.error('Error opening link', err));
}
/**
* Class defining the app's planning screen
*/
export default class PlanningScreen extends React.Component<Props> {
render() {
const nav = this.props.navigation;
return (
<BaseContainer navigation={nav} headerTitle={i18n.t('screens.planning')}>
<View style={{
flexGrow: 1,
justifyContent: 'center',
alignItems: 'center',
}}>
<View style={{
justifyContent: 'center',
alignItems: 'center',
width: '100%',
height: 100,
marginBottom: 20
}}>
<CustomMaterialIcon
icon={'forklift'}
fontSize={100}
width={100}
color={ThemeManager.getCurrentThemeVariables().fetchedDataSectionListErrorText}/>
</View>
<H3 style={{
textAlign: 'center',
marginRight: 20,
marginLeft: 20,
color: ThemeManager.getCurrentThemeVariables().fetchedDataSectionListErrorText
}}>
{i18n.t('planningScreen.wipTitle')}
</H3>
<Text style={{
textAlign: 'center',
color: ThemeManager.getCurrentThemeVariables().fetchedDataSectionListErrorText
}}>
{i18n.t('planningScreen.wipSubtitle')}
</Text>
{Platform.OS === 'android' ?
<Button block style={{marginTop: 20, marginRight: 10, marginLeft: 10}}
onPress={() => openWebLink('https://expo.io/@amicaleinsat/application-amicale')}>
<Text>Try the beta</Text>
</Button>
: <View/>}
</View>
</BaseContainer>
);
}
}