Merge branch 'master' of https://git.startinblox.com/applications/hubl into feature/new-integration

This commit is contained in:
gaelle morin 2020-11-23 09:55:17 +01:00
commit 4eb2f39463
No known key found for this signature in database
GPG Key ID: 028426702B95CF9C
33 changed files with 262 additions and 184 deletions

View File

@ -1,28 +1,24 @@
/label ~BUG # What's happening?
### What's happening? Describe in a few words what's happening
*Describe in a few words what's happening* ## Steps to reproduce
### Steps to reproduce How one can reproduce the issue - this is very important
*How one can reproduce the issue - this is very important*
1. Step 1 1. Step 1
2. Step 2 2. Step 2
3. Step 3 3. Step 3
### Relevant logs and/or screenshots ## Relevant logs and/or screenshots
*If possible, please add a screenshot.* If possible, please add a screenshot.
### Your Environment ## Your Environment
(Include relevant details about the environment you experienced the bug in) (Include relevant details about the environment you experienced the bug in)
* Browser name and version: * Browser name and version:
* Operating System and version (desktop or mobile): * Operating System and version (desktop or mobile):
/label ~BUG

View File

@ -1,16 +1,12 @@
## What needs to be done? # What needs to be done
/label ~Feature request
## Technical details ## Technical details
*Are there any technical details worth mentioning?* Are there any technical details worth mentioning?
## Test cases ## Test cases
*Describe here the tests needed in order to validate this feature* Describe here the tests needed in order to validate this feature
1. Step 1 1. Step 1
2. Step 2 2. Step 2
@ -20,3 +16,5 @@
1. Link to user story in wiki 1. Link to user story in wiki
2. other related Gitlab issues 2. other related Gitlab issues
/label ~Feature request

View File

@ -1,40 +1,16 @@
/label ~"New Instance" # Please fill all these info
# Please fill all these info:
## General info ## General info
- Name of the instance: - Name of the instance:
- Domain: - Domain: .hubl.world
## Settings:
- Does the instance allow people to sign up? **Yes / No**
- Does the instance want new people to get a welcome email? **Yes / No**
## Federation:
- Which current instance should see this new instance data? **Please provide the info module by module and include the instance itself.**
- Do those current instances agree to share their public data with this new instance? **Yes / No**
Example:
- *Instance G is the new kid in town*
- *Instance G wants to only see their dashboard, but want to access the circles of A, B, C, D, E & F.*
- *Instance G wants to be able to chat with users from A, B, C, D, E & F.*
- *Instance G wants to be able to see A and B job offers*
Let's say every instances agree to this scenario, the issue should describe the following:
- Dashboard: G
- Circles: A, B, C, D, E, F & G
- Job offers: A, B, F, G
- Users: A, B, C, D, E, F & G
- Profile directory: A, B, C, D, E, F & G
- G agrees that any new instance can see their public data.
## Cosmetics ## Cosmetics
- Logo: - Logo:
- Favicon:
- 4 Colors: - Favicon:
- 4 Colors:
/label ~"New Instance"

View File

@ -1,4 +1,4 @@
## Checklist # Checklist
<!--- <!---
Please, make sure you have changed the topic and also Please, make sure you have changed the topic and also
@ -12,8 +12,6 @@ I have done ...
- [ ] Tests for the changes have been added - [ ] Tests for the changes have been added
- [ ] Docs have been added or updated - [ ] Docs have been added or updated
- [ ] I have assigned my architect to review this merge request - [ ] I have assigned my architect to review this merge request
- [ ] I have checked how to create a [merge request]()
## Issues ## Issues
@ -25,7 +23,6 @@ Format is: Closes #X or Refs #Y
Docs: https://docs.gitlab.com/ee/user/project/issues/closing_issues.html#via-merge-request Docs: https://docs.gitlab.com/ee/user/project/issues/closing_issues.html#via-merge-request
--> -->
## Time spent ## Time spent
<!--- <!---
@ -38,7 +35,6 @@ Docs: https://docs.gitlab.com/ee/workflow/time_tracking.html
/spend Xh /spend Xh
## Assignee ## Assignee
<!--- <!---
@ -49,7 +45,6 @@ Docs: https://docs.gitlab.com/ee/user/project/quick_actions.html
/assign /assign
## Feedback ## Feedback
<!--- <!---
@ -57,5 +52,4 @@ Did you encounter any other problems you want to share with us?
Optional. Feel free to remove this section if you don't have any feedback. Optional. Feel free to remove this section if you don't have any feedback.
--> -->
<!--- Thank you for you contribution! --> <!--- Thank you for you contribution! -->

