Skip to content
Snippets Groups Projects
app-wrapper.js 1 KiB
Newer Older
import React, { Component } from 'react'
import { View } from 'react-native'
import nodejs from 'nodejs-mobile-react-native'
import App from './app'
import PasswordPrompt from './password-prompt'
Julia Friesel's avatar
Julia Friesel committed
import License from './license'
import { getLicenseFlag } from '../local-storage'

export default class AppWrapper extends Component {
  constructor() {
    super()
Julia Friesel's avatar
Julia Friesel committed
    this.state = {
      showLicense: true
    }
    nodejs.start('main.js')
Julia Friesel's avatar
Julia Friesel committed
    this.checkLicenseAgreement()
Julia Friesel's avatar
Julia Friesel committed

  async checkLicenseAgreement() {
    const agreed = await getLicenseFlag()
    if (agreed) this.setState({showLicense: false})
  }

Julia Friesel's avatar
Julia Friesel committed
      this.state.showLicense ?
        <License setLicense={() => this.setState({showLicense: false})}/>
Julia Friesel's avatar
Julia Friesel committed
        :
        <View style={{ flex: 1 }}>
          {this.state.showApp ?
            <App/>
            :
            <PasswordPrompt
              showApp={() => {
                this.setState({showApp: true})
              }}
            />
          }
        </View>