make view update with slideshow selection !

This commit is contained in:
Lucas 2023-03-11 01:50:55 +01:00
parent 7185f78eee
commit cbb0a652f7
8 changed files with 5355 additions and 75 deletions

View file

@ -1,95 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <html>
<head>
<head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<title>fateforge-tools</title> <title>fateforge-tools</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css" /> <link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css"
/>
<link href="css/all.min.css" rel="stylesheet" /> <link href="css/all.min.css" rel="stylesheet" />
<link href="css/flickity.css" rel="stylesheet" /> <link href="css/flickity.css" rel="stylesheet" />
<link href="css/style.css" rel="stylesheet" /> <link href="css/style.css" rel="stylesheet" />
<link rel="icon" type="image/x-icon" href="/img/FateforgeTool_logo_80.png"> <link
</head> rel="icon"
type="image/x-icon"
href="/img/FateforgeTool_logo_80.png"
/>
</head>
<body>
<body> <button onclick="changeLangEN()">
<button onclick="changeLangEN()"><img src="https://cdn.countryflags.com/thumbs/united-kingdom/flag-400.png" <img
width="20"> English</button> src="https://cdn.countryflags.com/thumbs/united-kingdom/flag-400.png"
<button onclick="changeLangFR()"><img src="https://cdn.countryflags.com/thumbs/france/flag-400.png" width="20"> width="20"
French</button> />
English
</button>
<button onclick="changeLangFR()">
<img
src="https://cdn.countryflags.com/thumbs/france/flag-400.png"
width="20"
/>
French
</button>
<h1>FateforgeTools</h1> <h1>FateforgeTools</h1>
<div class="gallery js-flickity"> <div class="gallery js-flickity">
<div class="gallery-cell" id="ADV1"> <div class="gallery-cell" id="ADV1">
<div class="book-container"> <div class="book-container">
<div class="book"> <div class="book">
<img src="img\books\ADV1_BC_EN.jpg"> <img src="img\books\ADV1_BC_EN.jpg" />
</div>
</div> <div class="book-title">Adventurer</div>
<div class="book-title">Adventurer</div>
</div>
</div> </div>
<div class="gallery-cell"> </div>
<div class="book-container"> <div class="gallery-cell">
<div class="book"> <div class="book-container">
<img src="img\books\GRI1_BC_EN.jpg"> <div class="book">
<img src="img\books\GRI1_BC_EN.jpg" />
</div> </div>
<div class="book-title">Grimoire</div> <div class="book-title">Grimoire</div>
</div>
</div> </div>
<div class="gallery-cell" id="CRE2"> </div>
<div class="book-container" data-localize="book-CRE2"> <div class="gallery-cell" id="CRE2">
<div class="book-container" data-localize="book-CRE2"></div>
</div> </div>
<div class="gallery-cell">
<div class="book-container">
<div class="book">
<img src="img\books\ENC1_BC_EN.png" />
</div>
<div class="book-title">Encyclopedia</div>
</div> </div>
<div class="gallery-cell"> </div>
<div class="book-container"> <div class="gallery-cell">
<div class="book"> <div class="book-container">
<img src="img\books\ENC1_BC_EN.png"> <div class="book">
<img src="img\books\ENC2_DR.png" />
</div> </div>
<div class="book-title">Encyclopedia</div> <div class="book-title">Encyclopedia : Netherworld</div>
</div>
</div>
<div class="gallery-cell">
<div class="book-container">
<div class="book">
<img src="img\books\ENC2_DR.png">
</div>
<div class="book-title">Encyclopedia : Netherworld</div>
</div>
</div> </div>
</div>
</div> </div>
<div><a href="#CRE2">View cell 2</a></div> <div
class="view-container"
style="display: flex; align-items: center; justify-content: center"
>
<h1 id="view-title"></h1>
<br />
</div>
<script type="text/javascript" src="lib/jquery.min.js"></script> <script type="text/javascript" src="lib/jquery.min.js"></script>
<script type="text/javascript" src="lib/jquery.localize.js"></script> <script type="text/javascript" src="lib/jquery.localize-dev.js"></script>
<script type="text/javascript" src="js/language.js"></script> <script type="text/javascript" src="js/language.js"></script>
<script src="lib/flickity.pkgd.min.js"></script> <script src="lib/flickity.pkgd.min.js"></script>
<script src="lib/flickity.hash.js"></script> <script src="lib/flickity.hash.js"></script>
<script> <script>
var flkty = new Flickity('.gallery', { var lastbook;
"freeScroll": true, "wrapAround": true, "hash": true // options var flkty = new Flickity(".gallery", {
}); freeScroll: true,
flkty.on('select', function (index) { wrapAround: true,
console.log('Flickity selected at ' + index); hash: true, // options
refreshBooks(); });
}); flkty.on("select", function (index) {
flkty.on('settle', function (index) { var currentbook = document
console.log('Flickity settled at ' + index); .getElementsByClassName("gallery-cell is-selected")[0]
refreshBooks(); .getAttribute("id");
}); if (currentbook == lastbook) {
return;
}
//TODO: Fill view-container with books
setLocalizeDataAttr("view-title", currentbook + ".title");
lastbook = currentbook;
refreshBooks();
});
flkty.on("settle", function (index) {
console.log("Flickity settled at " + index);
refreshBooks();
});
</script> </script>
</body>
</html>
</body>
</html>

