2 Commits
Author SHA1 Message Date
legonzaur fdd6cb7b3f fix: removed text
release-tag / release-image (push) Successful in 1m13s
2025-06-19 18:42:10 +02:00
legonzaur 21089be416 add v3 demands
release-tag / release-image (push) Successful in 1m24s
2025-06-04 20:13:03 +02:00
14 changed files with 816 additions and 116 deletions
+33
View File
@@ -9,14 +9,47 @@ body {
line-height: 1.6; line-height: 1.6;
font-size: 18px; font-size: 18px;
color: #444; color: #444;
background-color: #efefef;
padding: 0 10px; padding: 0 10px;
font-family: 'Arial' font-family: 'Arial'
} }
main,
form {
display: flex;
flex-wrap: none;
flex-direction: column;
}
h1, h1,
h2, h2,
h3 { h3 {
line-height: 1.2; line-height: 1.2;
text-decoration: underline; text-decoration: underline;
} }
img {
max-width: 100%;
margin-top: 1em;
margin-bottom: 1em;
}
button {
cursor: pointer;
margin-top: 1em;
margin-bottom: 1em;
padding: .375rem .75rem;
border-width: 0px;
border-radius: .5em;
background-color: rgb(17, 95, 239);
color: white;
font-size: 1em;
width: 100%;
}
button:disabled {
cursor: not-allowed;
filter: grayscale(100%);
}
</style> </style>
+139 -81
View File
@@ -1,63 +1,80 @@
<template> <template>
<div> <main>
<h1>Compte-rendu de la réunion AMAP</h1> <h1>Compte-rendu de la réunion AMAP</h1>
<form @submit.prevent="$emit('submit', $event)"> <form @submit.prevent="$emit('submit', $event)">
<h2>Les permanences de distribution</h2> <h2>Les permanences de distribution</h2>
<div> <div>
1) <b>La notion d’engagement</b> au sein de l’AMAP s’élargit, pour ne pas se restreindre à la <b>La notion d’engagement</b> au sein de l’AMAP s'élargirait, pour ne pas se restreindre à la
réalisation de réalisation de
x x
permanences par an pour les distributions, mais pour l’<b>élargir à d’autres activités</b>, notamment permanences par an pour les distributions, mais pour l’<b>élargir à d’autres activités</b>, notamment
pour pour
les les
amapiens amapiens
ne pouvant réaliser, une partie ou l’ensemble de leur permanence dans l’année. Les activités possibles ne pouvant réaliser, une partie ou l’ensemble de leur permanence dans l’année.
sont :
<ul> <div class="question">
<li> 1.1) Les activités possibles
organiser et réaliser la livraison des fruits d’été et des agrumes, seraient :
</li> <ul>
<li> <li>
réaliser la distribution des œufs, organiser et réaliser la livraison des fruits d’été et des agrumes,
</li> </li>
<li> <li>
être Référent d’un produit. réaliser la distribution des œufs,
</li> </li>
<li> <li>
être Référent du local de distribution (si officiellement créé), Référent Impression, être Référent du local de distribution (si pertinent), Référent Impression,
Ambassadeur Ambassadeur
Réseau Réseau
AMAP, Référent Climatologue, ou Référent des nouveaux amapiens. AMAP, Référent Climatologue (facilitateur des tensions et dysfonctionnements), ou Référent
</li> des
<li> nouveaux amapiens.
être Référent panier solidaire. </li>
</li> <li>
</ul> être Référent panier solidaire.
</li>
</ul>
<component :is="questionComponent" question-id="1.1" :results="results" />
</div>
<div class="question">
1.2) Parmi les activités citées plus haut, on ajoute également celle d’être Référent d’un produit.
<component :is="questionComponent" question-id="1.2" :results="results" />
</div>
<div class="question">
1.3) On ne change rien, la notion d’engagement ne s’élargit pas, les amapiens doivent réaliser leurs
permanences dans l’année.
<component :is="questionComponent" question-id="1.3" :results="results" />
</div>
<component :is="questionComponent" question-id="1" :results="results"
:values="['Je suis ok avec ça.', 'Non, ça n’est pas une bonne idée.']"
:colors="['#87E169', '#FF824B']" />
</div> </div>
<div> <div>
2) <b>Mesurer le niveau d’engagement de chacun</b> : 2) <b>Mesurer le niveau d’engagement de chacun</b> :
<br> <br>
Propositions : Propositions :
<div> <div class="question">
2.1) Estimer les heures que représentent chaque engagement/mission dans un souci d’égalité entre les 2.1) Estimer les heures que représentent chaque engagement/mission dans un souci d’égalité entre les
engagements de chacun. engagements de chacun.
<component :is="questionComponent" question-id="2.1" :results="results" /> <component :is="questionComponent" question-id="2.1" :results="results" />
</div> </div>
<div> <div class="question">
2.2) Raisonner en terme de niveau (ex : Niveau 1 : peu de temps à passer → Niveau 4 : beaucoup de 2.2) Raisonner en terme de niveau (ex : Niveau 1 : peu de temps à passer → Niveau 4 : beaucoup de
temps à passer). temps à passer).
<component :is="questionComponent" question-id="2.2" :results="results" /> <component :is="questionComponent" question-id="2.2" :results="results" />
</div> </div>
<div> <div class="question">
2.3) Ne pas estimer le nombre d’heures ou le niveau d’engagement, le fait que chacun participe à la 2.3) Ne pas estimer le nombre d’heures ou le niveau d’engagement, le fait que chacun participe à la
vie de l’AMAP est suffisant, pas besoin de regarder dans le détail. vie de l’AMAP est suffisant, pas besoin de regarder dans le détail.
@@ -65,7 +82,7 @@
</div> </div>
</div> </div>
<div> <div class="question">
3) <b>« Que faire quand un amapien ne fait pas son quota de permanences de distribution dans 3) <b>« Que faire quand un amapien ne fait pas son quota de permanences de distribution dans
l’année ? »</b> l’année ? »</b>
<br> <br>
@@ -78,30 +95,35 @@
</div> </div>
</div> </div>
<div>
4) <b>« Qui vérifie le nombre de permanences réalisées dans l’année et apporte l’information à <div class="question">
4) <b>« Qui vérifie le nombre de permanences réalisées par chaque amapien dans l’année et apporte
l’information à
l’AG ? »</b> l’AG ? »</b>
<component :is="questionComponent" question-id="4" :results="results" <component :is="questionComponent" question-id="4" :results="results"
:values="['Le référent Climatologue (facilitateur des tensions et dysfonctionnements)', 'L’administrateur Clic’Amap']" :values="['Le référent Climatologue (facilitateur des tensions et dysfonctionnements)', 'L’administrateur Clic’Amap']"
:colors="[]" /> :colors="['#d6e9fa', '#d6e9fa']" />
</div> </div>
<div> <div>
5) <b>Que faire si un amapien ne peut pas réaliser toutes ses permanences de distributions et ne peut 5) <b>Que faire si un amapien ne peut pas réaliser toutes ses permanences de distributions et ne
participer à aucune des activités pré-citées ?</b> peut
participer à aucune activité pré-citée ?</b>
<br>
Propositions : Propositions :
<div> <div class="question">
5.1) On ajoute le sujet à l’ordre du jour lors d’une AG pour écouter les explications de la personne 5.1) On ajoute le sujet à l’ordre du jour lors d’une AG pour écouter les explications de la
personne
concernant son incapacité à respecter les engagements de l’AMAP. concernant son incapacité à respecter les engagements de l’AMAP.
<component :is="questionComponent" question-id="5.1" :results="results" /> <component :is="questionComponent" question-id="5.1" :results="results" />
</div> </div>
<div> <div class="question">
5.2) Un amapien réalise un entretien avec l’amapien concerné pour discuter et lui expliquer son 5.2) Un amapien réalise un entretien avec l’amapien concerné pour discuter et lui expliquer son
exclusion de l’AMAP. exclusion de l’AMAP.
<component :is="questionComponent" question-id="5.2" :results="results" /> <component :is="questionComponent" question-id="5.2" :results="results" />
</div> </div>
<div> <div class="question">
5.3) On n’attend que la prise de conscience vienne de l’amapien. 5.3) On n’attend que la prise de conscience vienne de l’amapien.
<component :is="questionComponent" question-id="5.3" :results="results" /> <component :is="questionComponent" question-id="5.3" :results="results" />
@@ -111,46 +133,63 @@
6) <b>« Qui aborde le sujet avec l’amapien concerné ? »</b> 6) <b>« Qui aborde le sujet avec l’amapien concerné ? »</b>
<br> <br>
Propositions : Propositions :
<div> <div class="question">
6.1) Le référent Climatologue (tensions et dysfonctionnements). 6.1) Le référent Climatologue (tensions et dysfonctionnements).
<component :is="questionComponent" question-id="6.1" :results="results" /> <component :is="questionComponent" question-id="6.1" :results="results" />
</div> </div>
<div class="question">
6.2) Le Référent des nouveaux amapiens (qui gère les arrivées et les départs).
<component :is="questionComponent" question-id="6.2" :results="results" />
</div>
<div class="question">
6.3) Un amapien tiré au sort
<component :is="questionComponent" question-id="6.3" :results="results" />
</div>
</div> </div>
<div> <div>
7) <b>Pour que chaque amapien aient moins de distributions à faire dans l’année :</b> 7) <b>Pour diminuer le nombre de distributions à réaliser dans l’année, pour chaque amapien :</b>
<br> <br>
Propositions : Propositions :
<div> <div class="question">
7.1) Une seule personne par distribution. 7.1) Une seule personne par distribution.
<component :is="questionComponent" question-id="7.1" :results="results" /> <component :is="questionComponent" question-id="7.1" :results="results" />
</div> </div>
<div> <div class="question">
7.2) Aucune personne pour la distribution. 7.2) Aucune personne pour la distribution.
<component :is="questionComponent" question-id="7.2" :results="results" /> <component :is="questionComponent" question-id="7.2" :results="results" />
</div> </div>
<div> <div class="question">
7.3) À certaines distributions un seul amapien (pour les distributions « light »), et à d’autres 7.3) À certaines distributions un seul amapien (pour les distributions « light »), et à d’autres
deux. deux.
<component :is="questionComponent" question-id="7.3" :results="results" /> <component :is="questionComponent" question-id="7.3" :results="results" />
</div> </div>
<div class="question">
7.4) On ne change rien, et on reste avec 2 personnes par distribution
<component :is="questionComponent" question-id="7.4" :results="results" />
</div>
</div> </div>
<div> <div class="question">
8) <b>« Est-ce qu'on propose aux amapiens qui sont également producteurs de ne pas faire de permanences 8) <b>« Est-ce qu'on propose aux amapiens qui sont également producteurs de ne pas faire de
de distribution, ou moins ? (ex : Flavie, Alessandro, Laura, Mathieu) »</b> permanences
de distribution, ou bien moins de distributions ? (ex : Flavie, Alessandro, Laura, Mathieu) »</b>
<component :is="questionComponent" question-id="8" :results="results" <component :is="questionComponent" question-id="8" :results="results"
:values="['Oui, 2 fois moins de distributions.', 'Oui, l’ensemble de leur distributions.', 'Non.']" :values="['Oui, 2 fois moins de distributions.', 'Oui, aucune distribution', 'Non, autant de distributions que les autres']"
:colors="['#4DB544', '#87E169', '#FF824B']" /> :colors="['#4DB544', '#87E169', '#FF824B']" />
</div> </div>
<div> <div>
9) <b>Cas par cas :</b> Colette Payen-Vigne,Valérie Lambert, et Laura Math nous font par de leur 9) <b>Cas par cas :</b> Colette Payen-Vigne,Valérie Lambert, et Laura Math nous font par de leur
impossibilité de réaliser les permanences de distribution les vendredi soir. impossibilité de réaliser les permanences de distribution les vendredi soir.
<div> <div class="question">
9.1) → Valérie : Depuis 4 ans elle s’occupe des cerises en été et elle nous dit que ça occupe plus 9.1) → Valérie : Depuis 4 ans elle s’occupe des cerises en été et elle nous dit que ça occupe
plus
que 4 que 4
distributions, et donc qu’en terme d’engagement, elle fait sa part. distributions, et donc qu’en terme d’engagement, elle fait sa part.
@@ -158,15 +197,16 @@
:values="['Je suis ok avec ça.', 'Non, je ne suis pas d’accord.']" :values="['Je suis ok avec ça.', 'Non, je ne suis pas d’accord.']"
:colors="['#87E169', '#FF824B']" /> :colors="['#87E169', '#FF824B']" />
</div> </div>
<div> <div class="question">
9.2) → Laura : elle est référente Viande pour la ferme de Bellevue des produits, et nous dit avoir 9.2) → Laura : elle est référente Viande pour la ferme de Bellevue des produits, et nous dit
avoir
trouver une organisation pour faire des permanences de distribution le vendredi soir. trouver une organisation pour faire des permanences de distribution le vendredi soir.
<component :is="questionComponent" question-id="9.2" :results="results" <component :is="questionComponent" question-id="9.2" :results="results"
:values="['Je suis ok avec ça.', 'Non, je ne suis pas d’accord.']" :values="['Je suis ok avec ça.', 'Non, je ne suis pas d’accord.']"
:colors="['#87E169', '#FF824B']" /> :colors="['#87E169', '#FF824B']" />
</div> </div>
<div> <div class="question">
9.3) → Colette : elle propose de distribuer les œufs de temps en temps, pour faire sa part. 9.3) → Colette : elle propose de distribuer les œufs de temps en temps, pour faire sa part.
<component :is="questionComponent" question-id="9.3" :results="results" <component :is="questionComponent" question-id="9.3" :results="results"
@@ -178,34 +218,35 @@
</div> </div>
<h2>Règlement des adhésions Alliance</h2> <h2>Règlement des adhésions Alliance</h2>
<div> <div>
10) <b>Qu’est qu’on fait lorsque qu’après deux relances par mail un amapien n’a pas donné de nouvelles 10) <b>Qu’est qu’on fait lorsque qu’après deux relances par mail un amapien n’a pas donné de
nouvelles
et n’a pas payé son adhésion ?</b> et n’a pas payé son adhésion ?</b>
<br> <br>
Propositions : Propositions :
<div> <div class="question">
10.1) L'AMAP demande à l'amapien de quitter l'AMAP. 10.1) L'AMAP demande à l'amapien de quitter l'AMAP.
<component :is="questionComponent" question-id="10.1" :results="results" /> <component :is="questionComponent" question-id="10.1" :results="results" />
</div> </div>
<div> <div class="question">
10.2) Réaliser une relance individuelle par téléphone ou de vive voix. 10.2) Réaliser une relance individuelle par téléphone ou de vive voix.
<component :is="questionComponent" question-id="10.2" :results="results" /> <component :is="questionComponent" question-id="10.2" :results="results" />
</div> </div>
<div> <div class="question">
10.3) Réaliser une relance collective par SMS. 10.3) Réaliser une relance collective par SMS.
<component :is="questionComponent" question-id="10.3" :results="results" /> <component :is="questionComponent" question-id="10.3" :results="results" />
</div> </div>
<div> <div class="question">
11) <b>Envoyer le premier appel de paiement d’adhésion par SMS.</b> 11) <b>Parmi les personnes en retard pour le paiement de leur adhésion, le dernier retardataire,
paye sa bouteille aux autres.</b>
<component :is="questionComponent" question-id="11" :results="results" :values="['Oui', 'Non']" <component :is="questionComponent" question-id="11" :results="results" :values="['Oui', 'Non']"
:colors="['#87E169', '#FF824B']" /> :colors="['#87E169', '#FF824B']" />
</div> </div>
<div> <div class="question">
12) <b>Parmi les personnes en retard pour le paiement de leur adhésion, le dernier retardataire, 12) <b>Envoyer le premier appel de paiement d’adhésion par SMS.</b>
paye sa bouteille aux autres.</b>
<component :is="questionComponent" question-id="12" :results="results" :values="['Oui', 'Non']" <component :is="questionComponent" question-id="12" :results="results" :values="['Oui', 'Non']"
:colors="['#87E169', '#FF824B']" /> :colors="['#87E169', '#FF824B']" />
@@ -213,27 +254,28 @@
</div> </div>
<h2>Récupération des produits le vendredi</h2> <h2>Récupération des produits le vendredi</h2>
<div> <div>
13) <b>« Pour la récupération des produits le vendredi soir, combien d’absences sont tolérées par l'AMAP 13) <b>« Pour la récupération des produits le vendredi soir, combien d’absences sont tolérées par
l'AMAP
? »</b> ? »</b>
<br> <br>
Propositions :; Propositions :;
<div> <div class="question">
13.1) 1 absence par mois. 13.1) 1 absence par mois.
<component :is="questionComponent" question-id="13.1" :results="results" /> <component :is="questionComponent" question-id="13.1" :results="results" />
</div> </div>
<div> <div class="question">
13.2) 2 absences par mois. 13.2) 2 absences par mois.
<component :is="questionComponent" question-id="13.2" :results="results" /> <component :is="questionComponent" question-id="13.2" :results="results" />
</div> </div>
<div> <div class="question">
13.3) 5 absences par an. 13.3) 5 absences par an.
<component :is="questionComponent" question-id="13.3" :results="results" /> <component :is="questionComponent" question-id="13.3" :results="results" />
</div> </div>
<div> <div class="question">
13.4) Auècune absences tolérées. 13.4) Aucune absence tolérée.
<component :is="questionComponent" question-id="13.4" :results="results" /> <component :is="questionComponent" question-id="13.4" :results="results" />
</div> </div>
@@ -241,37 +283,46 @@
14) <b>Gestion des produits livrés le mardi</b> 14) <b>Gestion des produits livrés le mardi</b>
<br> <br>
Propositions : Propositions :
<div> <div class="question">
14.1) « Réaliser des permanences de distributions aussi le mardi soir (donc le mardi et le 14.1) « Réaliser des permanences de distributions aussi le mardi soir (donc le mardi et le
vendredi) ? » vendredi) ? »
<component :is="questionComponent" question-id="14.1" :results="results" /> <component :is="questionComponent" question-id="14.1" :results="results" />
</div> </div>
<div> <div class="question">
14.2) Définir la règle suivante : celui qui vient chercher ses produits avant la distribution du 14.2) Définir la règle suivante : celui qui vient chercher ses produits avant la
vendredi soir doit alors réaliser l’inventaire de l’ensemble des produits livrés des autres distribution du
vendredi soir doit alors réaliser l’nventaire du produit livré pour l’ensemble des autres
amapiens, et mettre dans les cagettes si nécessaire (ex : boite d’oeufs). amapiens, et mettre dans les cagettes si nécessaire (ex : boite d’oeufs).
<component :is="questionComponent" question-id="14.2" :results="results" /> <component :is="questionComponent" question-id="14.2" :results="results" />
</div> </div>
<div class="question">
14.3) Tout le monde vient chercher ses produits le vendredi et pas avant. Les produits livrés le
mardi attendront donc jusqu’à vendredi pour être récupérés.
<component :is="questionComponent" question-id="14.3" :results="results" />
</div>
</div> </div>
</div> </div>
<h2>Annexes</h2> <h2>Annexes</h2>
<div> <div>
15) <b>L’organisation des sacs individuels pour le pain</b> 15) <b>L’organisation des sacs individuels pour le pain</b>
<div> <div class="question">
15.1) Mettre les pains directement dans les cagettes (sans sac) en début de distribution, et ranger 15.1) Mettre les pains directement dans les cagettes (sans sac) en début de distribution, et
ranger
les pains restants, dans les sacs, uniquement en fin de distribution. les pains restants, dans les sacs, uniquement en fin de distribution.
<component :is="questionComponent" question-id="15.1" :results="results" /> <component :is="questionComponent" question-id="15.1" :results="results" />
</div> </div>
<div> <div class="question">
15.2) Abandonner le principe de sac nominatif, étant donné qu’ils sont placés dans les cagettes (sur 15.2) Abandonner le principe de sac nominatif, étant donné qu’ils sont placés dans les cagettes
(sur
laquelle le nom est déjà inscrit). laquelle le nom est déjà inscrit).
<component :is="questionComponent" question-id="15.2" :results="results" /> <component :is="questionComponent" question-id="15.2" :results="results" />
</div> </div>
<div> <div class="question">
15.3) Garder le fonctionnement actuel avec sac nominatif dans la cagette, et rangement des pains 15.3) Garder le fonctionnement actuel avec sac nominatif dans la cagette, et rangement des pains
dans les sacs. dans les sacs.
@@ -280,10 +331,8 @@
</div> </div>
<slot name="submit" /> <slot name="submit" />
</form> </form>
</div> </main>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@@ -298,3 +347,12 @@ const { questionComponent, results = {} } = defineProps<Props>()
defineEmits(['submit']) defineEmits(['submit'])
</script> </script>
<style>
.question {
background: rgb(255, 255, 255);
border-radius: .5em;
padding: 1em;
margin-bottom: 1em;
}
</style>
+14 -4
View File
@@ -24,18 +24,28 @@ const { values = ["Très bien", "Bien", "Passable", "Insuffisant", "À rejeter"]
<style scoped="true" lang="css"> <style scoped="true" lang="css">
.emphased { .emphased {
position: relative; position: relative;
margin-top: 2em; margin-top: 1em;
margin-bottom: 2em;
width: 100%; width: 100%;
border-collapse: collapse; border-collapse: collapse;
display: inline-flex; display: inline-flex;
flex-wrap: nowrap; flex-wrap: nowrap;
} }
.emphased div:last-child { .emphased div {
border-right: 1px solid #444; border-left: 1px solid #444;
} }
.emphased div:last-child {
border-radius: 0 .5em .5em 0;
}
.emphased div:nth-child(2),
.emphased div:first-child {
border-radius: .5em 0 0 .5em;
border-left: none;
}
.hidden { .hidden {
display: none; display: none;
} }
+10 -7
View File
@@ -47,8 +47,7 @@ const total = computed(() => (Object.values(filtered_results.value).reduce((acc,
<style scoped="true" lang="css"> <style scoped="true" lang="css">
.emphased { .emphased {
position: relative; position: relative;
margin-top: 2em; margin-top: 1em;
margin-bottom: 2em;
width: 100%; width: 100%;
border-collapse: collapse; border-collapse: collapse;
display: inline-flex; display: inline-flex;
@@ -69,14 +68,18 @@ const total = computed(() => (Object.values(filtered_results.value).reduce((acc,
.emphased div { .emphased div {
padding: 3px; padding: 3px;
border: 1px solid #444; border-left: 1px solid #444;
border-right: none;
text-overflow: ellipsis;
overflow: hidden; overflow: hidden;
white-space: nowrap; text-wrap: nowrap;
text-overflow: ellipsis;
} }
.emphased div:last-child { .emphased div:last-child {
border-right: 1px solid #444; border-radius: 0 .5em .5em 0;
}
.emphased div:first-child {
border-radius: .5em 0 0 .5em;
border-left: none;
} }
</style> </style>
-1
View File
@@ -28,7 +28,6 @@ function use() {
<style scoped="true"> <style scoped="true">
div { div {
padding: 3px; padding: 3px;
border: 1px solid #444;
border-right: none; border-right: none;
text-overflow: ellipsis; text-overflow: ellipsis;
flex: 1 1 0; flex: 1 1 0;
+1 -1
View File
@@ -2,7 +2,7 @@
export default defineNuxtConfig({ export default defineNuxtConfig({
compatibilityDate: '2025-05-15', compatibilityDate: '2025-05-15',
devtools: { enabled: true }, devtools: { enabled: true },
modules: ['@nuxt/eslint'], modules: ['@nuxt/eslint', '@nuxt/image'],
runtimeConfig:{ runtimeConfig:{
public: { public: {
apiBase: '/api' apiBase: '/api'
+573
View File
@@ -8,6 +8,7 @@
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@nuxt/eslint": "^1.4.1", "@nuxt/eslint": "^1.4.1",
"@nuxt/image": "^1.10.0",
"eslint": "^9.27.0", "eslint": "^9.27.0",
"nuxt": "^3.17.4", "nuxt": "^3.17.4",
"vue": "^3.5.15", "vue": "^3.5.15",
@@ -1281,6 +1282,16 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0" "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
} }
}, },
"node_modules/@fastify/accept-negotiator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@fastify/accept-negotiator/-/accept-negotiator-1.1.0.tgz",
"integrity": "sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==",
"license": "MIT",
"optional": true,
"engines": {
"node": ">=14"
}
},
"node_modules/@fastify/busboy": { "node_modules/@fastify/busboy": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.1.1.tgz", "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-3.1.1.tgz",
@@ -2415,6 +2426,30 @@
"eslint": "^9.0.0" "eslint": "^9.0.0"
} }
}, },
"node_modules/@nuxt/image": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/@nuxt/image/-/image-1.10.0.tgz",
"integrity": "sha512-/B58GeEmme7bkmQUrXzEw8P9sJb9BkMaYZqLDtq8ZdDLEddE3P4nVya8RQPB+p4b7EdqWajpPqdy1A2ZPLev/A==",
"license": "MIT",
"dependencies": {
"@nuxt/kit": "^3.16.0",
"consola": "^3.4.2",
"defu": "^6.1.4",
"h3": "^1.15.1",
"image-meta": "^0.2.1",
"knitwork": "^1.2.0",
"ohash": "^2.0.11",
"pathe": "^2.0.3",
"std-env": "^3.8.1",
"ufo": "^1.5.4"
},
"engines": {
"node": ">=18.20.6"
},
"optionalDependencies": {
"ipx": "^2.1.0"
}
},
"node_modules/@nuxt/kit": { "node_modules/@nuxt/kit": {
"version": "3.17.4", "version": "3.17.4",
"resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.17.4.tgz", "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.17.4.tgz",
@@ -4928,6 +4963,71 @@
"license": "Apache-2.0", "license": "Apache-2.0",
"optional": true "optional": true
}, },
"node_modules/bare-fs": {
"version": "4.1.5",
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.1.5.tgz",
"integrity": "sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"bare-events": "^2.5.4",
"bare-path": "^3.0.0",
"bare-stream": "^2.6.4"
},
"engines": {
"bare": ">=1.16.0"
},
"peerDependencies": {
"bare-buffer": "*"
},
"peerDependenciesMeta": {
"bare-buffer": {
"optional": true
}
}
},
"node_modules/bare-os": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.1.tgz",
"integrity": "sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==",
"license": "Apache-2.0",
"optional": true,
"engines": {
"bare": ">=1.14.0"
}
},
"node_modules/bare-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
"integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"bare-os": "^3.0.1"
}
},
"node_modules/bare-stream": {
"version": "2.6.5",
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.6.5.tgz",
"integrity": "sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"streamx": "^2.21.0"
},
"peerDependencies": {
"bare-buffer": "*",
"bare-events": "*"
},
"peerDependenciesMeta": {
"bare-buffer": {
"optional": true
},
"bare-events": {
"optional": true
}
}
},
"node_modules/base64-js": { "node_modules/base64-js": {
"version": "1.5.1", "version": "1.5.1",
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
@@ -4966,6 +5066,58 @@
"url": "https://github.com/sponsors/antfu" "url": "https://github.com/sponsors/antfu"
} }
}, },
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
"integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
"license": "MIT",
"optional": true,
"dependencies": {
"buffer": "^5.5.0",
"inherits": "^2.0.4",
"readable-stream": "^3.4.0"
}
},
"node_modules/bl/node_modules/buffer": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
"integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT",
"optional": true,
"dependencies": {
"base64-js": "^1.3.1",
"ieee754": "^1.1.13"
}
},
"node_modules/bl/node_modules/readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"license": "MIT",
"optional": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/boolbase": { "node_modules/boolbase": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
@@ -5747,6 +5899,13 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/cssfilter": {
"version": "0.0.10",
"resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz",
"integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==",
"license": "MIT",
"optional": true
},
"node_modules/cssnano": { "node_modules/cssnano": {
"version": "7.0.7", "version": "7.0.7",
"resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.7.tgz", "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.0.7.tgz",
@@ -5931,6 +6090,32 @@
"callsite": "^1.0.0" "callsite": "^1.0.0"
} }
}, },
"node_modules/decompress-response": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz",
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
"license": "MIT",
"optional": true,
"dependencies": {
"mimic-response": "^3.1.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/deep-extend": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
"integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
"license": "MIT",
"optional": true,
"engines": {
"node": ">=4.0.0"
}
},
"node_modules/deep-is": { "node_modules/deep-is": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
@@ -7223,6 +7408,16 @@
"url": "https://github.com/sindresorhus/execa?sponsor=1" "url": "https://github.com/sindresorhus/execa?sponsor=1"
} }
}, },
"node_modules/expand-template": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz",
"integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
"license": "(MIT OR WTFPL)",
"optional": true,
"engines": {
"node": ">=6"
}
},
"node_modules/exsolve": { "node_modules/exsolve": {
"version": "1.0.5", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz", "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.5.tgz",
@@ -7550,6 +7745,13 @@
"node": ">= 0.8" "node": ">= 0.8"
} }
}, },
"node_modules/fs-constants": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz",
"integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
"license": "MIT",
"optional": true
},
"node_modules/fs.realpath": { "node_modules/fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -7722,6 +7924,13 @@
"git-up": "^8.1.0" "git-up": "^8.1.0"
} }
}, },
"node_modules/github-from-package": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
"integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
"license": "MIT",
"optional": true
},
"node_modules/glob": { "node_modules/glob": {
"version": "8.1.0", "version": "8.1.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz",
@@ -8154,6 +8363,41 @@
"url": "https://opencollective.com/ioredis" "url": "https://opencollective.com/ioredis"
} }
}, },
"node_modules/ipx": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ipx/-/ipx-2.1.0.tgz",
"integrity": "sha512-AVnPGXJ8L41vjd11Z4akIF2yd14636Klxul3tBySxHA6PKfCOQPxBDkCFK5zcWh0z/keR6toh1eg8qzdBVUgdA==",
"license": "MIT",
"optional": true,
"dependencies": {
"@fastify/accept-negotiator": "^1.1.0",
"citty": "^0.1.5",
"consola": "^3.2.3",
"defu": "^6.1.4",
"destr": "^2.0.2",
"etag": "^1.8.1",
"h3": "^1.10.0",
"image-meta": "^0.2.0",
"listhen": "^1.5.6",
"ofetch": "^1.3.3",
"pathe": "^1.1.2",
"sharp": "^0.32.6",
"svgo": "^3.2.0",
"ufo": "^1.3.2",
"unstorage": "^1.10.1",
"xss": "^1.0.14"
},
"bin": {
"ipx": "bin/ipx.mjs"
}
},
"node_modules/ipx/node_modules/pathe": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
"integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
"license": "MIT",
"optional": true
},
"node_modules/iron-webcrypto": { "node_modules/iron-webcrypto": {
"version": "1.2.1", "version": "1.2.1",
"resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz",
@@ -8992,6 +9236,19 @@
"url": "https://github.com/sponsors/sindresorhus" "url": "https://github.com/sponsors/sindresorhus"
} }
}, },
"node_modules/mimic-response": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz",
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
"license": "MIT",
"optional": true,
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/min-indent": { "node_modules/min-indent": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
@@ -9067,6 +9324,13 @@
"url": "https://github.com/sponsors/isaacs" "url": "https://github.com/sponsors/isaacs"
} }
}, },
"node_modules/mkdirp-classic": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
"integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
"license": "MIT",
"optional": true
},
"node_modules/mlly": { "node_modules/mlly": {
"version": "1.7.4", "version": "1.7.4",
"resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz",
@@ -9157,6 +9421,13 @@
"integrity": "sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==", "integrity": "sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/napi-build-utils": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz",
"integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
"license": "MIT",
"optional": true
},
"node_modules/napi-postinstall": { "node_modules/napi-postinstall": {
"version": "0.2.4", "version": "0.2.4",
"resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.2.4.tgz", "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.2.4.tgz",
@@ -9307,6 +9578,19 @@
} }
} }
}, },
"node_modules/node-abi": {
"version": "3.75.0",
"resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.75.0.tgz",
"integrity": "sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==",
"license": "MIT",
"optional": true,
"dependencies": {
"semver": "^7.3.5"
},
"engines": {
"node": ">=10"
}
},
"node_modules/node-addon-api": { "node_modules/node-addon-api": {
"version": "7.1.1", "version": "7.1.1",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
@@ -10568,6 +10852,95 @@
"node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
} }
}, },
"node_modules/prebuild-install": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
"integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
"license": "MIT",
"optional": true,
"dependencies": {
"detect-libc": "^2.0.0",
"expand-template": "^2.0.3",
"github-from-package": "0.0.0",
"minimist": "^1.2.3",
"mkdirp-classic": "^0.5.3",
"napi-build-utils": "^2.0.0",
"node-abi": "^3.3.0",
"pump": "^3.0.0",
"rc": "^1.2.7",
"simple-get": "^4.0.0",
"tar-fs": "^2.0.0",
"tunnel-agent": "^0.6.0"
},
"bin": {
"prebuild-install": "bin.js"
},
"engines": {
"node": ">=10"
}
},
"node_modules/prebuild-install/node_modules/chownr": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
"integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
"license": "ISC",
"optional": true
},
"node_modules/prebuild-install/node_modules/detect-libc": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
"license": "Apache-2.0",
"optional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/prebuild-install/node_modules/readable-stream": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
"license": "MIT",
"optional": true,
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/prebuild-install/node_modules/tar-fs": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz",
"integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==",
"license": "MIT",
"optional": true,
"dependencies": {
"chownr": "^1.1.1",
"mkdirp-classic": "^0.5.2",
"pump": "^3.0.0",
"tar-stream": "^2.1.4"
}
},
"node_modules/prebuild-install/node_modules/tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
"integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
"license": "MIT",
"optional": true,
"dependencies": {
"bl": "^4.0.3",
"end-of-stream": "^1.4.1",
"fs-constants": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.1.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/precinct": { "node_modules/precinct": {
"version": "12.2.0", "version": "12.2.0",
"resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz", "resolved": "https://registry.npmjs.org/precinct/-/precinct-12.2.0.tgz",
@@ -10761,6 +11134,39 @@
"node": ">= 0.6" "node": ">= 0.6"
} }
}, },
"node_modules/rc": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
"integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
"license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
"optional": true,
"dependencies": {
"deep-extend": "^0.6.0",
"ini": "~1.3.0",
"minimist": "^1.2.0",
"strip-json-comments": "~2.0.1"
},
"bin": {
"rc": "cli.js"
}
},
"node_modules/rc/node_modules/ini": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
"license": "ISC",
"optional": true
},
"node_modules/rc/node_modules/strip-json-comments": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
"license": "MIT",
"optional": true,
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/rc9": { "node_modules/rc9": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz", "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz",
@@ -11246,6 +11652,74 @@
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
"license": "ISC" "license": "ISC"
}, },
"node_modules/sharp": {
"version": "0.32.6",
"resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz",
"integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==",
"hasInstallScript": true,
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"color": "^4.2.3",
"detect-libc": "^2.0.2",
"node-addon-api": "^6.1.0",
"prebuild-install": "^7.1.1",
"semver": "^7.5.4",
"simple-get": "^4.0.1",
"tar-fs": "^3.0.4",
"tunnel-agent": "^0.6.0"
},
"engines": {
"node": ">=14.15.0"
},
"funding": {
"url": "https://opencollective.com/libvips"
}
},
"node_modules/sharp/node_modules/color": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
"license": "MIT",
"optional": true,
"dependencies": {
"color-convert": "^2.0.1",
"color-string": "^1.9.0"
},
"engines": {
"node": ">=12.5.0"
}
},
"node_modules/sharp/node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"license": "MIT",
"optional": true,
"dependencies": {
"color-name": "~1.1.4"
},
"engines": {
"node": ">=7.0.0"
}
},
"node_modules/sharp/node_modules/detect-libc": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz",
"integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==",
"license": "Apache-2.0",
"optional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/sharp/node_modules/node-addon-api": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
"integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
"license": "MIT",
"optional": true
},
"node_modules/shebang-command": { "node_modules/shebang-command": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -11363,6 +11837,53 @@
"url": "https://github.com/sponsors/isaacs" "url": "https://github.com/sponsors/isaacs"
} }
}, },
"node_modules/simple-concat": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT",
"optional": true
},
"node_modules/simple-get": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz",
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/feross"
},
{
"type": "patreon",
"url": "https://www.patreon.com/feross"
},
{
"type": "consulting",
"url": "https://feross.org/support"
}
],
"license": "MIT",
"optional": true,
"dependencies": {
"decompress-response": "^6.0.0",
"once": "^1.3.1",
"simple-concat": "^1.0.0"
}
},
"node_modules/simple-git": { "node_modules/simple-git": {
"version": "3.27.0", "version": "3.27.0",
"resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz",
@@ -11856,6 +12377,21 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/tar-fs": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.9.tgz",
"integrity": "sha512-XF4w9Xp+ZQgifKakjZYmFdkLoSWd34VGKcsTCwlNWM7QG3ZbaxnTsaBwnjFZqHRf/rROxaR8rXnbtwdvaDI+lA==",
"license": "MIT",
"optional": true,
"dependencies": {
"pump": "^3.0.0",
"tar-stream": "^3.1.5"
},
"optionalDependencies": {
"bare-fs": "^4.0.1",
"bare-path": "^3.0.0"
}
},
"node_modules/tar-stream": { "node_modules/tar-stream": {
"version": "3.1.7", "version": "3.1.7",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
@@ -12030,6 +12566,19 @@
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD" "license": "0BSD"
}, },
"node_modules/tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
"license": "Apache-2.0",
"optional": true,
"dependencies": {
"safe-buffer": "^5.0.1"
},
"engines": {
"node": "*"
}
},
"node_modules/type-check": { "node_modules/type-check": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -13185,6 +13734,30 @@
"node": ">=12" "node": ">=12"
} }
}, },
"node_modules/xss": {
"version": "1.0.15",
"resolved": "https://registry.npmjs.org/xss/-/xss-1.0.15.tgz",
"integrity": "sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==",
"license": "MIT",
"optional": true,
"dependencies": {
"commander": "^2.20.3",
"cssfilter": "0.0.10"
},
"bin": {
"xss": "bin/xss"
},
"engines": {
"node": ">= 0.10.0"
}
},
"node_modules/xss/node_modules/commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"license": "MIT",
"optional": true
},
"node_modules/y18n": { "node_modules/y18n": {
"version": "5.0.8", "version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+1
View File
@@ -11,6 +11,7 @@
}, },
"dependencies": { "dependencies": {
"@nuxt/eslint": "^1.4.1", "@nuxt/eslint": "^1.4.1",
"@nuxt/image": "^1.10.0",
"eslint": "^9.27.0", "eslint": "^9.27.0",
"nuxt": "^3.17.4", "nuxt": "^3.17.4",
"vue": "^3.5.15", "vue": "^3.5.15",
+5 -5
View File
@@ -1,8 +1,8 @@
<template> <template>
<div> <main>
Merci d'avoir voté ! Merci d'avoir participé !
<br /> <br>
L'organisateur du sondage vous communiquera les résultats prochainement. Les résultats seront communiqués quand tous les amapiens souhaitant participer auront voté.
</div> </main>
</template> </template>
+36
View File
@@ -0,0 +1,36 @@
<template>
<main>
<div>
<h1>Présentation du vote au jugement majoritaire</h1>
<div>Le jugement majoritaire est une nouvelle méthode de vote inventée par deux directeurs de recherche
du CNRS, Rida Laraki et Michel Balinski.</div>
<div>L'électeur vote en évaluant toutes les propositions, à partir d'une échelle de valeur (par exemple:
Très bien, Bien, Passable, Insuffisant, À rejeter). C’est la proposition la mieux évaluée par une
majorité qui l’emporte.</div>
<NuxtImg src="/JM1.jpeg" />
<NuxtImg src="/JM2.webp" />
La proposition gagnante est celle qui est le mieux évaluée par une majorité. Dans l’exemple ci-
dessus, 50 % des votants ont attribué au minimum la mention « Bien » à la proposition n°2.
</div>
<NuxtLink v-if="isValid" :to="`/poll?code=${code}`"><button> Passer aux votes pour l'AMAP </button></NuxtLink>
<button v-else disabled="true">Afin d'accéder au vote, veuillez utiliser le lien qui vous a été fourni</button>
</main>
</template>
<script setup lang="ts">
const isValid = ref(false)
const route = useRoute()
const code = route.query.code;
const runtimeConfig = useRuntimeConfig()
console.log(`${runtimeConfig.public.apiBase}/check/${code}`)
const { error } = await useFetch(`${runtimeConfig.public.apiBase}/check/${code}`);
if (!error.value || error.value.statusCode === 403 || error.value.statusCode === 200) {
isValid.value = true
}
</script>
-11
View File
@@ -42,17 +42,6 @@ async function submitForm(e: Event) {
</script> </script>
<style> <style>
#form-submit {
cursor: pointer;
padding: .375rem .75rem;
border-width: 0px;
border-color: rgb(0, 0, 0);
border-radius: 5px;
background-color: rgb(17, 95, 239);
color: white;
font-size: 1em;
}
#error { #error {
color: #E94A4D; color: #E94A4D;
} }
+3 -5
View File
@@ -1,10 +1,8 @@
<template> <template>
<div v-if="data"> <MainPoll v-if="data" :question-component="QuestionResult" :results="data" />
<MainPoll :question-component="QuestionResult" :results="data" /> <main v-else>
</div>
<div v-else>
Couldn't fetch poll results ! Please contact the website administrator Couldn't fetch poll results ! Please contact the website administrator
</div> </main>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB