ui: Makefile for test-paris & test-nantes

This commit is contained in:
Jean-Baptiste Pasquier 2019-05-21 19:53:44 +02:00
parent c343d5df59
commit 42c41bbba3
No known key found for this signature in database
GPG Key ID: F2702E6D22ED4D62
6 changed files with 969 additions and 46 deletions

View File

@ -23,19 +23,26 @@ $(DIST_DIR)/index.html: src/index.pug src/config.json $(wildcard src/*.pug src/*
@export ENV="dev"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -O src/config.json || touch $@
# pug (prod)
$(DIST_DIR)/index.prod.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
# pug (alpha)
$(DIST_DIR)/index.alpha.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
@echo pug: $< ➜ $@
@export ENV="prod"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E prod.html -O src/config.json || touch $@
@export ENV="alpha"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E alpha.html -O src/config.json || touch $@
# pug (staging)
$(DIST_DIR)/index.staging.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
# pug (paris)
$(DIST_DIR)/index.paris.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
@echo pug: $< ➜ $@
@export ENV="staging"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E staging.html -O src/config.json || touch $@
@export ENV="paris"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E paris.html -O src/config.json || touch $@
# pug (nantes)
$(DIST_DIR)/index.nantes.html: src/index.pug src/config.json $(wildcard src/*.pug src/*/*.pug)
@echo pug: $< ➜ $@
@export ENV="nantes"; \
node_modules/.bin/pug --pretty $< --out $(dir $@) -E nantes.html -O src/config.json || touch $@
# sass
$(DIST_DIR)/styles/index.css: src/styles/_index.scss $(wildcard src/*.scss src/*/*.scss src/*/*/*.scss src/*/*/*/*.scss)
@ -48,20 +55,32 @@ $(DIST_DIR)/%.js: src/%.js .babelrc
@mkdir -p $(dir $@)
@node_modules/.bin/babel $< --out-file $@ --source-maps || touch $@
buildstaging: build
$(MAKE) $(DIST_DIR)/index.staging.html
buildparis: build
$(MAKE) $(DIST_DIR)/index.paris.html
buildprod: build
$(MAKE) $(DIST_DIR)/index.prod.html
syncparis: buildparis
rsync -rv --exclude '*.html' www/* test-paris@ssh-test-paris.happy-dev.fr:~/www/
rsync --no-R --no-implied-dirs www/index.paris.html test-paris@ssh-test-paris.happy-dev.fr:~/www/index.html
rsync -v www/.htaccess test-paris@ssh-test-paris.happy-dev.fr:~/www/
sync: buildstaging
rsync -rv www/* staging-app@ssh-staging-app.happy-dev.fr:~/staging-app.happy-dev.fr/ --exclude=www/index.html --exclude=www/index.prod.html --exclude=www/index.staging.html
rsync --no-R --no-implied-dirs www/index.staging.html staging-app@ssh-staging-app.happy-dev.fr:~/staging-app.happy-dev.fr/index.html
rsync -v www/.htaccess staging-app@ssh-staging-app.happy-dev.fr:~/staging-app.happy-dev.fr/
buildnantes: build
$(MAKE) $(DIST_DIR)/index.nantes.html
syncprod: buildprod
rsync -rv www/* alpha@ssh-alpha.happy-dev.fr:~/www/ --exclude=www/index.html --exclude=www/index.prod.html --exclude=www/index.staging.html
rsync --no-R --no-implied-dirs www/index.prod.html alpha@ssh-alpha.happy-dev.fr:~/www/index.html
syncnantes: buildnantes
rsync -rv --exclude '*.html' www/* test-nantes@ssh-test-nantes.happy-dev.fr:~/www/
rsync --no-R --no-implied-dirs www/index.nantes.html test-nantes@ssh-test-nantes.happy-dev.fr:~/www/index.html
rsync -v www/.htaccess test-nantes@ssh-test-nantes.happy-dev.fr:~/www/
buildalpha: build
$(MAKE) $(DIST_DIR)/index.alpha.html
syncalpha: buildalpha
rsync -rv --exclude '*.html' www/* alpha@ssh-alpha.happy-dev.fr:~/www/
rsync --no-R --no-implied-dirs www/index.alpha.html alpha@ssh-alpha.happy-dev.fr:~/www/index.html
rsync -v www/.htaccess alpha@ssh-alpha.happy-dev.fr:~/www/
.PHONY: default build watch sync syncprod buildstaging buildprod
sync: syncnantes syncparis
syncprod: syncalpha
.PHONY: default build watch sync syncprod

299
index.prod.html Normal file
View File

@ -0,0 +1,299 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HD App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="icon" type="image/png" href="/images/favicon.png">
<script type="module" src="https://unpkg.com/@startinblox/oidc@0.6.0"></script>
<script src="/scripts/index.js"></script>
<link rel="stylesheet" href="/styles/index.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700&amp;amp;subset=latin-ext">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i">
<script type="module" src="https://unpkg.com/@startinblox/core@0.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/router@0.7.2"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-chat@0.1.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1.12"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-conversation@0.2.1"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-directory@0.1.16"></script>
</head>
<body>
<header id="header" role="banner">
<div id="logo">
<sib-link next="members"><img src="/images/logo.png" width="111" height="32"></sib-link>
</div>
<sib-notifications id-suffix="inbox" bind-user></sib-notifications>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<details id="user-controls">
<summary tabindex="0" role="button">
<sib-display id="user-controls__profile" data-fields="first_name, account.picture" widget-account.picture="hd-user-avatar" bind-user></sib-display>
</summary>
</details>
<button role="log in" onclick="document.querySelector('sib-auth').login();">Login</button>
<sib-auth>
<sib-auth-provider class="sib-auth-provider" data-authority="https://api.test-nantes.happy-dev.fr/openid/" data-client_id="621272" data-id="paris" data-response_type="id_token token" data-scope="openid profile email" data-automaticSilentRenew="true" data-loadUserInfo="true"></sib-auth-provider>
</sib-auth>
</header>
<main>
<nav id="main__menu">
<sib-router id="navbar-router" default-route="members">
<sib-route class="menu" name="members">
<div class="menu-label">Members</div>
<div class="menu-icon icon-people"></div>
</sib-route>
<div class="divider"></div>
<sib-route class="menu" name="job-offers" rdf-type="hd:joboffer">
<div class="menu-label">Job offers</div>
<div class="menu-icon icon-briefcase"></div>
</sib-route>
<sib-route hidden name="job-offer-create"></sib-route>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Projects</div>
<div class="menu-icon icon-folder-alt"></div>
</div>
<sib-route hidden name="project" id-prefix="https://api.test-nantes.happy-dev.fr/projects/" rdf-type="hd:project" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-nantes.happy-dev.fr/projects/" data-fields="project" set-project="customer.name, dash, name" value-dash=" - " next="project"></sib-display>
</div>
</div>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Chat</div>
<div class="menu-icon icon-envelope-letter"></div>
</div>
<sib-route hidden name="member-chat" id-prefix="https://api.test-nantes.happy-dev.fr/members/" rdf-type="foaf:user" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-nantes.happy-dev.fr/members/" data-fields="user.username" widget-user.username="sib-display-div" next="member-chat"></sib-display>
</div>
</div>
<div class="divider"></div>
</sib-router>
</nav>
<div id="viewport">
<div class="no-sidebar" id="members" hidden>
<sib-directory data-src="https://api.test-nantes.happy-dev.fr/members/" range-groups="https://api.test-nantes.happy-dev.fr/groups/" range-skills="https://api.test-nantes.happy-dev.fr/skills/"></sib-directory>
</div>
<div class="no-sidebar" id="job-offers" hidden>
<div class="job-offers__main">
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="groups-name">
<template>${value.name}</template>
</sib-widget>
<sib-widget name="skills-name">
<template>
<li class="skill">${value.name}</li>
</template>
</sib-widget>
<sib-widget name="joboffers-filter">
<template>
<select>
<option name="Offers" disabled>Offers</option>
<option selected name="Current offers">Current offers</option>
<option name="Expired offers">Expired offers</option>
<option name="All offers">All offers</option>
<option name="My offers">Only my offers</option>
</select>
</template>
</sib-widget>
<sib-widget name="hd-contact-author">
<template>
<sib-link next="member-chat" data-src="${value.profile['@id']}">Send a message</sib-link>
</template>
</sib-widget>
<div class="job-offers__content">
<h1>New offers<span>Here you can find and post offers</span></h1>
<sib-display id="offers-list" data-src="https://api.test-nantes.happy-dev.fr/job-offers/" data-fields="user-thumb, creationDate, title, description, skills, author" set-user-thumb="author.account.picture, author.first_name, author.groups" widget-author.account.picture="hd-user-avatar" widget-author.groups="groups-name" multiple-author.groups widget-skills="skills-name" multiple-skills widget-author="hd-contact-author" search-range-skills="https://api.test-nantes.happy-dev.fr/skills/" search-fields="content, open, skills" set-content="title, description" search-label-content="Search by keyword" search-label-skills="Search by skills" search-widget-content="sib-form-placeholder-text" search-widget-skills="sib-form-placeholder-dropdown" search-widget-open="joboffers-filter"></sib-display>
</div>
<div class="job-offers__newoffer">
<template id="groups-list-template">
<p>${value}</p>
</template>
<sib-link class="plus-button" next="job-offer-create">
<div class="icon-plus"></div>
<div>Post a new offer</div>
</sib-link>
</div>
</div>
</div>
<div class="no-sidebar" id="job-offer-create" hidden>
<sib-link class="backlink" next="job-offers">Back</sib-link>
<div class="content-box with-form">
<h1>Post a new job offer</h1>
<p class="center">This form allows you to share an offer to all members of the network.</p>
<sib-widget name="title-text">
<template>
<p>Be clear and specific with the name of your offer. You can indicate which skill is important, the start date or the name of the client. Ex: "Looking for a plumber for planet Mars ASAP".</p>
</template>
</sib-widget>
<sib-widget name="description-text">
<template>
<p>Be specific and exhaustive to avoid answering too many questions later. Indicate what is the best way to fill the offer, the prerequisites...'</p>
</template>
</sib-widget>
<sib-form class="block" data-src="https://api.test-nantes.happy-dev.fr/job-offers/" range-skills="https://api.test-nantes.happy-dev.fr/skills/" data-fields="title, title-text, description, description-text, skills" label-title="Title*" widget-title-text="title-text" label-description="Description*" widget-description-text="description-text" label-skills="The required skills for this mission:*" multiple-skills="sib-multiple-select" widget-skills="sib-form-auto-completion" next="job-offers"></sib-form>
</div>
</div>
<div class="with-sidebar" id="project" hidden>
<div class="views-container">
<div id="project-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="project-profile">
<div class="content-box full-width">
<sib-widget name="template-business-provider">
<template>
<ul>
<li><span>Happy Dev Paris:</span> 5%</li>
<li><span>Business provider:</span> ${value.name}, ${value.fee ? value.fee:0}%</li>
</ul>
</template>
</sib-widget>
<sib-widget name="customer-template">
<template>
<div id="clientBox">
<div>
<h5>Client:</h5>
<ul>
<li><span>Business name:</span>${value.name}</li>
<li><span>Company register:</span>${value.companyRegister}</li>
<li><span>Address:</span><br>
<p>${value.address}</p>
</li>
</ul>
</div>
<div>
<h5>Contact:</h5>
<ul>
<li class="mdi-account-outline"><span>${value.firstName} ${value.lastName}</span>, ${value.role}</li>
<li class="mdi-email-outline"><a href="mailto:${value.email}">${value.email}</a></li>
<li class="mdi-cellphone-iphone">${value.phone}</li>
</ul>
</div>
</div>
</template>
</sib-widget>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="team-template">
<template>
<sib-display data-src="${value.user['@id']}" data-fields="account.picture" widget-account.picture="hd-user-avatar"></sib-display>
<div name="user.thumb"><span>${value.user.name}</span>
<sib-display data-src="${value.user.groups['@id']}" data-fields="name" multiple-name></sib-display>
</div><span>${value.name}</span>
</template>
</sib-widget>
<sib-display data-fields="block-title, infos, block-lead, block-fee, block-customer, block-team" set-block-title="const-title1, number, customer.name, const-title2, name, entitled, creationDate" value-const-title1="N°" value-const-title2="-" value-entitled="Creation date:" set-infos="block-description, block-logo" set-block-description="label-description, description" set-block-logo="customer.logo" value-label-description="DESCRIPTION:" widget-customer.logo="sib-display-img" set-block-fee="label-fee, businessProvider" value-label-fee="FEE:" widget-businessProvider="template-business-provider" set-block-customer="label-customer, customer" value-label-customer="CUSTOMER INFORMATIONS:" widget-customer="customer-template" set-block-team="label-team, members" value-label-team="TEAM:" widget-members="team-template" multiple-members="" bind-resources></sib-display>
</div>
</div>
<div id="project-edit">
<div class="content-box with-form full-width">
<h1>Edit your project</h1>
<p>Here you can edit your projet's details</p>
<sib-widget name="hd-template-project-title">
<template><span>${label}</span></template>
</sib-widget>
<sib-widget name="template-members">
<template>
<sib-form class="team is-horizontal" naked data-src="${id}" data-fields="user.name, name" range-user.name="https://api.test-nantes.happy-dev.fr/users/" class-name="field" class-user.name="field" label-name="Role" label-user.name="Member(s)"></sib-form>
</template>
</sib-widget>
<sib-form class="block" data-fields="block-project__info, block-project__fee, block-project__customer, block-project__team" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProvider.fee" range-businessProvider="https://api.test-nantes.happy-dev.fr/businessproviders/" label-businessProvider="Business provider" label-businessProvider.fee="Amount of the contribution (%)" widget-fieldset-fee="hd-template-project-title" widget-businessProvider.fee="sib-form-number" label-fieldset-fee="Fee" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" label-customer.companyRegister="Company registration number" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone" widget-fieldset-customer="hd-template-project-title" label-fieldset-customer="Customer information" set-block-project__team="fieldset-team, members" label-fieldset-team="The team" widget-fieldset-team="hd-template-project-title" widget-members="template-members" multiple-members bind-resources></sib-form>
</div>
</div>
<div id="project-create">
<div class="content-box with-form full-width">
<h1>New project</h1>
<p>Here you can create your project, add members and assign them a job.</p>
<sib-form class="block" data-src="https://api.test-nantes.happy-dev.fr/projects/" range-members="https://api.test-nantes.happy-dev.fr/members/" range-team="https://api.test-nantes.happy-dev.fr/users/" data-fields="block-project__info, block-project__fee, block-project__customer" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProviderFee" widget-fieldset-fee="hd-template-project-title" label-businessProvider="Business provider" label-businessProviderFee="Amount of the contribution" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" widget-fieldset-customer="hd-template-project-title" label-customer.companyRegister="Company register" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="project-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="project-chat" use-id>
<li> <a>Chat</a></li>
</sib-route>
<sib-route name="project-profile" use-id>
<li> <a>Information</a></li>
</sib-route>
<sib-route name="project-edit" use-id></sib-route>
<sib-route name="project-create" use-id></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="circle" hidden>
<div class="views-container">
<div id="circle-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="circle-profile">
<div class="content-box full-width">
<h2>Channel's name:</h2>
<sib-display data-fields="name" bind-resources></sib-display>
<h2>Description:</h2>
<sib-display data-fields="description" bind-resources></sib-display>
<h2>In group:</h2>
<sib-display class="block-group" id-suffix="team" data-fields="teammate-img, teammate-name, teammate-pseudonym, teammate-profile, teammate-contact" set-teammate-img="account.picture" set-teammate-pseudonym="before-pseudo, username" set-teammate-name="name" template-teammate-contact="chat-link" value-before-pseudo="@" value-teammate-contact="Send a message" value-teammate-profile="View profile" widget-account.picture="sib-display-img" next="member" bind-resources></sib-display>
</div>
</div>
<div id="circle-edit">
<div class="content-box with-form full-width" id="circle-edit">
<h1>Edit group</h1>
<sib-form class="block" range-owner="https://api.test-nantes.happy-dev.fr/members/" data-fields="name, description, owner, team, jabberID, jabberRoom" range-team="https://api.test-nantes.happy-dev.fr/members/" widget-team="sib-form-multiple-dropdown" bind-resources></sib-form>
</div>
</div>
<div id="circle-create">
<div class="content-box with-form full-width">
<h1>New group</h1>
<p>Here you can create a new group according to your interests, what you want to share, etc.</p>
<sib-form data-src="https://api.test-nantes.happy-dev.fr/circles/" range-owner="https://api.test-nantes.happy-dev.fr/users/" range-team="https://api.test-nantes.happy-dev.fr/members/" data-fields="name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID" label-name="Channel's name" label-description="Description" label-owner="Owner of this channel" label-foaf:jabberID="Chatroom id" label-team="Member(s) of this channel" value-description-text="You can write a short description like &quot;Here, we are like Pinky and the Brain, we talk about strategy to conquer the world&quot;." value-owner-text="The one who will admin this channel" value-team-text="Add any members as you want." widget-description="sib-form-textarea" widget-jabberRoom="sib-form-checkbox" widget-team="sib-form-multiple-dropdown"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="circle-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="circle-chat">
<li><a>Chat</a></li>
</sib-route>
<sib-route name="circle-profile">
<li><a>Information</a></li>
</sib-route>
<sib-route name="circle-edit"></sib-route>
<sib-route name="circle-create"></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="member-chat" hidden>
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
</div>
</main>
</body>
</html>

View File

@ -3,20 +3,27 @@
"sdn": "http://127.0.0.1:8000",
"cdn": "https://cdn.happy-dev.fr",
"xmpp": "https://jabber.happy-dev.fr/http-bind/",
"client_id": "833925"
"client_id": "000000"
},
"staging": {
"sdn": "http://test-paris.happy-dev.fr",
"cdn": "https://cdn.happy-dev.fr",
"xmpp": "https://jabber.happy-dev.fr/http-bind/",
"client_id": "833925"
},
"prod": {
"alpha": {
"sdn": "https://api.alpha.happy-dev.fr",
"cdn": "https://cdn.happy-dev.fr",
"xmpp": "https://jabber.happy-dev.fr/http-bind/",
"client_id": "833925"
"client_id": "218707"
},
"paris": {
"sdn": "https://api.test-paris.happy-dev.fr",
"cdn": "https://cdn.happy-dev.fr",
"xmpp": "https://jabber.happy-dev.fr/http-bind/",
"client_id": "196656"
},
"nantes": {
"sdn": "https://api.test-nantes.happy-dev.fr",
"cdn": "https://cdn.happy-dev.fr",
"xmpp": "https://jabber.happy-dev.fr/http-bind/",
"client_id": "621272"
}
}

View File

@ -24,21 +24,21 @@ nav#main__menu
value-dash=' - ',
next='project'
)
div.divider
div.menu-wrapper
div.menu
div.menu-chevron
div.menu-icon.icon-arrow-up
div.menu-label Cercles
div.menu-icon.icon-globe
sib-route(hidden, name='circle', id-prefix=`${sdn}/circles/`, rdf-type='hd:circle')
div.sub-menu
sib-display(
data-src=`${sdn}/circles/`,
data-fields='name',
widget-name='sib-display-div',
next='circle'
)
//- div.divider
//- div.menu-wrapper
//- div.menu
//- div.menu-chevron
//- div.menu-icon.icon-arrow-up
//- div.menu-label Cercles
//- div.menu-icon.icon-globe
//- sib-route(hidden, name='circle', id-prefix=`${sdn}/circles/`, rdf-type='hd:circle')
//- div.sub-menu
//- sib-display(
//- data-src=`${sdn}/circles/`,
//- data-fields='name',
//- widget-name='sib-display-div',
//- next='circle'
//- )
div.divider
div.menu-wrapper
div.menu

299
www/index.nantes.html Normal file
View File

@ -0,0 +1,299 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HD App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="icon" type="image/png" href="/images/favicon.png">
<script type="module" src="https://unpkg.com/@startinblox/oidc@0.6.0"></script>
<script src="/scripts/index.js"></script>
<link rel="stylesheet" href="/styles/index.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700&amp;amp;subset=latin-ext">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i">
<script type="module" src="https://unpkg.com/@startinblox/core@0.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/router@0.7.2"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-chat@0.1.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1.12"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-conversation@0.2.1"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-directory@0.1.16"></script>
</head>
<body>
<header id="header" role="banner">
<div id="logo">
<sib-link next="members"><img src="/images/logo.png" width="111" height="32"></sib-link>
</div>
<sib-notifications id-suffix="inbox" bind-user></sib-notifications>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<details id="user-controls">
<summary tabindex="0" role="button">
<sib-display id="user-controls__profile" data-fields="first_name, account.picture" widget-account.picture="hd-user-avatar" bind-user></sib-display>
</summary>
</details>
<button role="log in" onclick="document.querySelector('sib-auth').login();">Login</button>
<sib-auth>
<sib-auth-provider class="sib-auth-provider" data-authority="https://api.test-nantes.happy-dev.fr/openid/" data-client_id="621272" data-id="paris" data-response_type="id_token token" data-scope="openid profile email" data-automaticSilentRenew="true" data-loadUserInfo="true"></sib-auth-provider>
</sib-auth>
</header>
<main>
<nav id="main__menu">
<sib-router id="navbar-router" default-route="members">
<sib-route class="menu" name="members">
<div class="menu-label">Members</div>
<div class="menu-icon icon-people"></div>
</sib-route>
<div class="divider"></div>
<sib-route class="menu" name="job-offers" rdf-type="hd:joboffer">
<div class="menu-label">Job offers</div>
<div class="menu-icon icon-briefcase"></div>
</sib-route>
<sib-route hidden name="job-offer-create"></sib-route>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Projects</div>
<div class="menu-icon icon-folder-alt"></div>
</div>
<sib-route hidden name="project" id-prefix="https://api.test-nantes.happy-dev.fr/projects/" rdf-type="hd:project" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-nantes.happy-dev.fr/projects/" data-fields="project" set-project="customer.name, dash, name" value-dash=" - " next="project"></sib-display>
</div>
</div>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Chat</div>
<div class="menu-icon icon-envelope-letter"></div>
</div>
<sib-route hidden name="member-chat" id-prefix="https://api.test-nantes.happy-dev.fr/members/" rdf-type="foaf:user" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-nantes.happy-dev.fr/members/" data-fields="user.username" widget-user.username="sib-display-div" next="member-chat"></sib-display>
</div>
</div>
<div class="divider"></div>
</sib-router>
</nav>
<div id="viewport">
<div class="no-sidebar" id="members" hidden>
<sib-directory data-src="https://api.test-nantes.happy-dev.fr/members/" range-groups="https://api.test-nantes.happy-dev.fr/groups/" range-skills="https://api.test-nantes.happy-dev.fr/skills/"></sib-directory>
</div>
<div class="no-sidebar" id="job-offers" hidden>
<div class="job-offers__main">
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="groups-name">
<template>${value.name}</template>
</sib-widget>
<sib-widget name="skills-name">
<template>
<li class="skill">${value.name}</li>
</template>
</sib-widget>
<sib-widget name="joboffers-filter">
<template>
<select>
<option name="Offers" disabled>Offers</option>
<option selected name="Current offers">Current offers</option>
<option name="Expired offers">Expired offers</option>
<option name="All offers">All offers</option>
<option name="My offers">Only my offers</option>
</select>
</template>
</sib-widget>
<sib-widget name="hd-contact-author">
<template>
<sib-link next="member-chat" data-src="${value.profile['@id']}">Send a message</sib-link>
</template>
</sib-widget>
<div class="job-offers__content">
<h1>New offers<span>Here you can find and post offers</span></h1>
<sib-display id="offers-list" data-src="https://api.test-nantes.happy-dev.fr/job-offers/" data-fields="user-thumb, creationDate, title, description, skills, author" set-user-thumb="author.account.picture, author.first_name, author.groups" widget-author.account.picture="hd-user-avatar" widget-author.groups="groups-name" multiple-author.groups widget-skills="skills-name" multiple-skills widget-author="hd-contact-author" search-range-skills="https://api.test-nantes.happy-dev.fr/skills/" search-fields="content, open, skills" set-content="title, description" search-label-content="Search by keyword" search-label-skills="Search by skills" search-widget-content="sib-form-placeholder-text" search-widget-skills="sib-form-placeholder-dropdown" search-widget-open="joboffers-filter"></sib-display>
</div>
<div class="job-offers__newoffer">
<template id="groups-list-template">
<p>${value}</p>
</template>
<sib-link class="plus-button" next="job-offer-create">
<div class="icon-plus"></div>
<div>Post a new offer</div>
</sib-link>
</div>
</div>
</div>
<div class="no-sidebar" id="job-offer-create" hidden>
<sib-link class="backlink" next="job-offers">Back</sib-link>
<div class="content-box with-form">
<h1>Post a new job offer</h1>
<p class="center">This form allows you to share an offer to all members of the network.</p>
<sib-widget name="title-text">
<template>
<p>Be clear and specific with the name of your offer. You can indicate which skill is important, the start date or the name of the client. Ex: "Looking for a plumber for planet Mars ASAP".</p>
</template>
</sib-widget>
<sib-widget name="description-text">
<template>
<p>Be specific and exhaustive to avoid answering too many questions later. Indicate what is the best way to fill the offer, the prerequisites...'</p>
</template>
</sib-widget>
<sib-form class="block" data-src="https://api.test-nantes.happy-dev.fr/job-offers/" range-skills="https://api.test-nantes.happy-dev.fr/skills/" data-fields="title, title-text, description, description-text, skills" label-title="Title*" widget-title-text="title-text" label-description="Description*" widget-description-text="description-text" label-skills="The required skills for this mission:*" multiple-skills="sib-multiple-select" widget-skills="sib-form-auto-completion" next="job-offers"></sib-form>
</div>
</div>
<div class="with-sidebar" id="project" hidden>
<div class="views-container">
<div id="project-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="project-profile">
<div class="content-box full-width">
<sib-widget name="template-business-provider">
<template>
<ul>
<li><span>Happy Dev Paris:</span> 5%</li>
<li><span>Business provider:</span> ${value.name}, ${value.fee ? value.fee:0}%</li>
</ul>
</template>
</sib-widget>
<sib-widget name="customer-template">
<template>
<div id="clientBox">
<div>
<h5>Client:</h5>
<ul>
<li><span>Business name:</span>${value.name}</li>
<li><span>Company register:</span>${value.companyRegister}</li>
<li><span>Address:</span><br>
<p>${value.address}</p>
</li>
</ul>
</div>
<div>
<h5>Contact:</h5>
<ul>
<li class="mdi-account-outline"><span>${value.firstName} ${value.lastName}</span>, ${value.role}</li>
<li class="mdi-email-outline"><a href="mailto:${value.email}">${value.email}</a></li>
<li class="mdi-cellphone-iphone">${value.phone}</li>
</ul>
</div>
</div>
</template>
</sib-widget>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="team-template">
<template>
<sib-display data-src="${value.user['@id']}" data-fields="account.picture" widget-account.picture="hd-user-avatar"></sib-display>
<div name="user.thumb"><span>${value.user.name}</span>
<sib-display data-src="${value.user.groups['@id']}" data-fields="name" multiple-name></sib-display>
</div><span>${value.name}</span>
</template>
</sib-widget>
<sib-display data-fields="block-title, infos, block-lead, block-fee, block-customer, block-team" set-block-title="const-title1, number, customer.name, const-title2, name, entitled, creationDate" value-const-title1="N°" value-const-title2="-" value-entitled="Creation date:" set-infos="block-description, block-logo" set-block-description="label-description, description" set-block-logo="customer.logo" value-label-description="DESCRIPTION:" widget-customer.logo="sib-display-img" set-block-fee="label-fee, businessProvider" value-label-fee="FEE:" widget-businessProvider="template-business-provider" set-block-customer="label-customer, customer" value-label-customer="CUSTOMER INFORMATIONS:" widget-customer="customer-template" set-block-team="label-team, members" value-label-team="TEAM:" widget-members="team-template" multiple-members="" bind-resources></sib-display>
</div>
</div>
<div id="project-edit">
<div class="content-box with-form full-width">
<h1>Edit your project</h1>
<p>Here you can edit your projet's details</p>
<sib-widget name="hd-template-project-title">
<template><span>${label}</span></template>
</sib-widget>
<sib-widget name="template-members">
<template>
<sib-form class="team is-horizontal" naked data-src="${id}" data-fields="user.name, name" range-user.name="https://api.test-nantes.happy-dev.fr/users/" class-name="field" class-user.name="field" label-name="Role" label-user.name="Member(s)"></sib-form>
</template>
</sib-widget>
<sib-form class="block" data-fields="block-project__info, block-project__fee, block-project__customer, block-project__team" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProvider.fee" range-businessProvider="https://api.test-nantes.happy-dev.fr/businessproviders/" label-businessProvider="Business provider" label-businessProvider.fee="Amount of the contribution (%)" widget-fieldset-fee="hd-template-project-title" widget-businessProvider.fee="sib-form-number" label-fieldset-fee="Fee" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" label-customer.companyRegister="Company registration number" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone" widget-fieldset-customer="hd-template-project-title" label-fieldset-customer="Customer information" set-block-project__team="fieldset-team, members" label-fieldset-team="The team" widget-fieldset-team="hd-template-project-title" widget-members="template-members" multiple-members bind-resources></sib-form>
</div>
</div>
<div id="project-create">
<div class="content-box with-form full-width">
<h1>New project</h1>
<p>Here you can create your project, add members and assign them a job.</p>
<sib-form class="block" data-src="https://api.test-nantes.happy-dev.fr/projects/" range-members="https://api.test-nantes.happy-dev.fr/members/" range-team="https://api.test-nantes.happy-dev.fr/users/" data-fields="block-project__info, block-project__fee, block-project__customer" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProviderFee" widget-fieldset-fee="hd-template-project-title" label-businessProvider="Business provider" label-businessProviderFee="Amount of the contribution" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" widget-fieldset-customer="hd-template-project-title" label-customer.companyRegister="Company register" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="project-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="project-chat" use-id>
<li> <a>Chat</a></li>
</sib-route>
<sib-route name="project-profile" use-id>
<li> <a>Information</a></li>
</sib-route>
<sib-route name="project-edit" use-id></sib-route>
<sib-route name="project-create" use-id></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="circle" hidden>
<div class="views-container">
<div id="circle-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="circle-profile">
<div class="content-box full-width">
<h2>Channel's name:</h2>
<sib-display data-fields="name" bind-resources></sib-display>
<h2>Description:</h2>
<sib-display data-fields="description" bind-resources></sib-display>
<h2>In group:</h2>
<sib-display class="block-group" id-suffix="team" data-fields="teammate-img, teammate-name, teammate-pseudonym, teammate-profile, teammate-contact" set-teammate-img="account.picture" set-teammate-pseudonym="before-pseudo, username" set-teammate-name="name" template-teammate-contact="chat-link" value-before-pseudo="@" value-teammate-contact="Send a message" value-teammate-profile="View profile" widget-account.picture="sib-display-img" next="member" bind-resources></sib-display>
</div>
</div>
<div id="circle-edit">
<div class="content-box with-form full-width" id="circle-edit">
<h1>Edit group</h1>
<sib-form class="block" range-owner="https://api.test-nantes.happy-dev.fr/members/" data-fields="name, description, owner, team, jabberID, jabberRoom" range-team="https://api.test-nantes.happy-dev.fr/members/" widget-team="sib-form-multiple-dropdown" bind-resources></sib-form>
</div>
</div>
<div id="circle-create">
<div class="content-box with-form full-width">
<h1>New group</h1>
<p>Here you can create a new group according to your interests, what you want to share, etc.</p>
<sib-form data-src="https://api.test-nantes.happy-dev.fr/circles/" range-owner="https://api.test-nantes.happy-dev.fr/users/" range-team="https://api.test-nantes.happy-dev.fr/members/" data-fields="name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID" label-name="Channel's name" label-description="Description" label-owner="Owner of this channel" label-foaf:jabberID="Chatroom id" label-team="Member(s) of this channel" value-description-text="You can write a short description like &quot;Here, we are like Pinky and the Brain, we talk about strategy to conquer the world&quot;." value-owner-text="The one who will admin this channel" value-team-text="Add any members as you want." widget-description="sib-form-textarea" widget-jabberRoom="sib-form-checkbox" widget-team="sib-form-multiple-dropdown"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="circle-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="circle-chat">
<li><a>Chat</a></li>
</sib-route>
<sib-route name="circle-profile">
<li><a>Information</a></li>
</sib-route>
<sib-route name="circle-edit"></sib-route>
<sib-route name="circle-create"></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="member-chat" hidden>
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
</div>
</main>
</body>
</html>

299
www/index.paris.html Normal file
View File

@ -0,0 +1,299 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HD App</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="icon" type="image/png" href="/images/favicon.png">
<script type="module" src="https://unpkg.com/@startinblox/oidc@0.6.0"></script>
<script src="/scripts/index.js"></script>
<link rel="stylesheet" href="/styles/index.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,400i,600,700&amp;amp;subset=latin-ext">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i">
<script type="module" src="https://unpkg.com/@startinblox/core@0.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/router@0.7.2"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-chat@0.1.7"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-notifications@0.1.12"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-conversation@0.2.1"></script>
<script type="module" src="https://unpkg.com/@startinblox/component-directory@0.1.16"></script>
</head>
<body>
<header id="header" role="banner">
<div id="logo">
<sib-link next="members"><img src="/images/logo.png" width="111" height="32"></sib-link>
</div>
<sib-notifications id-suffix="inbox" bind-user></sib-notifications>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<details id="user-controls">
<summary tabindex="0" role="button">
<sib-display id="user-controls__profile" data-fields="first_name, account.picture" widget-account.picture="hd-user-avatar" bind-user></sib-display>
</summary>
</details>
<button role="log in" onclick="document.querySelector('sib-auth').login();">Login</button>
<sib-auth>
<sib-auth-provider class="sib-auth-provider" data-authority="https://api.test-paris.happy-dev.fr/openid/" data-client_id="196656" data-id="paris" data-response_type="id_token token" data-scope="openid profile email" data-automaticSilentRenew="true" data-loadUserInfo="true"></sib-auth-provider>
</sib-auth>
</header>
<main>
<nav id="main__menu">
<sib-router id="navbar-router" default-route="members">
<sib-route class="menu" name="members">
<div class="menu-label">Members</div>
<div class="menu-icon icon-people"></div>
</sib-route>
<div class="divider"></div>
<sib-route class="menu" name="job-offers" rdf-type="hd:joboffer">
<div class="menu-label">Job offers</div>
<div class="menu-icon icon-briefcase"></div>
</sib-route>
<sib-route hidden name="job-offer-create"></sib-route>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Projects</div>
<div class="menu-icon icon-folder-alt"></div>
</div>
<sib-route hidden name="project" id-prefix="https://api.test-paris.happy-dev.fr/projects/" rdf-type="hd:project" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-paris.happy-dev.fr/projects/" data-fields="project" set-project="customer.name, dash, name" value-dash=" - " next="project"></sib-display>
</div>
</div>
<div class="divider"></div>
<div class="menu-wrapper">
<div class="menu">
<div class="menu-chevron">
<div class="menu-icon icon-arrow-up"></div>
</div>
<div class="menu-label">Chat</div>
<div class="menu-icon icon-envelope-letter"></div>
</div>
<sib-route hidden name="member-chat" id-prefix="https://api.test-paris.happy-dev.fr/members/" rdf-type="foaf:user" use-id=""></sib-route>
<div class="sub-menu">
<sib-display data-src="https://api.test-paris.happy-dev.fr/members/" data-fields="user.username" widget-user.username="sib-display-div" next="member-chat"></sib-display>
</div>
</div>
<div class="divider"></div>
</sib-router>
</nav>
<div id="viewport">
<div class="no-sidebar" id="members" hidden>
<sib-directory data-src="https://api.test-paris.happy-dev.fr/members/" range-groups="https://api.test-paris.happy-dev.fr/groups/" range-skills="https://api.test-paris.happy-dev.fr/skills/"></sib-directory>
</div>
<div class="no-sidebar" id="job-offers" hidden>
<div class="job-offers__main">
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="groups-name">
<template>${value.name}</template>
</sib-widget>
<sib-widget name="skills-name">
<template>
<li class="skill">${value.name}</li>
</template>
</sib-widget>
<sib-widget name="joboffers-filter">
<template>
<select>
<option name="Offers" disabled>Offers</option>
<option selected name="Current offers">Current offers</option>
<option name="Expired offers">Expired offers</option>
<option name="All offers">All offers</option>
<option name="My offers">Only my offers</option>
</select>
</template>
</sib-widget>
<sib-widget name="hd-contact-author">
<template>
<sib-link next="member-chat" data-src="${value.profile['@id']}">Send a message</sib-link>
</template>
</sib-widget>
<div class="job-offers__content">
<h1>New offers<span>Here you can find and post offers</span></h1>
<sib-display id="offers-list" data-src="https://api.test-paris.happy-dev.fr/job-offers/" data-fields="user-thumb, creationDate, title, description, skills, author" set-user-thumb="author.account.picture, author.first_name, author.groups" widget-author.account.picture="hd-user-avatar" widget-author.groups="groups-name" multiple-author.groups widget-skills="skills-name" multiple-skills widget-author="hd-contact-author" search-range-skills="https://api.test-paris.happy-dev.fr/skills/" search-fields="content, open, skills" set-content="title, description" search-label-content="Search by keyword" search-label-skills="Search by skills" search-widget-content="sib-form-placeholder-text" search-widget-skills="sib-form-placeholder-dropdown" search-widget-open="joboffers-filter"></sib-display>
</div>
<div class="job-offers__newoffer">
<template id="groups-list-template">
<p>${value}</p>
</template>
<sib-link class="plus-button" next="job-offer-create">
<div class="icon-plus"></div>
<div>Post a new offer</div>
</sib-link>
</div>
</div>
</div>
<div class="no-sidebar" id="job-offer-create" hidden>
<sib-link class="backlink" next="job-offers">Back</sib-link>
<div class="content-box with-form">
<h1>Post a new job offer</h1>
<p class="center">This form allows you to share an offer to all members of the network.</p>
<sib-widget name="title-text">
<template>
<p>Be clear and specific with the name of your offer. You can indicate which skill is important, the start date or the name of the client. Ex: "Looking for a plumber for planet Mars ASAP".</p>
</template>
</sib-widget>
<sib-widget name="description-text">
<template>
<p>Be specific and exhaustive to avoid answering too many questions later. Indicate what is the best way to fill the offer, the prerequisites...'</p>
</template>
</sib-widget>
<sib-form class="block" data-src="https://api.test-paris.happy-dev.fr/job-offers/" range-skills="https://api.test-paris.happy-dev.fr/skills/" data-fields="title, title-text, description, description-text, skills" label-title="Title*" widget-title-text="title-text" label-description="Description*" widget-description-text="description-text" label-skills="The required skills for this mission:*" multiple-skills="sib-multiple-select" widget-skills="sib-form-auto-completion" next="job-offers"></sib-form>
</div>
</div>
<div class="with-sidebar" id="project" hidden>
<div class="views-container">
<div id="project-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="project-profile">
<div class="content-box full-width">
<sib-widget name="template-business-provider">
<template>
<ul>
<li><span>Happy Dev Paris:</span> 5%</li>
<li><span>Business provider:</span> ${value.name}, ${value.fee ? value.fee:0}%</li>
</ul>
</template>
</sib-widget>
<sib-widget name="customer-template">
<template>
<div id="clientBox">
<div>
<h5>Client:</h5>
<ul>
<li><span>Business name:</span>${value.name}</li>
<li><span>Company register:</span>${value.companyRegister}</li>
<li><span>Address:</span><br>
<p>${value.address}</p>
</li>
</ul>
</div>
<div>
<h5>Contact:</h5>
<ul>
<li class="mdi-account-outline"><span>${value.firstName} ${value.lastName}</span>, ${value.role}</li>
<li class="mdi-email-outline"><a href="mailto:${value.email}">${value.email}</a></li>
<li class="mdi-cellphone-iphone">${value.phone}</li>
</ul>
</div>
</div>
</template>
</sib-widget>
<sib-widget name="hd-user-avatar">
<template><img name="${name}" src="${value || '/images/alien.jpg'}" style="max-width:100%; max-height: 100%;"></template>
</sib-widget>
<sib-widget name="team-template">
<template>
<sib-display data-src="${value.user['@id']}" data-fields="account.picture" widget-account.picture="hd-user-avatar"></sib-display>
<div name="user.thumb"><span>${value.user.name}</span>
<sib-display data-src="${value.user.groups['@id']}" data-fields="name" multiple-name></sib-display>
</div><span>${value.name}</span>
</template>
</sib-widget>
<sib-display data-fields="block-title, infos, block-lead, block-fee, block-customer, block-team" set-block-title="const-title1, number, customer.name, const-title2, name, entitled, creationDate" value-const-title1="N°" value-const-title2="-" value-entitled="Creation date:" set-infos="block-description, block-logo" set-block-description="label-description, description" set-block-logo="customer.logo" value-label-description="DESCRIPTION:" widget-customer.logo="sib-display-img" set-block-fee="label-fee, businessProvider" value-label-fee="FEE:" widget-businessProvider="template-business-provider" set-block-customer="label-customer, customer" value-label-customer="CUSTOMER INFORMATIONS:" widget-customer="customer-template" set-block-team="label-team, members" value-label-team="TEAM:" widget-members="team-template" multiple-members="" bind-resources></sib-display>
</div>
</div>
<div id="project-edit">
<div class="content-box with-form full-width">
<h1>Edit your project</h1>
<p>Here you can edit your projet's details</p>
<sib-widget name="hd-template-project-title">
<template><span>${label}</span></template>
</sib-widget>
<sib-widget name="template-members">
<template>
<sib-form class="team is-horizontal" naked data-src="${id}" data-fields="user.name, name" range-user.name="https://api.test-paris.happy-dev.fr/users/" class-name="field" class-user.name="field" label-name="Role" label-user.name="Member(s)"></sib-form>
</template>
</sib-widget>
<sib-form class="block" data-fields="block-project__info, block-project__fee, block-project__customer, block-project__team" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProvider.fee" range-businessProvider="https://api.test-paris.happy-dev.fr/businessproviders/" label-businessProvider="Business provider" label-businessProvider.fee="Amount of the contribution (%)" widget-fieldset-fee="hd-template-project-title" widget-businessProvider.fee="sib-form-number" label-fieldset-fee="Fee" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" label-customer.companyRegister="Company registration number" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone" widget-fieldset-customer="hd-template-project-title" label-fieldset-customer="Customer information" set-block-project__team="fieldset-team, members" label-fieldset-team="The team" widget-fieldset-team="hd-template-project-title" widget-members="template-members" multiple-members bind-resources></sib-form>
</div>
</div>
<div id="project-create">
<div class="content-box with-form full-width">
<h1>New project</h1>
<p>Here you can create your project, add members and assign them a job.</p>
<sib-form class="block" data-src="https://api.test-paris.happy-dev.fr/projects/" range-members="https://api.test-paris.happy-dev.fr/members/" range-team="https://api.test-paris.happy-dev.fr/users/" data-fields="block-project__info, block-project__fee, block-project__customer" set-block-project__info="customer.name, name, customer.logo, description" label-customer.name="Customer's name" label-name="Project's name" label-customer.logo="Customer's logo" label-description="Project description" set-block-project__fee="fieldset-fee, businessProvider, businessProviderFee" widget-fieldset-fee="hd-template-project-title" label-businessProvider="Business provider" label-businessProviderFee="Amount of the contribution" set-block-project__customer="fieldset-customer, customer.companyRegister, customer.address, customer.firstName, customer.lastName, customer.role, customer.email, customer.phone" widget-fieldset-customer="hd-template-project-title" label-customer.companyRegister="Company register" label-customer.address="Address" label-customer.firstName="Name of the contact at the customer's premises" label-customer.lastName="Firstname of the contact at the customer's premises" label-customer.role="Role within the company" label-customer.email="Email" label-customer.phone="Phone"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="project-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="project-chat" use-id>
<li> <a>Chat</a></li>
</sib-route>
<sib-route name="project-profile" use-id>
<li> <a>Information</a></li>
</sib-route>
<sib-route name="project-edit" use-id></sib-route>
<sib-route name="project-create" use-id></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="circle" hidden>
<div class="views-container">
<div id="circle-chat">
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
<div id="circle-profile">
<div class="content-box full-width">
<h2>Channel's name:</h2>
<sib-display data-fields="name" bind-resources></sib-display>
<h2>Description:</h2>
<sib-display data-fields="description" bind-resources></sib-display>
<h2>In group:</h2>
<sib-display class="block-group" id-suffix="team" data-fields="teammate-img, teammate-name, teammate-pseudonym, teammate-profile, teammate-contact" set-teammate-img="account.picture" set-teammate-pseudonym="before-pseudo, username" set-teammate-name="name" template-teammate-contact="chat-link" value-before-pseudo="@" value-teammate-contact="Send a message" value-teammate-profile="View profile" widget-account.picture="sib-display-img" next="member" bind-resources></sib-display>
</div>
</div>
<div id="circle-edit">
<div class="content-box with-form full-width" id="circle-edit">
<h1>Edit group</h1>
<sib-form class="block" range-owner="https://api.test-paris.happy-dev.fr/members/" data-fields="name, description, owner, team, jabberID, jabberRoom" range-team="https://api.test-paris.happy-dev.fr/members/" widget-team="sib-form-multiple-dropdown" bind-resources></sib-form>
</div>
</div>
<div id="circle-create">
<div class="content-box with-form full-width">
<h1>New group</h1>
<p>Here you can create a new group according to your interests, what you want to share, etc.</p>
<sib-form data-src="https://api.test-paris.happy-dev.fr/circles/" range-owner="https://api.test-paris.happy-dev.fr/users/" range-team="https://api.test-paris.happy-dev.fr/members/" data-fields="name, description, description-text, owner, owner-text, team, team-text, jabberRoom, foaf:jabberID" label-name="Channel's name" label-description="Description" label-owner="Owner of this channel" label-foaf:jabberID="Chatroom id" label-team="Member(s) of this channel" value-description-text="You can write a short description like &quot;Here, we are like Pinky and the Brain, we talk about strategy to conquer the world&quot;." value-owner-text="The one who will admin this channel" value-team-text="Add any members as you want." widget-description="sib-form-textarea" widget-jabberRoom="sib-form-checkbox" widget-team="sib-form-multiple-dropdown"></sib-form>
</div>
</div>
</div>
<nav class="jsRightMenu" role="navigation">
<sib-router default-route="circle-chat">
<ul>
<li class="jsOffsiteToggle"><a>Fold menu</a></li>
<sib-route name="circle-chat">
<li><a>Chat</a></li>
</sib-route>
<sib-route name="circle-profile">
<li><a>Information</a></li>
</sib-route>
<sib-route name="circle-edit"></sib-route>
<sib-route name="circle-create"></sib-route>
</ul>
</sib-router>
</nav>
</div>
<div class="with-sidebar" id="member-chat" hidden>
<div class="content-box full-width chat-view">
<sib-chat data-authentication="login" data-auto-login="true" data-bosh-service-url="https://jabber.happy-dev.fr/http-bind/" data-debug="false" data-locales-url="en" bind-resources></sib-chat>
</div>
</div>
</div>
</main>
</body>
</html>