View File

@ -108,8 +108,8 @@ On `config.json`:
```json ```json
"clientName": "Hubl", "clientName": "Hubl",
"clientFavicon": "/images/favicon.png", "clientFavicon": "/images/favicon.webp",
"clientLogo": "/images/logo.png", "clientLogo": "/images/logo.webp",
"clientLogoHeight": "32px", "clientLogoHeight": "32px",
"clientCSS": "/path/to/custom.css", "clientCSS": "/path/to/custom.css",
"authorityName": "djangoldp-server-name" "authorityName": "djangoldp-server-name"

View File

@ -1,6 +1,8 @@
{ {
"xmpp": "https://jabber.happy-dev.fr/http-bind/", "xmpp": "https://jabber.happy-dev.fr/http-bind/",
"authority": "http://localhost:8000/", "authority": "http://localhost:8000/",
"clientName": "Hubl",
"clientLogo": "https://cdn.startinblox.com/logos/hubl-logo.png",
"endpoints": { "endpoints": {
"get": { "get": {
"skills": "http://localhost:8000/skills/", "skills": "http://localhost:8000/skills/",

View File

@ -2,6 +2,8 @@
"xmpp": "https://jabber.happy-dev.fr/http-bind/", "xmpp": "https://jabber.happy-dev.fr/http-bind/",
"authority": "http://localhost:8000/", "authority": "http://localhost:8000/",
"authorityName": "djangoldp-server-name", "authorityName": "djangoldp-server-name",
"clientName": "Hubl",
"clientLogo": "https://cdn.startinblox.com/logos/hubl-logo.png",
"endpoints": { "endpoints": {
"groups": "http://localhost:8000/groups/", "groups": "http://localhost:8000/groups/",
"skills": "http://localhost:8000/skills/", "skills": "http://localhost:8000/skills/",

39
make-webmanifest.mjs Normal file
View File

@ -0,0 +1,39 @@
'use strict';
import fs from 'fs';
if(!fs.existsSync("config.json")) throw "[Error] (Mandatory) Missing config.json file";
let config = JSON.parse(fs.readFileSync('config.json'));
if(!config.clientName) throw "[Error] (Mandatory) Missing clientName on config.json";
if(!config.clientLogo) throw "[Error] (Mandatory) Missing clientLogo on config.json";
let manifest = {
"lang": "fr",
"dir": "ltr",
"name": config.clientName,
"description": `Hubl of ${config.clientName}`,
"short_name": config.clientName,
"icons": [{
"src": config.clientLogo,
"purpose": "any"
}, {
"src": "/images/hubl-icon-192.png",
"sizes": "192x192",
"type": "image/png"
}, {
"src": "/images/hubl-icon-512.png",
"sizes": "512x512",
"type": "image/png"
}],
"start_url": ".",
"display": "standalone",
"orientation": "portrait",
"background_color": "#fff",
'theme_color': "white"
}
fs.existsSync("dist") || fs.mkdirSync("dist");
fs.writeFileSync('dist/manifest.webmanifest', JSON.stringify(manifest, null, 2));
console.log(`Created manifest for ${config.clientName}`);

View File

@ -11,29 +11,35 @@
"build:css": "node-sass src/styles/index.scss -o dist/styles/", "build:css": "node-sass src/styles/index.scss -o dist/styles/",
"build:js": "babel \"src/scripts/*.js\" -o dist/scripts/index.js", "build:js": "babel \"src/scripts/*.js\" -o dist/scripts/index.js",
"build:jscomponents": "babel \"src/components/*.js\" --out-dir dist/components/", "build:jscomponents": "babel \"src/components/*.js\" --out-dir dist/components/",
"build:html": "pug src/index.pug -o dist/ --obj config.json", "build:pug": "pug src/index.pug -o dist/ --obj config.json",
"build:manifest": "node --experimental-modules make-webmanifest.mjs",
"build:i18n": "copyfiles -u 2 src/locales/*.json dist/locales", "build:i18n": "copyfiles -u 2 src/locales/*.json dist/locales",
"copy:font": "copyfiles -f src/fonts/* dist/fonts", "copy:font": "copyfiles -f src/fonts/* dist/fonts",
"copy:image": "copyfiles -f src/images/* dist/images", "copy:image": "copyfiles -f src/images/* dist/images",
"copy:sw": "copyfiles -f src/sw.js dist",
"serve": "pushstate-server -d ./dist -p 3000", "serve": "pushstate-server -d ./dist -p 3000",
"watch": "run-p build watch:* serve", "watch": "run-p build watch:* serve",
"watch:css": "npm-watch build:css", "watch:css": "npm-watch build:css",
"watch:js": "npm-watch build:js", "watch:js": "npm-watch build:js",
"watch:jscomponents": "npm-watch build:jscomponents", "watch:jscomponents": "npm-watch build:jscomponents",
"watch:manifest": "npm-watch build:manifest",
"watch:pug": "pug --watch src/index.pug -o dist/ --obj config.json", "watch:pug": "pug --watch src/index.pug -o dist/ --obj config.json",
"watch:i18n": "npm-watch build:i18n", "watch:i18n": "npm-watch build:i18n",
"watch:font": "npm-watch copy:font", "watch:font": "npm-watch copy:font",
"watch:image": "npm-watch copy:image", "watch:image": "npm-watch copy:image",
"watch:sw": "npm-watch copy:sw",
"cypress:open": "cypress open", "cypress:open": "cypress open",
"cypress:verify": "cypress verify", "cypress:verify": "cypress verify",
"cypress:info": "cypress info", "cypress:info": "cypress info",
"test": "cypress run" "test": "cypress run"
}, },
"watch": { "watch": {
"build:css": "src/styles/*", "build:css": "src/styles/**/*",
"build:i18n": "src/locales/*", "build:manifest": "make-webmanifest.mjs",
"build:i18n": "src/locales/**/*",
"copy:images": "src/fonts/*.js", "copy:images": "src/fonts/*.js",
"copy:fonts": "src/images/*.js", "copy:fonts": "src/images/*.js",
"copy:sw": "src/sw.js",
"build:js": "src/scripts/*.js", "build:js": "src/scripts/*.js",
"build:jscomponents": "src/components/*.js" "build:jscomponents": "src/components/*.js"
}, },

View File

@ -1,6 +1,4 @@
import { store } from 'https://unpkg.com/@startinblox/core@0.12'; import { store, Sib, StoreMixin } from 'https://cdn.skypack.dev/@startinblox/core@0.13';
import { Sib } from "https://unpkg.com/@startinblox/core@0.12/dist/libs/Sib.js";
import { StoreMixin } from "https://unpkg.com/@startinblox/core@0.12/dist/mixins/storeMixin.js";
export const HublReactivity = { export const HublReactivity = {
name: 'hubl-reactivity', name: 'hubl-reactivity',

View File

@ -1,4 +1,4 @@
import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.12/dist/widgets/widget-factory.js'; import { widgetFactory } from 'https://cdn.skypack.dev/@startinblox/core@0.13';
const HublSearchUsers = widgetFactory( const HublSearchUsers = widgetFactory(
'hubl-search-users', 'hubl-search-users',

View File

@ -1,6 +1,5 @@
import { widgetFactory } from 'https://unpkg.com/@startinblox/core@0.12/dist/widgets/widget-factory.js'; import { widgetFactory, Helpers } from 'https://cdn.skypack.dev/@startinblox/core@0.13';
import { importCSS } from 'https://unpkg.com/@startinblox/core@0.12/dist/libs/helpers.js'; import SlimSelect from 'https://cdn.skypack.dev/slim-select@1.23';
import SlimSelect from 'https://dev.jspm.io/slim-select@1.23';
const HublStatus = widgetFactory( const HublStatus = widgetFactory(
'hubl-status', 'hubl-status',
@ -22,7 +21,7 @@ const HublStatus = widgetFactory(
let select = formWidget.querySelector('select'); let select = formWidget.querySelector('select');
if (!select) return; if (!select) return;
const slimSelect = new SlimSelect({select: select}); const slimSelect = new SlimSelect({select: select});
importCSS('https://dev.jspm.io/slim-select/dist/slimselect.min.css'); Helpers.importCSS('https://dev.jspm.io/slim-select/dist/slimselect.min.css');
select.addEventListener('change', () => slimSelect.render()); select.addEventListener('change', () => slimSelect.render());
}, },
); );

View File

@ -1,49 +1,54 @@
script(src="https://browser.sentry-cdn.com/5.25.0/bundle.tracing.min.js" defer) 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/sentry.js" defer)
script(type="module" src="/components/hubl-search-users.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-status.js" defer)
script(type="module" src="/components/hubl-reactivity.js" defer) script(type="module" src="/components/hubl-reactivity.js" defer)
script(type="module" src="https://unpkg.com/@startinblox/core@0.12" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/core@0.13" defer)
//- script(type="module" src="/lib/sib-core/dist/index.js" defer) //- script(type="module" src="/lib/sib-core/dist/index.js" defer)
script(type="module" src="https://unpkg.com/@startinblox/oidc@0.10" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/oidc@0.11" defer)
//- script(type="module" src="/lib/sib-auth/index.js" defer) //- script(type="module" src="/lib/sib-auth/index.js" defer)
script(type="module" src="https://unpkg.com/@startinblox/router@0.10" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/router@0.11" defer)
//- script(type="module" src="/lib/sib-router/src/index.js" defer) //- script(type="module" src="/lib/sib-router/src/index.js" defer)
script(type="module" src="https://unpkg.com/@startinblox/component-notifications@0.7" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/component-notifications@0.8" defer)
//- script(type="module" src="/lib/sib-notifications/index.js" defer) //- script(type="module" src="/lib/sib-notifications/index.js" defer)
if (endpoints.events || (endpoints.get && endpoints.get.events)) && (endpoints.typeevents || (endpoints.get && endpoints.get.typeevents)) //- DISABLED - please migrate to dev.skypack.dev + upgrade to core@0.13
script(type="module" src="https://unpkg.com/@startinblox/component-event@1.2" defer) //- if (endpoints.events || (endpoints.get && endpoints.get.events)) && (endpoints.typeevents || (endpoints.get && endpoints.get.typeevents))
//- script(type="module" src="https://cdn.skypack.dev/@startinblox/component-event@1.2" defer)
//- script(type="module" src="/lib/sib-event-component/sib-event.js" defer) //- script(type="module" src="/lib/sib-event-component/sib-event.js" defer)
if (endpoints.resources || (endpoints.get && endpoints.get.resources)) && (endpoints.resourceskeywords || (endpoints.get && endpoints.get.resourceskeywords)) && (endpoints.resourcestypes || (endpoints.get && endpoints.get.resourcestypes)) //- DISABLED - please migrate to dev.skypack.dev + upgrade to core@0.13
script(type="module" src="https://unpkg.com/@startinblox/component-resource@1.0" defer) //- if (endpoints.resources || (endpoints.get && endpoints.get.resources)) && (endpoints.resourceskeywords || (endpoints.get && endpoints.get.resourceskeywords)) && (endpoints.resourcestypes || (endpoints.get && endpoints.get.resourcestypes))
//- script(type="module" src="https://cdn.skypack.dev/@startinblox/component-resource@1.0" defer)
//- script(type="module" src="/lib/sib-resource/sib-resource.js" defer) //- script(type="module" src="/lib/sib-resource/sib-resource.js" defer)
if endpoints.joboffers || (endpoints.get && endpoints.get.joboffers) if endpoints.joboffers || (endpoints.get && endpoints.get.joboffers)
script(type="module" src="https://unpkg.com/@startinblox/component-job-board@1.1" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/component-job-board@1.2" defer)
//- script(type="module" src="/lib/solid-job-board/dist/index.js" defer) //- script(type="module" src="/lib/solid-job-board/dist/index.js" defer)
if (endpoints.uploads || (endpoints.get && endpoints.get.uploads)) && (endpoints.skills || (endpoints.get && endpoints.get.skills)) && (endpoints.users || (endpoints.get && endpoints.get.users)) if (endpoints.uploads || (endpoints.get && endpoints.get.uploads)) && (endpoints.skills || (endpoints.get && endpoints.get.skills)) && (endpoints.users || (endpoints.get && endpoints.get.users))
script(type="module" src="https://unpkg.com/@startinblox/component-directory@1.1" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/component-directory@1.2" defer)
//- script(type="module" src="/lib/solid-directory/dist/index.js" defer) //- script(type="module" src="/lib/solid-directory/dist/index.js" defer)
if endpoints.dashboards || (endpoints.get && endpoints.get.dashboards) if endpoints.dashboards || (endpoints.get && endpoints.get.dashboards)
script(type="module" src="https://unpkg.com/@startinblox/component-dashboard@0.5" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/component-dashboard@0.6" defer)
//- script(type="module" src="/lib/solid-dashboard/dist/index.js" defer) //- script(type="module" src="/lib/solid-dashboard/dist/index.js" defer)
if endpoints.users || (endpoints.get && endpoints.get.users) if endpoints.users || (endpoints.get && endpoints.get.users)
script(type="module" src="https://unpkg.com/@startinblox/component-chat@1.2" defer) script(type="module" src="https://cdn.skypack.dev/@startinblox/component-chat@1.4" defer)
//- script(type="module" src="/lib/solid-xmpp-chat/dist/index.js" defer) //- script(type="module" src="/lib/solid-xmpp-chat/dist/index.js" defer)
if endpoints.polls || (endpoints.get && endpoints.get.polls) //- DISABLED - please migrate to dev.skypack.dev + upgrade to core@0.13
script(type="module" src="https://unpkg.com/@startinblox/component-poll@1.0" defer) //- if endpoints.polls || (endpoints.get && endpoints.get.polls)
//- script(type="module" src="https://cdn.skypack.dev/@startinblox/component-poll@1.0" defer)
//- script(type="module" src="/lib/sib-polls-component/index.js" defer) //- script(type="module" src="/lib/sib-polls-component/index.js" defer)
//- swal2 does not work with skypack
script(src="https://cdn.jsdelivr.net/npm/sweetalert2@10") script(src="https://cdn.jsdelivr.net/npm/sweetalert2@10")
script(src="/scripts/index.js" defer) script(src="/scripts/index.js" defer)

View File

@ -52,7 +52,7 @@
//-.header-left //-.header-left
.logo .logo
solid-link(next='dashboard') solid-link(next='dashboard')
img(src=`${clientLogo || '/images/logo.png'}` style=`max-height:${clientLogoHeight || '32px'}`) img(src=`${clientLogo || '/images/logo.webp'}` style=`max-height:${clientLogoHeight || '74px'}`)
span.beta-tag(data-trans='header.beta') span.beta-tag(data-trans='header.beta')

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

BIN
src/images/favicon.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 832 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

BIN
src/images/logo.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -9,11 +9,11 @@ html(lang="en")
if clientFavicon if clientFavicon
link(rel="icon" type="image/png" href=`${clientFavicon}`) link(rel="icon" type="image/png" href=`${clientFavicon}`)
else else
link(rel="icon" type="image/png" href="/images/favicon.png") link(rel="icon" type="image/webp" href="/images/favicon.webp")
include dependencies.pug include dependencies.pug
if clientCSS if clientCSS
link(rel='stylesheet', href=`${clientCSS}`) link(rel='stylesheet', href=`${clientCSS}`)
link(rel="manifest" href="/manifest.webmanifest")
body body
//- header#header.header.is-spaced(role='banner') //- header#header.header.is-spaced(role='banner')

View File

@ -3,14 +3,16 @@
div.content-box__header div.content-box__header
solid-display( solid-display(
bind-resources bind-resources
fields='name, parenthesis, username, endParenthesis' fields='avatar-container(account.picture), text(name, hyphen, at, username)'
value-parenthesis=" (" value-hyphen=" - "
value-endParenthesis=")" value-at="@"
class-parenthesis='h1-like' widget-account.picture='hubl-user-avatar'
class-endParenthesis='h1-like' class-text="avatar-text"
class-avatar-container="avatar-container"
class-account.picture='avatar'
class-name='h1-like' class-name='h1-like'
class-username='h1-like' class-hypen='h1-like'
) )
.chat-view .chat-view

View File

@ -1,4 +1,4 @@
document.addEventListener("DOMContentLoaded", function (event) { document.addEventListener("DOMContentLoaded", function () {
document document
.querySelector("sib-auth") .querySelector("sib-auth")
.getUser() .getUser()

View File

@ -27,10 +27,10 @@ function closeUserControls() {
); );
} }
document.addEventListener("DOMContentLoaded", function(event) { document.addEventListener("DOMContentLoaded", function() {
//- View change event //- View change event
window.addEventListener("navigate", event => { window.addEventListener("navigate", () => {
closeLeftMenu(); closeLeftMenu();
closeUserControls(); closeUserControls();
}); });
@ -63,7 +63,7 @@ document.addEventListener("DOMContentLoaded", function(event) {
} }
}; };
document.querySelector("#toggleMainMenu").addEventListener("click", event => { document.querySelector("#toggleMainMenu").addEventListener("click", () => {
let leftMenu = document.querySelector("#main__menu"); let leftMenu = document.querySelector("#main__menu");
if (leftMenu.hasAttribute("open")) { if (leftMenu.hasAttribute("open")) {
closeLeftMenu(); closeLeftMenu();
@ -75,7 +75,7 @@ document.addEventListener("DOMContentLoaded", function(event) {
const rightMenus = Array.from(document.querySelectorAll("nav.jsRightMenu")); const rightMenus = Array.from(document.querySelectorAll("nav.jsRightMenu"));
rightMenus.forEach(rightMenu => { rightMenus.forEach(rightMenu => {
const btnRightMenu = rightMenu.querySelector("li.jsOffsiteToggle"); const btnRightMenu = rightMenu.querySelector("li.jsOffsiteToggle");
btnRightMenu.addEventListener("click", e => { btnRightMenu.addEventListener("click", () => {
if (rightMenu.hasAttribute("open")) { if (rightMenu.hasAttribute("open")) {
closeRightMenu(); closeRightMenu();
} else { } else {
@ -86,7 +86,7 @@ document.addEventListener("DOMContentLoaded", function(event) {
Array.from(document.querySelectorAll(".jsMobileSidebarOpenButton")).forEach( Array.from(document.querySelectorAll(".jsMobileSidebarOpenButton")).forEach(
el => { el => {
el.addEventListener("click", event => { el.addEventListener("click", () => {
openRightMenu(); openRightMenu();
}); });
} }

View File

@ -0,0 +1,11 @@
// if('serviceWorker' in navigator) {
// var refreshing;
// navigator.serviceWorker.addEventListener('controllerchange', () => {
// if (refreshing) {
// return;
// }
// refreshing = true;
// window.location.reload();
// });
// navigator.serviceWorker.register('/sw.js');
// }

View File

@ -1,4 +1,4 @@
document.addEventListener("DOMContentLoaded", function (event) { document.addEventListener("DOMContentLoaded", function () {
window.addEventListener('newMessage', event => { window.addEventListener('newMessage', event => {
let jid = event.detail.jid; let jid = event.detail.jid;
Array.from(document.querySelectorAll('[data-jabberID="' + jid + '"]')).forEach(el => { Array.from(document.querySelectorAll('[data-jabberID="' + jid + '"]')).forEach(el => {

View File

@ -44,7 +44,7 @@ function recursiveAdaptWidgets(prefix, element, user) {
}); });
} }
document.addEventListener("DOMContentLoaded", function (event) { document.addEventListener("DOMContentLoaded", function () {
document document
.querySelector("sib-auth") .querySelector("sib-auth")
.getUser() .getUser()

View File

@ -54,8 +54,8 @@
border-radius: 3px; border-radius: 3px;
background: var(--color-primary); background: var(--color-primary);
color: var(--color-white); color: var(--color-white);
position: absolute; position: fixed;
top: -9px; top: 12px;
left: 267px; left: 267px;
} }
} }

View File

@ -674,7 +674,7 @@ h5 {
margin: 0 1.6rem; margin: 0 1.6rem;
@include breakpoint(lg) { @include breakpoint(lg) {
padding: 3rem; padding: 2rem;
margin: 0; margin: 0;
} }

View File

@ -1 +1 @@
@import 'user-profile'; @import 'messages';

View File

@ -0,0 +1,13 @@
.avatar-container {
display: inline-block;
margin-right: 10px;
.avatar {
height: 40px;
width: 40px;
}
}
.avatar-text {
position: absolute;
top: 2.8rem;
}

View File

@ -1,76 +0,0 @@
/*.user-profile__container {
.user-bio {
display: grid;
grid-gap: 1rem;
grid-template-areas: "avatar name"
"avatar information";
grid-template-columns: minmax(300px, 400px) 2fr;
.avatar-display {
grid-area: avatar;
overflow: hidden;
position: relative;
img {
border-radius: 50%;
height: 300px;
object-fit: cover;
overflow: hidden;
object-position: center;
width: 300px;
}
}
.name-diplay {
grid-area: name;
[name='user-name-groups'] {
align-items: baseline;
align-self: end;
display: flex;
solid-multiple {
display: flex;
padding-left: 1.4rem;
hubl-groups-name {
@extend %tag-role;
}
}
}
}
.info-form {
grid-area: information; */
/* ces styles disparaitront lorsque l'on aura la fonctionnalité pour uploader une photo */
/*[name="account.picture"] {
margin-bottom: 1rem;
}
hubl-instruction {
margin-left: 1rem;
span {
color: $color-233-18-29;
font-weight: bold;
}
p {
margin-left: 1rem;
}
}*/
/* Fin commentaire sur upload photos */
/*}
[name^="inline-"] {
display: flex;
justify-content: flex-start;
>*:not(:last-child) {
margin-right: 3rem;
}
}
}
}*/

113
src/sw.js Normal file
View File

@ -0,0 +1,113 @@
const CACHE_NAME = 'hubl-store';
self.addEventListener('install', function (e) {
self.skipWaiting();
e.waitUntil(
caches.open(CACHE_NAME).then(function (cache) {
return cache.addAll([
'/locales/es.json',
'/locales/fr.json',
'/scripts/index.js',
'/syles/index.css',
'/index.html',
'/'
]);
})
);
});
self.addEventListener('activate', function (e) {
// invalidate older versions
e.waitUntil(
caches.keys()
.then(function (keyList) {
return Promise.all(keyList.map(function (key) {
if (key !== CACHE_NAME && key !== (CACHE_NAME + "-cdn") && key !== (CACHE_NAME + "-api")) {
return caches.delete(key);
}
}));
}));
self.clients.claim();
});
self.addEventListener('fetch', function (event) {
let requestURL = new URL(event.request.url);
if (requestURL.origin == location.origin) {
// Static asset, cache then network
event.respondWith(
caches.open(CACHE_NAME).then(function (cache) {
return cache.match(event.request).then(function (response) {
var fetchPromise = fetch(event.request).then(function (networkResponse) {
cache.put(event.request, networkResponse.clone());
return networkResponse;
});
return response || fetchPromise;
});
}),
);
} else {
if (
event.request.method == 'POST' ||
event.request.method == 'PUT'
) {
// disabled: lead to cors errors
// // POST/PUT to api, rewrite the cache
// event.respondWith(
// caches.open(CACHE_NAME + '-api').then(function (cache) {
// return fetch(event.request).then(function (response) {
// cache.put(event.request, response.clone());
// return response;
// })
// }));
// api: no cache
event.respondWith(fetch(event.request));
} else if (
/matomo/.test(requestURL.origin) ||
/sentry/.test(requestURL.origin) ||
/jabber/.test(requestURL.origin) ||
/xmpp/.test(requestURL.origin)
) {
// analytics, always distant
event.respondWith(fetch(event.request));
} else {
if (
/unpkg/.test(requestURL.origin) ||
/skypack/.test(request.origin) ||
/jspm/.test(requestURL.origin) ||
/jsdeliver/.test(requestURL.origin) ||
/cdn/.test(requestURL.origin) ||
/googleapis/.test(requestURL.origin)
) {
// cdn: cache then network
event.respondWith(
caches.open(CACHE_NAME + '-cdn').then(function (cache) {
return cache.match(event.request).then(function (response) {
var fetchPromise = fetch(event.request).then(function (networkResponse) {
cache.put(event.request, networkResponse.clone());
return networkResponse;
});
return response || fetchPromise;
});
}),
);
} else {
// disabled: lead to cors errors
// // api: distant then cache
// event.respondWith(
// fetch(event.request)
// .then((response) => {
// caches.open(CACHE_NAME + '-api').then(function (cache) {
// cache.put(event.request, response.clone());
// return response;
// });
// })
// .catch(() => {
// return caches.match(event.request);
// })
// );
// api: no cache
event.respondWith(fetch(event.request));
}
}
}
});