dev-plusplus / coding-docs

4 stars 2 forks source link

Session Architecture #23

Closed alacret closed 2 years ago

alacret commented 3 years ago

Problems:


import "./styles.css";

const AppProvider = () => <></>;
const Switch = () => <></>;
const CheckRole = () => <></>;
const Route = () => <></>;
const Loading = () => <></>;
const useSession = () => null;
const InvitationMangement = () => <></>;

const Session = () => {
  // Cargar el usuario
  const [loadingSession, session] = useSession();

  const [error] = useIsOnline();
  // Chequear si el usuario tiene compañia

  // Chequear si el usuario completo el onboarding

  // Subscribirse por si se desactiva el usuario 

  // Escuchar errores de session, como falta de conectividad, error de permisos
 return <>
   {/* // Chequear si el usuario tiene invitaciones */}
  <InvitationMangement session={session} loadingSession={loadingSession} />
  <Routes loadingSession={loadingSession} />
 </>;
}

const Routes = ({loadingSession}) => {
  if (loadingSession) // Opcion 1
    return <Loading />

  return (
    <Switch>
    <Session>
      {loadingSession  &&  <Loading />}
      <CheckRole>
        <Route path="/" loadingSession={loadingSession}></Route>
      </CheckRole>
    </Session>
    <Route path="/"></Route>
  </Switch>
  );
}

export default function App() {

  return (
    <AppProvider>
        <Routes/>
    </AppProvider>
  );
}```