View file

@ -1,17 +1,43 @@
// In a browser where the language is set to French // In a browser where the language is set to French
$("[data-localize]").localize("main", { pathPrefix: "lang" }); $("[data-localize]")
.localize("main", { pathPrefix: "lang" })
.localize("books", { pathPrefix: "lang" });
var currentLang;
// You can also override the language detection, and pass in a language code // You can also override the language detection, and pass in a language code
//$("[data-localize]").localize("main", { language: "fr" }); //$("[data-localize]").localize("main", { language: "fr" });
function changeLangFR() { function changeLangFR() {
$("[data-localize]").localize("main", { $("[data-localize]")
pathPrefix: "lang", .localize("main", {
language: "fr", pathPrefix: "lang",
}); language: "fr",
})
.localize("books", {
pathPrefix: "lang",
language: "fr",
});
currentLang = "fr";
} }
function changeLangEN() { function changeLangEN() {
$("[data-localize]").localize("main", { $("[data-localize]")
.localize("main", {
pathPrefix: "lang",
language: "en",
})
.localize("books", {
pathPrefix: "lang",
language: "en",
});
currentLang = "en";
}
function refreshBooks() {
$("[data-localize]").localize("books", {
pathPrefix: "lang", pathPrefix: "lang",
language: "en", language: currentLang,
}); });
}
function setLocalizeDataAttr(className, dataValue) {
$("#" + className).data("localize", dataValue).attr("data-localize", dataValue);
} }

35
lang/books-en.json Normal file
View file

