import React from 'react';
import { Link } from 'react-router-dom';
import { Session } from '../model/';
import { Container, Loader, Icon } from '../components/';
import { memory } from '../helpers/';
import '../pages/error.scss';
export function LoggedInOnly(WrappedComponent){
    memory.set('user::authenticated', false);
    return class extends React.Component {
        constructor(props){
            super(props);
            this.state = {
                is_logged_in: memory.get('user::authenticated')
            };
        }
        componentDidMount(){
            if(this.state.is_logged_in === false){
                Session.currentUser().then((res) => {
                    if(res.is_authenticated === false){
                        this.props.error({message: "Authentication Required"});
                        return;
                    }
                    memory.set('user::authenticated', true);
                    this.setState({is_logged_in: true});
                }).catch((err) => {
                    if(err.code === "NO_INTERNET"){
                        this.setState({is_logged_in: true});
                        return;
                    }
                    this.props.error(err);
                });
            }
        }
        render(){
            if(this.state.is_logged_in === true){
                return 
{JSON.stringify(this.state.error)}