Skip to content
Snippets Groups Projects
index.pug 2.13 KiB
Newer Older
doctype html
html
    include includes/head.pug

    sib-router(default-route='splash')
        sib-route(name='splash')
        sib-route(name='account-creation')
        sib-route(name='mentor-dashboard')
        sib-route(name='entrepreneur-dashboard')
Benoit Alessandroni's avatar
Benoit Alessandroni committed
        #mentor-dashboard(hidden).no-sidebar
            include includes/mentor/dashboard.pug
        
Benoit Alessandroni's avatar
Benoit Alessandroni committed
        #entrepreneur-dashboard(hidden).no-sidebar
            include includes/entrepreneur/dashboard.pug
            
Benoit Alessandroni's avatar
Benoit Alessandroni committed
        #splash(hidden).no-sidebar.container.flex
            include includes/splash.pug

        #account-creation(hidden).no-sidebar.container
            include includes/account-creation.pug
        class="sib-auth-provider"
        data-authority=`${sdn}`
        data-id="coopstarter"
    )

script(type='module').
      import { store } from 'https://unpkg.com/@startinblox/core@0.8';
      const sibAuth = document.querySelector('sib-auth');
      
      class CoopStarterLoginComponent extends HTMLElement {
        async connectedCallback() {
          mentor_login.onclick = () => this.triggerLogin();
          this.update();
        }

        async triggerLogin() {
          await sibAuth.login();
        }
        
        async update() {
          let user = await sibAuth.getUser();
          let idToken = await sibAuth.getUserIdToken();

          if ( !user ) {
            return;
          }
          user = await store.get(user);

          if (user && user.mentor_profile) {
            window.dispatchEvent(
              new CustomEvent('requestNavigation', { detail: { route: 'mentor-dashboard' } })
            );
          } else if (user && user.entrepreneur_profile) {
            window.dispatchEvent(
              new CustomEvent('requestNavigation', { detail: { route: 'entrepreneur-dashboard' } })
            );
          } else {
            window.dispatchEvent(
              new CustomEvent('requestNavigation', { detail: { route: 'account-creation' } })
            );
          }
        }
        empty(){}
        populate(){}
      }
      customElements.define('cs-login', CoopStarterLoginComponent);