Skip to content
Snippets Groups Projects
index.pug 7.05 KiB
Newer Older
Clément's avatar
Clément committed
html(lang="en")
  head
    meta(charset="UTF-8")
    title #{clientName || "My Personal Hubl"}
Clément's avatar
Clément committed
    meta(name="viewport", content="width=device-width, initial-scale=1.0")
    meta(http-equiv="X-UA-Compatible", content="ie=edge")
    if clientFavicon
      link(rel="icon" type="image/png" href=`${clientFavicon}`)
    else
      link(rel="icon" type="image/webp" href="./images/favicon.webp")

    link(rel="preconnect" href="https://fonts.gstatic.com")
    link(rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;0,800;1,300;1,400;1,600;1,700;1,800&display=swap")

    link(rel='stylesheet', href='/styles/index.scss')

    if clientCSS
      link(rel='stylesheet', href=`${clientCSS}`)
    link(rel="manifest" href="/manifest.webmanifest")

    script(src="https://browser.sentry-cdn.com/5.25.0/bundle.tracing.min.js" defer)

    script(type="module" src="/components/sentry.js" defer)
    script(type="module" src="/components/hubl-search-users.js" defer)
    script(type="module" src="/components/hubl-status.js" defer)
    script(type="module" src="/components/hubl-reactivity.js" defer)

    include dependencies.pug
    include context.pug

    //- swal2 does not work with skypack
    script(src="https://cdn.jsdelivr.net/npm/sweetalert2@10" defer)

    script(src="index.js" defer)

    if endpoints.get && endpoints.post
      include views/partials/notifications.pug
      include views/partials/widgets.pug
        header#header.header.is-spaced(role='banner')
          include views/partials/header.pug
        nav#main__menu.left-menu.jsLeftMenu
          include views/partials/menu-left.pug
        main#viewport.content.notLoggedIn
          if endpoints.get.dashboards
            #dashboard(hidden, data-view="dashboard").no-sidebar.with-padding
              include views/page-dashboard.pug
          if publicDirectory && endpoints.get.users
            #members(hidden, data-view="members", no-render).no-sidebar.with-padding
              include views/page-directory.pug

          if endpoints.get.joboffers
            #job-offers(hidden, data-view="job-offers", no-render).no-sidebar.with-padding
              hubl-reactivity(data-src=`${endpoints.post.joboffers}current/` target-src=`${endpoints.get.joboffers}`)
              hubl-reactivity(data-src=`${endpoints.post.joboffers}expired/` target-src=`${endpoints.get.joboffers}`)
              hubl-reactivity(data-src=`${endpoints.post.joboffers}` target-src=`${endpoints.get.joboffers}`)
              hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}current/` target-src=`${endpoints.joboffers || endpoints.get.joboffers}`)
              hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}current/` target-src=`${endpoints.joboffers || endpoints.get.joboffers}expired/`)
              hubl-reactivity(data-src=`${endpoints.joboffers || endpoints.get.joboffers}expired/` target-src=`${endpoints.joboffers || endpoints.get.joboffers}`)
              hubl-reactivity(bind-user nested-field="joboffers" target-src=`${endpoints.joboffers || endpoints.get.joboffers}expired/`)
              hubl-reactivity(bind-user nested-field="joboffers" target-src=`${endpoints.joboffers || endpoints.get.joboffers}`)
              hubl-reactivity(bind-user nested-field="joboffers" target-src=`${endpoints.joboffers || endpoints.get.joboffers}current/`)
              include views/page-job-offers.pug

          if endpoints.get.projects
            #project(hidden, data-view="project", no-render).with-sidebar
              hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.projects")
              hubl-reactivity(data-src=`${endpoints.post.projects}joinable/` target-src=`${endpoints.get.projects}`)
              hubl-reactivity(data-src=`${endpoints.post.projects}` target-src=`${endpoints.get.projects}`)
              hubl-reactivity(bind-user nested-field="projects" target-src=`${endpoints.post.projects}`)
              hubl-reactivity(bind-user nested-field="projects" target-src=`${endpoints.post.projects}joinable/`)
              hubl-reactivity(data-src=`${endpoints.projects || endpoints.get.projects}joinable/` target-src=`${endpoints.projects || endpoints.get.projects}`)
              hubl-reactivity(bind-user nested-field="projects" target-src=`${endpoints.projects || endpoints.get.projects}`)
              hubl-reactivity(bind-user nested-field="projects" target-src=`${endpoints.projects || endpoints.get.projects}joinable/`)
              include views/page-project.pug

          if endpoints.get.circles
            #circle(hidden, data-view="circle", no-render).with-sidebar
              hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.circles")
              hubl-reactivity(data-src=`${endpoints.post.circles}joinable/` target-src=`${endpoints.get.circles}`)
              hubl-reactivity(data-src=`${endpoints.post.circles}` target-src=`${endpoints.get.circles}`)
              hubl-reactivity(bind-user nested-field="circles" target-src=`${endpoints.post.circles}`)
              hubl-reactivity(bind-user nested-field="circles" target-src=`${endpoints.post.circles}joinable/`)
              hubl-reactivity(data-src=`${endpoints.circles || endpoints.get.circles}joinable/` target-src=`${endpoints.circles || endpoints.get.circles}`)
              hubl-reactivity(bind-user nested-field="circles" target-src=`${endpoints.circles || endpoints.get.circles}`)
              hubl-reactivity(bind-user nested-field="circles" target-src=`${endpoints.circles || endpoints.get.circles}joinable/`)
              include views/page-circle.pug
          if endpoints.get.users
            #messages(hidden, data-view="messages", no-render).with-sidebar
              hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.contacts")
              include views/page-messages.pug
              
          if endpoints.get.polls
            #polls(hidden, data-view="polls").with-sidebar
              include views/page-polls.pug

          if endpoints.get.events
            #events(hidden, data-view="events")
              include views/page-events.pug

          if endpoints.get.resources
            #resources(hidden, data-view="resources")
              include views/page-resources.pug

          #admin(hidden, data-view="admin", no-render).with-sidebar
            include views/page-admin.pug

          #about(data-view="about", no-render).no-sidebar.with-padding
            include views/page-about.pug
            
          if endpoints.get.skills && endpoints.post.uploads && endpoints.post.users
            #profile(hidden, data-view="profile", no-render).no-sidebar
              include views/page-profile.pug
      
      if analytics
        each provider in analytics
          if provider.type && provider.url && provider.url
              solid-analytics(
                type=`${provider.type}`
                url=`${provider.url}`
                id=`${provider.id}`
              )
    else
      h1(style='color:red') Invalid config.json (missing `endpoints.get` or `endpoints.post`)