299 lines
21 KiB
HTML
299 lines
21 KiB
HTML
|
<!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;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 "Here, we are like Pinky and the Brain, we talk about strategy to conquer the world"." 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>
|