@ -0,0 +1,35 @@
{
"ADV1": {
"code": "ADV1",
"title": "Adventurers",
"desc": [
"*Découvrez lunivers dEana et ses multiples civilisations hautes en couleur, retrouvez les portails perdus des Voyageurs, gravissez les marches de la Forge du destin et mesurez-vous aux Dragons-dieux !* **Aventuriers** est le premier volume de la gamme de jeu de rôle Dragons. Destiné aux joueurs et au meneur, il se compose de trois parties :",
"**Création de personnage.** Déterminez avec votre meneur dans quelles conditions votre personnage accède à léveil à la magie, et faites votre choix parmi toutes les options qui soffrent à vous, notamment : neuf espèces jouables ; dix-huit civilisations ; un pas-à-pas pour concevoir des historiques personnalisés ; treize classes dont le lettré, un érudit inventif et capable dagir même dans les régions privées de magie ; de nombreux dons pour accompagner lévolution de votre héros.",
"**Vie quotidienne.** Découvrez la mythique Cité franche, ainsi que toutes les règles permettant de donner corps aux voyages et à la vie quotidienne. Le mystère, lexploration et la découverte sont au cœur de lexpérience du jeu. Que vous vous déplaciez à pied, en bateau ou en nefélytre, répondez à lappel de laventure !",
"**Règles du jeu.** Le système est organisé autour de quatre pôles : les caractéristiques, laventure, le combat et la santé. Les règles optionnelles sont présentées à laide dun système modulaire permettant à chaque meneur de définir son propre style de jeu."
],
"physical-link": "https://www.philibertnet.com/fr/dragons/62090-dragons-1-aventuriers-livre-de-base-9782919256365.html",
"pdf-link": "https://www.drivethrurpg.com/product/422886/Dragons--1--Livre-de-base--Aventuriers",
"author": [
"Team Agate"
],
"published-date": "01/04/2018",
"cf-date": "14/03/2016"
},
"CRE2": {
"code": "CRE2",
"title": "Creature : Netherworld",
"desc": [
"*"
],
"physical-link": "",
"pdf-link": "",
"author": [
"Team Agate"
],
"published-date": "",
"cf-date": ""
}
}

35
lang/books-fr.json Normal file
View file

@ -0,0 +1,35 @@
{
"ADV1": {
"code": "ADV1",
"title": "Aventuriers",
"desc": [
"*Découvrez lunivers dEana et ses multiples civilisations hautes en couleur, retrouvez les portails perdus des Voyageurs, gravissez les marches de la Forge du destin et mesurez-vous aux Dragons-dieux !* **Aventuriers** est le premier volume de la gamme de jeu de rôle Dragons. Destiné aux joueurs et au meneur, il se compose de trois parties :",
"**Création de personnage.** Déterminez avec votre meneur dans quelles conditions votre personnage accède à léveil à la magie, et faites votre choix parmi toutes les options qui soffrent à vous, notamment : neuf espèces jouables ; dix-huit civilisations ; un pas-à-pas pour concevoir des historiques personnalisés ; treize classes dont le lettré, un érudit inventif et capable dagir même dans les régions privées de magie ; de nombreux dons pour accompagner lévolution de votre héros.",
"**Vie quotidienne.** Découvrez la mythique Cité franche, ainsi que toutes les règles permettant de donner corps aux voyages et à la vie quotidienne. Le mystère, lexploration et la découverte sont au cœur de lexpérience du jeu. Que vous vous déplaciez à pied, en bateau ou en nefélytre, répondez à lappel de laventure !",
"**Règles du jeu.** Le système est organisé autour de quatre pôles : les caractéristiques, laventure, le combat et la santé. Les règles optionnelles sont présentées à laide dun système modulaire permettant à chaque meneur de définir son propre style de jeu."
],
"physical-link": "https://www.philibertnet.com/fr/dragons/62090-dragons-1-aventuriers-livre-de-base-9782919256365.html",
"pdf-link": "https://www.drivethrurpg.com/product/422886/Dragons--1--Livre-de-base--Aventuriers",
"author": [
"Team Agate"
],
"published-date": "01/04/2018",
"cf-date": "14/03/2016"
},
"CRE2": {
"code": "CRE2",
"title": "Créature : Inframonde",
"desc": [
"*"
],
"physical-link": "",
"pdf-link": "",
"author": [
"Team Agate"
],
"published-date": "",
"cf-date": ""
}
}

5157
lib/showdown.js Normal file

File diff suppressed because it is too large Load diff

1
lib/showdown.js.map Normal file

File diff suppressed because one or more lines are too long

3
lib/showdown.min.js vendored Normal file

File diff suppressed because one or more lines are too long

1
lib/showdown.min.js.map Normal file

File diff suppressed because one or more lines are too long