Skip to content
Commits on Source (20)
......@@ -5,4 +5,5 @@ yarn-error.log
.svelte-kit
/src/node_modules
/build
__sapper__
\ No newline at end of file
__sapper__
vite.config.js.timestamp-*
\ No newline at end of file
......@@ -73,7 +73,6 @@ yarn:build:
yarn:validate:
stage: test
extends: .nodejs
allow_failure: true
script:
- yarn run validate
......
# Changelog
## [1.11.0](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/compare/release/1.10.0...release/1.11.0) (2024-06-17)
### Features
* **about:** add style and modal ([9456872](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/9456872dfd418ebead1f6d22c711d155e0c09f54))
* **about:** last text modification ([d9d90c6](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/d9d90c6283b518543d8f4c8882227675b28018c4))
* **git:** update git ignore file ([0b77d42](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/0b77d4289dae0b4709ec787031e42c9f4cf61e0f))
### Bug Fixes
* **about:** change wiki eole by eole ([c71472e](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/c71472e67978ff8f22b9debdb03ac1efbab274e8))
* **about:** fix page in mobile view ([fa96721](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/fa9672130f5459cfb0f13337f6c4a198c77e8d4b))
* **accent:** update acccent sensitive function ([f9e9793](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/f9e9793d1fa9a63c994c81f40b75c16ef78ac20f))
* **ci:** disable allow failure for tests ([d358f7e](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/d358f7eb858a5e097b7c33aec71f27daea79c9f0))
* **file:** delete unwanted file vite config ([3a636d6](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/3a636d6466847e687b612cb0e68e404b0991a525))
* **footer:** fix link in footer for about page ([5240a86](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/5240a86bf63d90a0a09d9cb890b48b9816f2a4b3))
* **link:** redirect link for about page was wrong ([53e1f07](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/53e1f07e8177d5e3964765bddc2be9bfe2141278))
* **translation:** fix some useless translation ([5df7aff](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/5df7aff0bf71ecef9cac6bd29f174e134d814285))
* **traslate:** update missing english translation ([65799bc](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/commit/65799bc43b17b597de2a43f76cbf9d5ef218b44b))
## [1.10.0](https://gitlab.mim-libre.fr/alphabet/laboite-blog-front/compare/release/1.9.0...release/1.10.0) (2024-01-30)
......
{
"name": "laboite-blog-front",
"description": "laboite blog service frontend",
"version": "1.10.0",
"version": "1.11.0",
"license": "EUPL-1.2",
"author": "EOLE/PCLL <team@eole.education> - DINUM",
"type": "module",
......@@ -24,6 +24,8 @@
"@toast-ui/editor-plugin-color-syntax": "^3.0.3",
"@toast-ui/editor-plugin-table-merged-cell": "^3.0.2",
"@toast-ui/editor-plugin-uml": "^3.0.1",
"@zerodevx/svelte-toast": "^0.9.5",
"bowser": "^2.11.0",
"eslint": "^8.23.1",
"npm-run-all": "^4.1.5",
"prettier": "^2.7.1",
......
<script>
import {_} from 'svelte-i18n';
import {toast} from '@zerodevx/svelte-toast';
export let showModal;
export let browser;
export let os;
export let platform;
let dialog; // HTMLDialogElement
const handleClickModal = () => {
navigator.clipboard.writeText(
`Navigateur: ${browser.name},
Version: ${JSON.stringify(browser.version)},
Os: ${JSON.stringify(os.name)},
Appareil: ${JSON.stringify(platform.type)}`,
);
toast.push($_('pages.AboutPage.Modal.success'));
dialog.close();
};
$: if (dialog && showModal) dialog.showModal();
</script>
<!-- svelte-ignore a11y-click-events-have-key-events a11y-no-noninteractive-element-interactions -->
<dialog
bind:this={dialog}
on:close={() => (showModal = false)}
on:click|self={() => dialog.close()}
>
<!-- svelte-ignore a11y-no-static-element-interactions -->
<div on:click|stopPropagation>
<slot name="header" />
<hr />
<slot />
<hr />
<!-- svelte-ignore a11y-autofocus -->
<button class="buttonInfos" autofocus on:click={() => dialog.close()}
>{$_('pages.AboutPage.Modal.close')}</button
>
<button class="buttonInfos" on:click={() => handleClickModal()}
>{$_('pages.AboutPage.Modal.copy')}</button
>
</div>
</dialog>
<style>
dialog {
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 20px;
}
.buttonInfos {
align-items: center;
justify-content: center;
vertical-align: middle;
font-family: WorkSansRegular;
font-weight: 500;
font-size: 0.875rem;
line-height: 1.75;
text-transform: uppercase;
min-width: 64px;
padding: 6px 16px;
border-radius: 8px;
color: #fff;
background-color: #011caa;
border: none;
cursor: pointer;
}
</style>
......@@ -35,7 +35,7 @@
class="input is-rounded"
type="text"
disabled={loading}
placeholder={$_('components.SearchField.placeholder')}
placeholder={$_('components.SearchField.search')}
/>
</p>
<div class="control">
......
......@@ -26,7 +26,7 @@
<div class="subtitle is-5">{structure.name}</div>
{/if}
{#if search}
<div>{$_('components.SingleResearch.search')}: {search}</div>
<div>{$_('components.SearchField.search')}: {search}</div>
{/if}
{#if tags}
......
......@@ -12,12 +12,14 @@
gcu: {external: false, link: '', content: ''},
personalData: {external: false, link: '', content: ''},
};
let loading = true;
let loading = false;
let targetLocation = '';
onMount(async () => {
const appsettings = await fetch(`${$page.data.env.API_HOST}/appsettings`);
settings = await appsettings.json();
loading = false;
targetLocation = new URL('/about', window.location);
});
$: footer = [
......@@ -45,6 +47,10 @@
? settings.personalData.link
: `${$page.data.env.LABOITE_HOST}/legal/personal-data`,
},
{
text: $_('links.about'),
path: targetLocation,
},
];
</script>
......
<script defer src="./fonts/js/all.min.js">
import {SvelteToast} from '@zerodevx/svelte-toast';
import {browser} from '$app/environment';
import {_, locale} from 'svelte-i18n';
import MatomoTracker from '../components/matomo/MatomoTracker.svelte';
......@@ -49,6 +50,7 @@
{/if}
<main class="container">
<SvelteToast />
{#if !!maintenance.maintenance}
<div class="maintenance">
<h1>{$_('maintenance')}</h1>
......
<script>
import {_} from 'svelte-i18n';
import Bowser from 'bowser';
import {onMount} from 'svelte';
import Loader from '../../components/common/Loader.svelte';
import Modal from '../../components/common/Modal.svelte';
let version = __APP_VERSION__;
let loading = false;
$: mobile = () => window.innerWidth < 768;
let showModal = false;
let dialog; // HTMLDialogElement
let browser = {};
let os = {};
let platform = {};
onMount(async () => {
browser = Bowser.parse(window.navigator.userAgent);
os = browser.os;
platform = browser.platform;
browser = browser.browser;
});
$: if (dialog && showModal) dialog.showModal();
</script>
{#if loading}
<Loader message={$_('loading')} />
{/if}
<div style={showModal && 'opacity: 0.3'} class="containerPaper">
<div class="imgContainer">
<img class="imageSize" src="/puce_eole.png" alt="puce eole" />
</div>
<div class="textZone">
<h1 class="title is-1">
<i class="titleH1" style="color: #372F84">Le Blog - version {version}</i>
</h1>
<p>
{$_('pages.AboutPage.developped')}{' '}
<a
title="EUPL 1.2"
target="_blank"
rel="noreferrer noopener"
href="https://eupl.eu/1.2/fr/"
>
EUPL 1.2
</a>{' '}
{$_('pages.AboutPage.socle')}{' '}
<a
title="EOLE 3"
target="_blank"
rel="noreferrer noopener"
href="https://pcll.ac-dijon.fr/eole/eole-3/"
>
EOLE³
</a>
</p>
<p>
{$_('pages.AboutPage.by')}{' '}
<a
title="PCLL"
target="_blank"
rel="noreferrer noopener"
href="https://pcll.ac-dijon.fr/pcll/"
>
Pôle de Compétences Logiciels Libres
</a>{' '}
{$_('pages.AboutPage.and')}{' '}
<a
title="MENJ"
target="_blank"
rel="noreferrer noopener"
href="https://www.education.gouv.fr/"
>
Ministère de l`&apos;`Éducation Nationale et de la Jeunesse
</a>{' '}
{$_('pages.AboutPage.contributions')}{' '}
<a
title="DINUM"
target="_blank"
rel="noreferrer noopener"
href="https://www.numerique.gouv.fr/dinum/"
>
Direction Interministérielle du Numérique
</a>{' '}
{$_('pages.AboutPage.external')}
</p>
<p>
{$_('pages.AboutPage.links')}{' '}
<a
title="wiki eole"
target="_blank"
rel="noreferrer noopener"
href="https://eole.education/"
>
documentation de l'application.
</a>
</p>
<p>
{$_('pages.AboutPage.exchange')}{' '}
<a
title={$_('pages.AboutPage.chat')}
target="_blank"
rel="noreferrer noopener"
href="https://chat.mim-libre.fr"
>
{$_('pages.AboutPage.chat')}.
</a>
</p>
<p>
{$_('pages.AboutPage.news')}{' '}
<a
title="Mastodon"
target="_blank"
rel="noreferrer noopenner"
href="https://mastodon.eole.education/@EOLE"
>
Mastodon.
</a>
</p>
<p>
{$_('pages.AboutPage.contributing')}{' '}
<a
title={$_('pages.AboutPage.deposit')}
target="_blank"
rel="noreferrer noopenner"
href="https://gitlab.mim-libre.fr/alphabet/laboite-blog-front"
>
{$_('pages.AboutPage.deposit')}.
</a>
</p>
<br />
<button class=" button buttonInfos" on:click={() => (showModal = true)}>
{$_('pages.AboutPage.information')}
</button>
</div>
<!-- svelte-ignore a11y-click-events-have-key-events -->
<Modal bind:showModal {browser} {os} {platform}>
<p>
{$_('pages.AboutPage.Modal.navigator')}
{JSON.stringify(browser.name)}
</p>
<p>
{$_('pages.AboutPage.Modal.version')}
{JSON.stringify(browser.version)}
</p>
<p>
{$_('pages.AboutPage.Modal.os')}
{JSON.stringify(os.name)}
</p>
<p>
{$_('pages.AboutPage.Modal.device')}
{JSON.stringify(platform.type)}
</p>
</Modal>
</div>
<style>
.imageSize {
height: 10vw;
place-content: center;
}
.titleH1 {
font-family: WorkSansBold;
}
.containerPaper {
display: flex;
flex-direction: row;
height: 80vh;
padding: 10;
place-items: center;
background-color: #fff;
color: #040d3e;
-webkit-transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
border-radius: 8px;
box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2),
0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.imgContainer {
display: flex;
width: 25%;
justify-content: center;
}
.textZone {
width: 50vw;
}
.buttonInfos {
align-items: center;
justify-content: center;
vertical-align: middle;
font-family: WorkSansRegular;
font-weight: 500;
font-size: 0.875rem;
line-height: 1.75;
text-transform: uppercase;
min-width: 64px;
padding: 6px 16px;
border-radius: 8px;
color: #fff;
background-color: #011caa;
border: none;
}
.buttonInfos:focus {
color: #fff;
}
@media screen and (max-width: 768px) {
.containerPaper {
padding: 6px 0px;
overflow: auto;
flex-direction: column;
height: 90vh;
}
.buttonInfos {
margin-bottom: 5vh;
}
.textZone {
width: 90%;
}
}
</style>
......@@ -2,16 +2,16 @@ const accentInsensitive = searchString => {
// inspired from https://stackoverflow.com/questions/227950/
const accented = {
// eslint-disable-next-line max-len
A: '[Aa\xaa\xc0-\xc5\xe0-\xe5\u0100-\u0105\u01cd\u01ce\u0200-\u0203\u0226\u0227\u1d2c\u1d43\u1e00\u1e01\u1e9a\u1ea0-\u1ea3\u2090\u2100\u2101\u213b\u249c\u24b6\u24d0\u3371-\u3374\u3380-\u3384\u3388\u3389\u33a9-\u33af\u33c2\u33ca\u33df\u33ff\uff21\uff41]',
A: '[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]',
// eslint-disable-next-line max-len
E: '[Ee\xc8-\xcb\xe8-\xeb\u0112-\u011b\u0204-\u0207\u0228\u0229\u1d31\u1d49\u1e18-\u1e1b\u1eb8-\u1ebd\u2091\u2121\u212f\u2130\u2147\u24a0\u24ba\u24d4\u3250\u32cd\u32ce\uff25\uff45]',
E: '[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]',
// eslint-disable-next-line max-len
I: '[Ii\xcc-\xcf\xec-\xef\u0128-\u0130\u0132\u0133\u01cf\u01d0\u0208-\u020b\u1d35\u1d62\u1e2c\u1e2d\u1ec8-\u1ecb\u2071\u2110\u2111\u2139\u2148\u2160-\u2163\u2165-\u2168\u216a\u216b\u2170-\u2173\u2175-\u2178\u217a\u217b\u24a4\u24be\u24d8\u337a\u33cc\u33d5\ufb01\ufb03\uff29\uff49]',
I: '[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]',
// eslint-disable-next-line max-len
O: '[Oo\xba\xd2-\xd6\xf2-\xf6\u014c-\u0151\u01a0\u01a1\u01d1\u01d2\u01ea\u01eb\u020c-\u020f\u022e\u022f\u1d3c\u1d52\u1ecc-\u1ecf\u2092\u2105\u2116\u2134\u24aa\u24c4\u24de\u3375\u33c7\u33d2\u33d6\uff2f\uff4f]',
O: '[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]',
// eslint-disable-next-line max-len
U: '[Uu\xd9-\xdc\xf9-\xfc\u0168-\u0173\u01af\u01b0\u01d3\u01d4\u0214-\u0217\u1d41\u1d58\u1d64\u1e72-\u1e77\u1ee4-\u1ee7\u2106\u24b0\u24ca\u24e4\u3373\u337a\uff35\uff55]',
C: '[Cc\xc7\xe7]',
U: '[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]',
C: '[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]',
};
// replace characters by their compositors
......
{
"title": "Le blog",
"loading": "Chargement",
"title": "Le Blog",
"loading": "Loading",
"maintenance": "Application is in maintenance mode",
"articles": "Articles",
"back": "Back",
......@@ -17,7 +17,8 @@
"legal": "Legal",
"accessibility": "Accessibility",
"gcu": "Term of use",
"personalData": "Personnal data"
"personalData": "Personnal data",
"about": "About"
},
"license": {
"license": "License",
......@@ -29,6 +30,31 @@
"CC BY-NC-ND": "Attribution-NonCommercial-NoDerivatives"
},
"pages": {
"AboutPage": {
"developped": "Le Blog is an application from LaBoite licensed as",
"socle": "part of the base",
"by": "Made by",
"and": "and",
"contributions": "in partnership with the",
"external": "and external contributors.",
"links": "You can consult the",
"exchange": "You can communicate with us on the",
"chat": "Mim-libre chat",
"news": "Find the latest information on ",
"contributing": "Want to participate in improving the portal? Find the project on ",
"deposit": "Gitlab Mim-libre",
"information": "Troubleshooting Information",
"Modal": {
"information": "Your informations",
"navigator": "Navigator :",
"version": "Version :",
"os": "Os :",
"device": "Device :",
"close": "Close",
"copy": "Copy informations",
"success": "Copy success"
}
},
"home": {
"last_title": "Last articles",
"last_subtitle": "These are the last articles published",
......@@ -71,23 +97,18 @@
},
"favorites": {
"title": "Your favorites authors and articles",
"subtitle": "subtitle",
"articles_title": "List of your articles",
"articles_subtitle": "Your favorites articles",
"authors_title": "List of your authors",
"authors_subtitle": "Visit their page",
"noauthors_title": "You have no authors in your favorites",
"noauthors_subtitle": "noauthors_subtitle",
"groups_title": "List of your groups",
"groups_subtitle": "Visit their page",
"nogroups_title": "You have no groups in your favorites",
"nogroups_subtitle": "nogroups_subtitle",
"noarticles_title": "You have no articles in your favorites",
"noarticles_subtitle": "noarticles_subtitle",
"research_title": "Your researches",
"research_subtitle": "Find you favorties research in a blink",
"noresearch_title": "No researches saved",
"noresearch_subtitle": "noresearch_subtitle"
"noresearch_title": "No researches saved"
}
},
"components": {
......@@ -113,13 +134,11 @@
"unknownLastname": "User"
},
"SmallAuthorIdCard": {
"structure": "Structure",
"articles": "Number of articles",
"all_articles": "See all articles"
},
"SearchField": {
"search": "Search",
"placeholder": "Search"
"search": "Search"
},
"Pagination": {
"next": "Next",
......@@ -137,7 +156,6 @@
},
"SingleResearch": {
"type": "Type",
"search": "Search",
"go": "See the results"
}
}
......
......@@ -17,7 +17,8 @@
"legal": "Mentions légales",
"accessibility": "Accessibilité",
"gcu": "Conditions générales d'utilisation",
"personalData": "Données personnelles"
"personalData": "Données personnelles",
"about": "À propos"
},
"license": {
"license": "Licence",
......@@ -29,6 +30,31 @@
"CC BY-NC-ND": "Attribution Pas d'utilisation commerciale Pas de modification"
},
"pages": {
"AboutPage": {
"developped": "Le Blog est un service du portail LaBoite sous licence",
"socle": "faisant partie du socle",
"by": "Réalisation du",
"and": "du",
"contributions": "en partenariat avec la",
"external": "et des contributeurs externes.",
"links": "Vous pouvez consulter la",
"exchange": "Vous pouvez échanger avec nous sur le",
"chat": "chat Mim-libre",
"news": "Retrouvez les dernières informations du pôle sur ",
"contributing": "Envie de participer à l'amélioration du portail ? Retouvez le projet sur ",
"deposit": "forge Mim-libre",
"information": "Informations de dépannage",
"Modal": {
"information": "Vos informations",
"navigator": "Navigateur :",
"version": "Version :",
"os": "Os :",
"device": "Appareil :",
"close": "Fermer",
"copy": "Copier les informations",
"success": "Informations copié avec succès"
}
},
"home": {
"last_title": "Derniers articles",
"last_subtitle": "Voici les derniers articles publiés",
......@@ -71,23 +97,18 @@
},
"favorites": {
"title": "Vos articles et auteurs favoris",
"subtitle": "blablabla",
"articles_title": "Liste de vos articles",
"articles_subtitle": "Retrouvez vos articles favoris",
"authors_title": "Liste de vos auteurs",
"authors_subtitle": "Visitez leur page",
"noauthors_title": "Vous n'avez aucun auteur dans vos favoris",
"noauthors_subtitle": "noauthors_subtitle",
"groups_title": "Liste de vos groupes",
"groups_subtitle": "Visitez leur page",
"nogroups_title": "Vous n'avez aucun groupe dans vos favoris",
"noagroups_subtitle": "nogroups_subtitle",
"noarticles_title": "Vous n'avez aucun article dans vos favoris",
"noarticles_subtitle": "noarticles_subtitle",
"research_title": "Vos recherches",
"research_subtitle": "Retrouvez vos résultats en un clin d'oeil",
"noresearch_title": "Aucune recherche enregistrée",
"noresearch_subtitle": "noresearch_subtitle"
"noresearch_title": "Aucune recherche enregistrée"
}
},
"components": {
......@@ -113,13 +134,11 @@
"unknownLastname": "Inconnu"
},
"SmallAuthorIdCard": {
"structure": "Structure",
"articles": "Nombre d'articles",
"all_articles": "Voir tous les articles"
},
"SearchField": {
"search": "Rechercher",
"placeholder": "Rechercher"
"search": "Rechercher"
},
"Pagination": {
"next": "Suivant",
......@@ -137,7 +156,6 @@
},
"SingleResearch": {
"type": "Type",
"search": "Recherche",
"go": "Voir les résultats"
}
}
......
// vite.config.js
import { sveltekit } from "file:///home/vincent/depots/laboite-blog/laboite-blog-front/node_modules/@sveltejs/kit/src/exports/vite/index.js";
// package.json
var version = "1.9.0";
// vite.config.js
var config = {
plugins: [sveltekit()],
define: {
__APP_VERSION__: JSON.stringify(version)
}
};
var vite_config_default = config;
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcuanMiLCAicGFja2FnZS5qc29uIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL2hvbWUvdmluY2VudC9kZXBvdHMvbGFib2l0ZS1ibG9nL2xhYm9pdGUtYmxvZy1mcm9udFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL2hvbWUvdmluY2VudC9kZXBvdHMvbGFib2l0ZS1ibG9nL2xhYm9pdGUtYmxvZy1mcm9udC92aXRlLmNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS92aW5jZW50L2RlcG90cy9sYWJvaXRlLWJsb2cvbGFib2l0ZS1ibG9nLWZyb250L3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IHtzdmVsdGVraXR9IGZyb20gJ0BzdmVsdGVqcy9raXQvdml0ZSc7XG5pbXBvcnQge3ZlcnNpb259IGZyb20gJy4vcGFja2FnZS5qc29uJztcblxuY29uc3QgY29uZmlnID0ge1xuICBwbHVnaW5zOiBbc3ZlbHRla2l0KCldLFxuICBkZWZpbmU6IHtcbiAgICBfX0FQUF9WRVJTSU9OX186IEpTT04uc3RyaW5naWZ5KHZlcnNpb24pLFxuICB9LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29uZmlnO1xuIiwgIntcbiAgXCJuYW1lXCI6IFwibGFib2l0ZS1ibG9nLWZyb250XCIsXG4gIFwiZGVzY3JpcHRpb25cIjogXCJsYWJvaXRlIGJsb2cgc2VydmljZSBmcm9udGVuZFwiLFxuICBcInZlcnNpb25cIjogXCIxLjkuMFwiLFxuICBcImxpY2Vuc2VcIjogXCJFVVBMLTEuMlwiLFxuICBcImF1dGhvclwiOiBcIkVPTEUvUENMTCA8dGVhbUBlb2xlLmVkdWNhdGlvbj4gLSBESU5VTVwiLFxuICBcInR5cGVcIjogXCJtb2R1bGVcIixcbiAgXCJzY3JpcHRzXCI6IHtcbiAgICBcInN0YXJ0LWRldlwiOiBcIm5wbS1ydW4tYWxsIC0tcGFyYWxsZWwgc2VydmVyIGNzcy13YXRjaCBkZXZcIixcbiAgICBcImluaXQtZGV2XCI6IFwieWFybiAmJiBjZCAuLi9sYWJvaXRlLWJsb2ctYXBpICYmIHlhcm5cIixcbiAgICBcImRldlwiOiBcImRvdGVudl9jb25maWdfcGF0aD0uZW52IE5PREVfT1BUSU9OUz0nLXIgZG90ZW52L2NvbmZpZycgdml0ZSAtLXBvcnQgNDAwMFwiLFxuICAgIFwiYnVpbGRcIjogXCJ5YXJuIGNzcy1idWlsZCAmJiB2aXRlIGJ1aWxkXCIsXG4gICAgXCJzZXJ2ZXJcIjogXCJjZCAuLi9sYWJvaXRlLWJsb2ctYXBpICYmIGRvdGVudl9jb25maWdfcGF0aD0uZW52IE5PREVfT1BUSU9OUz0nLXIgZG90ZW52L2NvbmZpZycgeWFybiBzdGFydFwiLFxuICAgIFwiZXhwb3J0XCI6IFwidml0ZSBidWlsZFwiLFxuICAgIFwic3RhcnRcIjogXCJub2RlIGJ1aWxkXCIsXG4gICAgXCJ2YWxpZGF0ZVwiOiBcInN2ZWx0ZS1jaGVja1wiLFxuICAgIFwiY3NzLWJ1aWxkXCI6IFwibm9kZS1zYXNzIC0tb21pdC1zb3VyY2UtbWFwLXVybCBzcmMvdXRpbHMvdGhlbWUvaW5kZXguc2NzcyBzcmMvdXRpbHMvdGhlbWUvaW5kZXguY3NzXCIsXG4gICAgXCJjc3Mtd2F0Y2hcIjogXCJ5YXJuIGNzcy1idWlsZCAtLXdhdGNoXCJcbiAgfSxcbiAgXCJkZXBlbmRlbmNpZXNcIjoge1xuICAgIFwiQHRvYXN0LXVpL2VkaXRvclwiOiBcIl4zLjEuNVwiLFxuICAgIFwiQHRvYXN0LXVpL2VkaXRvci1wbHVnaW4tY2hhcnRcIjogXCJeMy4wLjFcIixcbiAgICBcIkB0b2FzdC11aS9lZGl0b3ItcGx1Z2luLWNvZGUtc3ludGF4LWhpZ2hsaWdodFwiOiBcIl4zLjAuMFwiLFxuICAgIFwiQHRvYXN0LXVpL2VkaXRvci1wbHVnaW4tY29sb3Itc3ludGF4XCI6IFwiXjMuMC4zXCIsXG4gICAgXCJAdG9hc3QtdWkvZWRpdG9yLXBsdWdpbi10YWJsZS1tZXJnZWQtY2VsbFwiOiBcIl4zLjAuMlwiLFxuICAgIFwiQHRvYXN0LXVpL2VkaXRvci1wbHVnaW4tdW1sXCI6IFwiXjMuMC4xXCIsXG4gICAgXCJlc2xpbnRcIjogXCJeOC4yMy4xXCIsXG4gICAgXCJpc29tb3JwaGljLWZldGNoXCI6IFwiXjMuMC4wXCIsXG4gICAgXCJucG0tcnVuLWFsbFwiOiBcIl40LjEuNVwiLFxuICAgIFwicHJldHRpZXJcIjogXCJeMi43LjFcIixcbiAgICBcInByZXR0aWVyLXBsdWdpbi1zdmVsdGVcIjogXCJeMi43LjBcIixcbiAgICBcInNhbml0aXplLWh0bWxcIjogXCJeMi4xMC4wXCIsXG4gICAgXCJzZW12ZXJcIjogXCJeNy41LjJcIixcbiAgICBcInN2ZWx0ZS1pMThuXCI6IFwiNC4wLjBcIixcbiAgICBcInZpdGVcIjogXCJeNC4zLjlcIlxuICB9LFxuICBcImRldkRlcGVuZGVuY2llc1wiOiB7XG4gICAgXCJAYmFiZWwvY29yZVwiOiBcIl43LjE3LjEwXCIsXG4gICAgXCJAYmFiZWwvcGx1Z2luLXN5bnRheC1keW5hbWljLWltcG9ydFwiOiBcIl43LjguM1wiLFxuICAgIFwiQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcnVudGltZVwiOiBcIl43LjE3LjEwXCIsXG4gICAgXCJAYmFiZWwvcHJlc2V0LWVudlwiOiBcIl43LjE3LjEwXCIsXG4gICAgXCJAYmFiZWwvcnVudGltZVwiOiBcIl43LjE3LjlcIixcbiAgICBcIkBzdmVsdGVqcy9hZGFwdGVyLW5vZGVcIjogXCJeMS4wLjAtbmV4dC43M1wiLFxuICAgIFwiQHN2ZWx0ZWpzL2tpdFwiOiBcIl4xLjAuMC1uZXh0LjMyNFwiLFxuICAgIFwiQHRzY29uZmlnL3N2ZWx0ZVwiOiBcIl4zLjAuMFwiLFxuICAgIFwiQHR5cGVzL25vZGVcIjogXCJeMTcuMC4zMVwiLFxuICAgIFwiYXV0b3ByZWZpeGVyXCI6IFwiXjEwLjQuNlwiLFxuICAgIFwiYnVsbWFcIjogXCJeMC45LjNcIixcbiAgICBcImRvdGVudlwiOiBcIl4xNi4wLjBcIixcbiAgICBcImh0bWwtbWluaWZpZXJcIjogXCJeNC4wLjBcIixcbiAgICBcIm5vZGUtc2Fzc1wiOiBcIl43LjAuMVwiLFxuICAgIFwicG9zdGNzc1wiOiBcIl44LjQuMTNcIixcbiAgICBcInNhc3NcIjogXCJeMS41MS4wXCIsXG4gICAgXCJzdmVsdGVcIjogXCJeMy40OC4wXCIsXG4gICAgXCJzdmVsdGUtY2hlY2tcIjogXCJeMi43LjBcIixcbiAgICBcInN2ZWx0ZS1wcmVwcm9jZXNzXCI6IFwiXjQuMTAuNlwiXG4gIH0sXG4gIFwicmVzb2x1dGlvbnNcIjoge1xuICAgIFwic2VtdmVyXCI6IFwiXjcuNS4yXCJcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUE4VSxTQUFRLGlCQUFnQjs7O0FDR3BXLGNBQVc7OztBREFiLElBQU0sU0FBUztBQUFBLEVBQ2IsU0FBUyxDQUFDLFVBQVUsQ0FBQztBQUFBLEVBQ3JCLFFBQVE7QUFBQSxJQUNOLGlCQUFpQixLQUFLLFVBQVUsT0FBTztBQUFBLEVBQ3pDO0FBQ0Y7QUFFQSxJQUFPLHNCQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
......@@ -1578,6 +1578,11 @@
resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
"@zerodevx/svelte-toast@^0.9.5":
version "0.9.5"
resolved "https://registry.yarnpkg.com/@zerodevx/svelte-toast/-/svelte-toast-0.9.5.tgz#d86704f68e2f44475f53e273dc26c3d367ffb99a"
integrity sha512-JLeB/oRdJfT+dz9A5bgd3Z7TuQnBQbeUtXrGIrNWMGqWbabpepBF2KxtWVhL2qtxpRqhae2f6NAOzH7xs4jUSw==
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
......@@ -1752,6 +1757,11 @@ binary-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
bowser@^2.11.0:
version "2.11.0"
resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f"
integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
......