hubl/src/index.pug

138 lines
7.1 KiB
Plaintext

doctype html
html(lang="en")
head
meta(charset="UTF-8")
title #{clientName || "My Personal Hubl"}
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)
body
if endpoints.get && endpoints.post
include views/partials/notifications.pug
include views/partials/widgets.pug
.wrapper
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`)