Actualiser webring.js
This commit is contained in:
parent
c0b80ebef2
commit
0c1bc78cc2
1 changed files with 24 additions and 18 deletions
22
webring.js
22
webring.js
|
|
@ -1,4 +1,4 @@
|
||||||
const JSON_WEBRING = "https://codeberg.org/gablaxy/webring/raw/branch/main/webring.json";
|
const JSON_WEBRING = "https://corsproxy.io/?https://gablaxy.codeberg.page/webring.json";
|
||||||
|
|
||||||
const template = document.createElement("template");
|
const template = document.createElement("template");
|
||||||
template.innerHTML = `
|
template.innerHTML = `
|
||||||
|
|
@ -54,24 +54,30 @@ class Webring extends HTMLElement {
|
||||||
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
this.shadowRoot.appendChild(template.content.cloneNode(true));
|
||||||
|
|
||||||
const currentSite = this.getAttribute("site");
|
const currentSite = this.getAttribute("site");
|
||||||
// ou sinon on peut aller chercher le paramètre site dans la déclaration du widget
|
|
||||||
|
|
||||||
fetch(JSON_WEBRING)
|
fetch(JSON_WEBRING)
|
||||||
.then((response) => response.json())
|
.then((response) => response.json())
|
||||||
.then((sites) => {
|
.then((sites) => {
|
||||||
// Va chercher les infos du site actuel dans le json
|
const normalize = (url) => url.replace(/\/$/, "");
|
||||||
const matchedSiteIndex = sites.findIndex(
|
|
||||||
(site) => site.url === currentSite
|
const matchedSiteIndex = sites.findIndex(
|
||||||
)
|
(site) => normalize(site.url) === normalize(currentSite)
|
||||||
|
);
|
||||||
|
|
||||||
|
if (matchedSiteIndex === -1) {
|
||||||
|
this.shadowRoot.querySelector("#webring-inner").insertAdjacentHTML("afterbegin", `
|
||||||
|
<h3 id="webring-title">grossomodo</h3>
|
||||||
|
<p>T'es pas dans le gang bozo</p>
|
||||||
|
`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// stocke les index des sites avant et après dans le json
|
|
||||||
let previousSiteIndex = matchedSiteIndex - 1;
|
let previousSiteIndex = matchedSiteIndex - 1;
|
||||||
if (previousSiteIndex < 0) previousSiteIndex = sites.length - 1;
|
if (previousSiteIndex < 0) previousSiteIndex = sites.length - 1;
|
||||||
|
|
||||||
let nextSiteIndex = matchedSiteIndex + 1;
|
let nextSiteIndex = matchedSiteIndex + 1;
|
||||||
if (nextSiteIndex >= sites.length) nextSiteIndex = 0;
|
if (nextSiteIndex >= sites.length) nextSiteIndex = 0;
|
||||||
|
|
||||||
|
|
||||||
const content = `
|
const content = `
|
||||||
<h3 id="webring-title">grossomodo</h3>
|
<h3 id="webring-title">grossomodo</h3>
|
||||||
<a href="${sites[previousSiteIndex].url}" rel="prev noreferrer external">< avant</a>
|
<a href="${sites[previousSiteIndex].url}" rel="prev noreferrer external">< avant</a>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue