Skip to content
Snippets Groups Projects
menu-left.pug 9.49 KiB
solid-form-search.icon.children-icon-magnifier(
  id='general-search'
  class='segment block form menu-search'
  fields='name'
  search-name='circle.name, project.customer.name, project.name, contact.username, contact.name'
  order-asc-names='name'

  label-name='Rechercher'
  widget-name="solid-form-placeholder-text"

  submit-button=""
  submit-widget="button"
)
div.divider
solid-router#navbar-router(default-route='dashboard')
  for component of components
    if component.route
      if component.type == "about"
        solid-route(name=component.route, hidden)
      if component.type == "dashboard"
        solid-route.menu-tab.segment.full.padding-xsmall.text-semibold.text-color-white.heading-active.bg-color-heading.transparent-background.hover.active(name=component.route)
          div.segment.margin-right-xxsmall
            div.icon.icon-small.icon-home
          div.segment.text-uppercase.text-letter-spacing-large(data-trans=`${component.name?component.name:"menuLeft.dashboard"}`)
        div.divider
      if component.type == "circles"
        div.jsMenuTab
          div.menu-header.segment.full.padding-xsmall.text-semibold.text-color-white.bg-color-heading.transparent-background.hover.cursor-pointer.jsMenuHeader
            div.segment.margin-right-xxsmall.jsMenuArrow
              div.segment.icon.icon-small.icon-arrow-down
            div.segment.half.text-uppercase.text-letter-spacing-large(data-trans=`${component.name?component.name:"menuLeft.circles"}`)
            if componentSet.has("admin")
              div.menu-options.segment.jsMenuOption
                div.menu-icon.icon.icon-small.icon-options-vertical
              div.menu-admin.segment.bg-color-white.shadow.text-color-secondary.padding-xxsmall.whitespace-normal.hidden.jsMenuAdmin
                span.segment.full.one-line-ellipsis.padding-xxsmall.sm-padding-xsmall.lg-hidden(data-trans="menuLeft.closeMenu" onclick="this.parentElement.classList.toggle('hidden', true)")
                solid-link.segment.full.one-line-ellipsis.padding-xxsmall.sm-padding-xsmall(next=`admin-${component.route}` data-trans="menuLeft.circlesBrowse")
                solid-link.segment.full.one-line-ellipsis.padding-xxsmall.sm-padding-xsmall(next=`admin-${component.route}-create` data-trans="menuLeft.circleCreate")
            solid-badge.badge(data-type="Mention" data-rdf-type="hd:circle")
          solid-route(name=`admin-${component.route}` hidden)
          solid-route(name=`admin-${component.route}-create` hidden)
          solid-route(name=`admin-${component.route}-leave` hidden)
          solid-route(name=component.route rdf-type='hd:circle' use-id='' hidden)
          solid-route(name=`${component.route}-left` hidden)
          div.sub-menu.menu-notification.padding-bottom-xxsmall.jsMenuSub
            div.loader.loader-menu(id=`loader-${component.route}`)
              div
              div
              div
              div
            solid-display.ellipsis(
              bind-user
              nested-field='circles'
              fields='circle'
              loader-id=`loader-${component.route}`
              empty-widget='hubl-menu-empty'
              empty-value=''
              data-trans="empty-value=menuLeft.emptyCircleProject.circle"
              widget-circle='hubl-menu-fix-url-circle'
              order-asc="circle.name"
              filtered-by="general-search"
            )
        div.divider
      if component.type == "chat"
        div.jsMenuTab
          div.menu-header.segment.full.padding-xsmall.text-semibold.text-color-white.bg-color-heading.transparent-background.hover.cursor-pointer.jsMenuHeader
            div.segment.margin-right-xxsmall.jsMenuArrow
              div.segment.icon.icon-small.icon-arrow-down
            div.segment.half.text-uppercase.text-letter-spacing-large(data-trans=`${component.name?component.name:"menuLeft.messages"}`)
            if componentSet.has("profileDirectory")
              div.menu-options.segment.jsMenuOption
                solid-link.segment.block.menu-icon.icon.icon-small.icon-user-follow(next=getRoute('profileDirectory', true))
            solid-badge.badge(data-type="Message")
          solid-route(name=`admin-${component.route}`, hidden)
          solid-route(name=component.route, rdf-type='foaf:user', use-id='', hidden)
          div.sub-menu.menu-notification.padding-bottom-xxsmall.jsMenuSub
            div.loader.loader-menu(id=`loader-${component.route}`)
              div
              div
              div
              div
            solid-display.sub-menu__contacts.segment.full.children-full.whitespace-normal(
              bind-user
              nested-field='contacts'
              fields='contact, @id'
              loader-id=`loader-${component.route}`
              empty-widget='hubl-menu-empty'
              widget-contact='hubl-menu-fix-url-contact'
              widget-id='hubl-menu-contact-removed'
              filtered-by="general-search"
              order-asc="contact.username"
            )
      if component.type == "projects"
        div.jsMenuTab
          div.menu-header.segment.full.padding-xsmall.text-semibold.text-color-white.heading-active.bg-color-heading.transparent-background.hover.active.cursor-pointer.jsMenuHeader
            div.segment.margin-right-xxsmall.jsMenuArrow
              div.segment.icon.icon-small.icon-arrow-down
            div.segment.half.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.projects")
            if componentSet.has("admin")
              div.menu-options.segment.jsMenuOption
                div.menu-icon.icon.icon-small.icon-options-vertical
              div.menu-admin.segment.bg-color-white.shadow.text-color-secondary.padding-xxsmall.whitespace-normal.hidden.jsMenuAdmin
                span.segment.full.one-line-ellipsis.padding-xxsmall.sm-padding-xsmall.lg-hidden(data-trans="menuLeft.closeMenu" onclick="this.parentElement.classList.toggle('hidden', true)")
                solid-link.segment.full.one-line-ellipsis.padding-xxsmall.sm-padding-xsmall(next=`admin-${component.route}` data-trans="menuLeft.projectsBrowse")
                solid-link.segment.full.one-line-ellipsis.padding-xxsmall.sm-padding-xsmall(next=`admin-${component.route}-create` data-trans="menuLeft.projectCreate")
            solid-badge.badge(data-type="Mention" data-rdf-type="hd:project")
          solid-route(name=`admin-${component.route}`, hidden)
          solid-route(name=`admin-${component.route}-create`, hidden)
          solid-route(name=component.route, rdf-type='hd:project', use-id='', hidden)
          solid-route(name=`${component.route}-left`, hidden)
          div.sub-menu.menu-notification.padding-bottom-xxsmall.jsMenuSub
            div.loader.loader-menu(id=`loader-${component.route}`)
              div
              div
              div
              div
            solid-display.ellipsis(
              bind-user
              nested-field='projects'
              fields='project'
              loader-id=`loader-${component.route}`
              empty-widget='hubl-menu-empty'
              data-trans="empty-value=menuLeft.emptyCircleProject.project"
              widget-project='hubl-menu-fix-url-project'
              filtered-by="general-search"
              order-asc="project.customer.name"

            )
        div.divider
      if component.type == "profileDirectory"
        solid-route.menu-tab.segment.full.padding-xsmall.text-semibold.text-color-white.heading-active.bg-color-heading.transparent-background.hover.active(name=component.route)
          div.segment.margin-right-xxsmall
            div.icon.icon-small.icon-people
          div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.profileDirectory")
        solid-route.menu(name=`${component.route}-profile`, hidden)
        div.divider
      if component.type == "jobBoard"
        solid-route.menu-tab.segment.full.padding-xsmall.text-semibold.text-color-white.heading-active.bg-color-heading.transparent-background.hover.active(name=component.route, rdf-type='hd:joboffer')
          div.segment.margin-right-xxsmall
            div.segment.icon.icon-small.icon-briefcase
          div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.jobBoard")
        div.divider
      if component.type == "resources"
        solid-route.menu-tab.segment.full.padding-xsmall.text-semibold.text-color-white.heading-active.bg-color-heading.transparent-background.hover.active(name=component.route)
          div.segment.margin-right-xxsmall
            div.segment.icon.icon-small.icon-docs
          div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.resources")
        div.divider
      if component.type == "polls"
        solid-route.menu-tab.segment.full.padding-xsmall.text-semibold.text-color-white.heading-active.bg-color-heading.transparent-background.hover.active(name=component.route)
          div.segment.margin-right-xxsmall
            div.segment.icon.icon-small.icon-bubbles
          div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.gov")
        div.divider
      if component.type == "events"
        solid-route.menu-tab.segment.full.padding-xsmall.text-semibold.text-color-white.heading-active.bg-color-heading.transparent-background.hover.active(name=component.route)
          div.segment.margin-right-xxsmall
            div.segment.icon.icon-small.icon-calendar
          div.segment.text-uppercase.text-letter-spacing-large(data-trans="menuLeft.events")
        div.divider
  if componentSet.has('registering')
    solid-route(name='join-community', use-id, hidden)
    solid-route(name='login', hidden)