hubl/src/index.pug

275 lines
14 KiB
Plaintext
Raw Normal View History

doctype html
2018-09-28 19:20:15 +00:00
html(lang="en")
head
meta(charset="UTF-8")
2020-11-26 22:21:55 +00:00
2020-05-08 13:27:44 +00:00
title #{clientName || "My Personal Hubl"}
2020-11-26 22:21:55 +00:00
2018-09-28 19:20:15 +00:00
meta(name="viewport", content="width=device-width, initial-scale=1.0")
meta(http-equiv="X-UA-Compatible", content="ie=edge")
2020-11-26 22:21:55 +00:00
2020-05-08 13:27:44 +00:00
if clientFavicon
link(rel="icon" type="image/png" href=`${clientFavicon}`)
else
2020-11-26 22:21:55 +00:00
link(rel="icon" type="image/webp" href="./images/favicon.webp")
2020-11-26 22:21:55 +00:00
link(rel="preconnect" href="https://fonts.gstatic.com")
2020-12-17 12:37:27 +00:00
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")
2020-12-05 18:26:52 +00:00
2020-11-26 22:21:55 +00:00
link(rel='stylesheet', href='/styles/index.scss')
2020-12-05 18:26:52 +00:00
2020-02-03 13:47:58 +00:00
if clientCSS
link(rel='stylesheet', href=`${clientCSS}`)
2020-12-05 18:26:52 +00:00
2020-08-24 12:50:22 +00:00
link(rel="manifest" href="/manifest.webmanifest")
2020-12-05 18:26:52 +00:00
2020-11-26 22:21:55 +00:00
script(src="https://browser.sentry-cdn.com/5.25.0/bundle.tracing.min.js" defer)
2020-12-05 18:26:52 +00:00
2020-11-26 22:21:55 +00:00
script(type="module" src="/components/sentry.js" defer)
2021-02-17 17:40:12 +00:00
script(type="module" src="/components/hubl-auto-login.js" defer)
2020-11-26 22:21:55 +00:00
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)
2020-12-05 18:26:52 +00:00
2020-11-26 22:21:55 +00:00
include dependencies.pug
include context.pug
2020-12-05 18:26:52 +00:00
2020-11-26 22:21:55 +00:00
//- swal2 does not work with skypack
script(src="https://cdn.jsdelivr.net/npm/sweetalert2@10" defer)
2020-11-26 22:21:55 +00:00
script(src="index.js" defer)
body.bg-color-grey
2020-11-26 22:21:55 +00:00
if endpoints.get && endpoints.post
.notLoggedIn(style='visibility:hidden;')
2021-02-17 17:40:12 +00:00
sib-auth(style='display:none!important')
sib-auth-provider(
data-authority=`${authority}`
data-id=`${authorityName || "authority"}`
data-client-name=`${clientName || "Hubl"}`
)
include views/partials/notifications.pug
include views/partials/widgets.pug
header#header.segment.full.padding-left-large.padding-right-large.sm-padding-right-xsmall.sm-padding-left-small.shadow-small.text-disable-selection.bg-color-white
include views/partials/header.pug
nav#main__menu.scrollbar-nav.segment.bg-color-heading.text-top.quarter.text-disable-selection.jsLeftMenu
include views/partials/menu-left.pug
main#content.segment.three-quarter.sm-full.text-top
if endpoints.get.dashboards
#dashboard(hidden, data-view="dashboard").scrollbar-content
include views/page-dashboard.pug
if publicDirectory && endpoints.get.users
#members(hidden, data-view="members", no-render).scrollbar-content
hubl-reactivity(bind-user nested-field="profile" target-src="store://user")
hubl-reactivity(bind-user nested-field="account" target-src="store://user")
include views/page-directory.pug
if endpoints.get.projects
#project(hidden, data-view="project").with-sidebar.whitespace-normal
hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.projects")
hubl-reactivity(bind-user nested-field="projects" target-src="store://user")
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/`)
2021-02-17 17:40:12 +00:00
hubl-reactivity(data-src=`${endpoints.get.projects}joinable/` target-src=`${endpoints.get.projects}`)
hubl-reactivity(bind-user nested-field="projects" target-src=`${endpoints.get.projects}`)
hubl-reactivity(bind-user nested-field="projects" target-src=`${endpoints.get.projects}joinable/`)
include views/page-project.pug
if endpoints.get.circles
#circle(hidden, data-view="circle").with-sidebar.whitespace-normal
hubl-reactivity(bind-user nested-field='inbox' target-src="store://user.circles")
hubl-reactivity(bind-user nested-field="circles" target-src="store://user")
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/`)
2021-02-17 17:40:12 +00:00
hubl-reactivity(data-src=`${endpoints.get.circles}joinable/` target-src=`${endpoints.get.circles}`)
hubl-reactivity(bind-user nested-field="circles" target-src=`${endpoints.get.circles}`)
hubl-reactivity(bind-user nested-field="circles" target-src=`${endpoints.get.circles}joinable/`)
include views/page-circle.pug
if endpoints.get.users
#messages(hidden, data-view="messages", no-render).whitespace-normal
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").scrollbar-content.bg-color-white
include views/page-events.pug
if endpoints.get.resources
#resources(hidden, data-view="resources")
include views/page-resources.pug
#admin
include views/page-admin.pug
#about(hidden, data-view="about", no-render)
include views/page-about.pug
if endpoints.get.skills && endpoints.post.uploads && endpoints.post.users
#profile(hidden, data-view="profile", no-render).scrollbar-content
include views/page-profile.pug
2020-12-23 16:47:07 +00:00
if endpoints.get.joboffers
#job-offers(hidden, data-view="job-offers", no-render).scrollbar-content
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}`)
2021-02-17 17:40:12 +00:00
hubl-reactivity(data-src=`${endpoints.get.joboffers}current/` target-src=`${endpoints.get.joboffers}`)
hubl-reactivity(data-src=`${endpoints.get.joboffers}current/` target-src=`${endpoints.get.joboffers}expired/`)
hubl-reactivity(data-src=`${endpoints.get.joboffers}expired/` target-src=`${endpoints.get.joboffers}`)
hubl-reactivity(bind-user nested-field="joboffers" target-src=`${endpoints.get.joboffers}expired/`)
hubl-reactivity(bind-user nested-field="joboffers" target-src=`${endpoints.get.joboffers}`)
hubl-reactivity(bind-user nested-field="joboffers" target-src=`${endpoints.get.joboffers}current/`)
include views/page-job-offers.pug
2021-02-17 18:22:22 +00:00
#login(data-view="login", hidden).segment.full.bg-color-secondary.text-center.index-community.loggedIn
2021-02-17 17:40:12 +00:00
.segment.half.sm-full.bg-color-white.text-center
.segment.half.sm-full
div.community-logo
img(src=clientLogo style='max-width:100%;max-height:100%;')
p.text-xlarge.text-semibold.margin-top-xxlarge.line-xlarge(data-trans="communities.index.youKnow")
2021-02-17 18:22:22 +00:00
button.segment.full.sm-three-quarter.button.text-xsmall.text-bold.text-uppercase.color-secondary.bordered.padding-bottom.xlarge.padding-top.xlarge.community-button#loginButton(
2021-02-17 17:40:12 +00:00
data-trans="communities.index.login"
)
p.text-xlarge.text-semibold.margin-top-xxlarge.line-xlarge(data-trans="communities.index.newUser")
solid-widget(name='hubl-index-community-logo')
template ${value != "" ? `<div class="community-button-flexed"><img src="${value}" style="max-width:100%;max-height:80px" class="padding-xsmall" /></div>` : ""}
solid-widget(name='hubl-index-community-text')
template
.community-button-flexed-large.whitespace-normal
span(data-trans="communities.index.createAccount")
span &nbsp;
span ${value}
solid-widget(name='hubl-index-select-community')
template
solid-link.segment.full.sm-three-quarter.button.text-xsmall.text-bold.text-uppercase.color-secondary.bordered.padding-bottom.xlarge.padding-top.xlarge.margin-top-xsmall.community-button.community-button-flex-container(
next='join-community'
data-src='${src}'
)
solid-display(
data-src='${src}'
fields='logo, name'
widget-logo='hubl-index-community-logo'
widget-name='hubl-index-community-text'
)
if endpoints.get.communities
div.loader#hubl-index-community-selector-loader
div
div
div
div
solid-display.community-flex-container(
data-src=`${endpoints.get.communities}`
fields='action'
action-action='action'
widget-action='hubl-index-select-community'
loader-id='hubl-index-community-selector-loader'
order-asc='name'
empty-widget='hubl-auto-login'
id='hubl-index-community-selector'
)
2021-02-17 17:40:12 +00:00
2021-02-17 18:22:22 +00:00
#join-community(data-view="join-community", hidden, no-render).segment.full.bg-color-secondary.text-center.index-community.loggedIn
2021-02-17 17:40:12 +00:00
.segment.half.sm-full.bg-color-white.text-center
.segment.half.sm-full
solid-widget(name="hubl-index-community-join-logo")
template
img(src="${value}" style="max-width:100%;max-height:100%;")
solid-display(
bind-resources
fields="logo"
widget-logo="hubl-index-community-join-logo"
class-logo='community-logo'
default-logo=clientLogo
)
solid-widget(name='hubl-input-type-password')
template
label ${label}
input(
type="password"
name="user.password"
required
data-holder
)
solid-widget(name='hubl-input-type-email')
template
label ${label}
input(
type="email"
name="user.email"
required
data-holder
)
solid-form.segment.full.padding-top-xlarge.padding-very-xxlarge.sm-padding-xsmall.sm-padding-top-medium.whitespace-normal.form(
bind-resources
nested-field='members'
fields='user.first_name, user.last_name, user.email, user.username, user.password'
label-user.first_name='Prénom*'
label-user.last_name='Nom*'
label-user.email='E-mail*'
label-user.password='Mot de passe*'
data-trans='label-user.password=communities.index.password;label-user.email=communities.index.email;label-user.last_name=communities.index.last_name;label-user.first_name=communities.index.first_name;submit-button=communities.index.formCreateAccount'
widget-user.first_name='solid-form-text-label'
widget-user.last_name='solid-form-text-label'
widget-user.email='hubl-input-type-email'
widget-user.password='hubl-input-type-password'
widget-user.username='solid-form-hidden'
class-user.first_name='segment margin-bottom-medium full padding-left-small sm-padding-none text-large text-left'
class-user.last_name='segment margin-bottom-medium full padding-left-small sm-padding-none text-large text-left'
class-user.email='segment margin-bottom-medium full padding-left-small sm-padding-none text-large text-left'
class-user.password='segment margin-bottom-medium full padding-left-small sm-padding-none text-large text-left'
required-user.first_name
required-user.last_name
required-user.email
required-user.password
pattern-user.first_name='.+'
pattern-user.last_name='.+'
value-user.username='generate-an-username'
submit-button=''
id='user-creation-form'
next='dashboard'
)
2021-02-17 18:22:22 +00:00
.loggedIn-loader.bg-color-grey(style='position:fixed;width:100%;height:100%;;z-index:999999;top:0;left:0;display:flex;align-items:center;justify-content:center;')
2021-02-17 17:40:12 +00:00
div
div.loader
div
div
div
div
div#something-goes-wrong(hidden)
br
span(data-trans="errors.somethingGoesWrong")
span &nbsp;
a(data-trans='errors.reload' href='/')
2021-01-29 13:44:06 +00:00
div(
id="swal-content-text"
hidden
data-trans="success")
2020-11-26 22:21:55 +00:00
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`)