Skip to content
Snippets Groups Projects
License.js 1.33 KiB
Newer Older
Julia Friesel's avatar
Julia Friesel committed
import React from 'react'
import PropTypes from 'prop-types'
import { BackHandler, StyleSheet, View } from 'react-native'
import { useTranslation } from 'react-i18next'

import AppPage from './common/app-page'
import AppText from './common/app-text'
import Button from './common/button'
import Segment from './common/segment'

import { saveLicenseFlag } from '../local-storage'
Julia Friesel's avatar
Julia Friesel committed

Maria Zadnepryanets's avatar
Maria Zadnepryanets committed
import { Containers } from '../styles'

export default function License({ setLicense }) {
  const onAcceptLicense = async () => {
    await saveLicenseFlag()
    setLicense()
  }

  const { t } = useTranslation()
  const currentYear = new Date().getFullYear()

Julia Friesel's avatar
Julia Friesel committed
  return (
mashazyu's avatar
mashazyu committed
    <AppPage testID="licensePage">
      <Segment last testID="test" title={t("settings.license.title")}>
        <AppText testID="test">{t("settings.license.text", { currentYear })}</AppText>
        <View style={styles.container}>
mashazyu's avatar
mashazyu committed
          <Button onPress={BackHandler.exitApp} testID="licenseCancelButton">
            {t("labels.shared.cancel")}
          </Button>
mashazyu's avatar
mashazyu committed
          <Button isCTA onPress={onAcceptLicense} testID="licenseOkButton">
            {t("labels.shared.ok")}
          </Button>
        </View>
      </Segment>
    </AppPage>
Julia Friesel's avatar
Julia Friesel committed
  )
}

License.propTypes = {
  setLicense: PropTypes.func.isRequired
}

const styles = StyleSheet.create({
  container: {
    ...Containers.rowContainer
  }
})