Merge remote-tracking branch 'origin/main' into refactor/rust-api
This commit is contained in:
commit
862ea1148b
4
crabfit-frontend/public/i18n/hu-HU/privacy.json
Normal file
4
crabfit-frontend/public/i18n/hu-HU/privacy.json
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"name": "Adatvédelmi szabályzat",
|
||||||
|
"translate": "Megtekintés saját nyelven"
|
||||||
|
}
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
"dayjs": "^1.11.5",
|
"dayjs": "^1.11.5",
|
||||||
"gapi-script": "^1.2.0",
|
"gapi-script": "^1.2.0",
|
||||||
"goober": "^2.1.10",
|
"goober": "^2.1.10",
|
||||||
"hue-map": "^0.1.1",
|
"hue-map": "^1.0.0",
|
||||||
"i18next": "^21.9.0",
|
"i18next": "^21.9.0",
|
||||||
"i18next-browser-languagedetector": "^6.1.5",
|
"i18next-browser-languagedetector": "^6.1.5",
|
||||||
"i18next-http-backend": "^1.4.1",
|
"i18next-http-backend": "^1.4.1",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "Crab Fit",
|
"name": "Crab Fit",
|
||||||
"tagline": "Créez le votre",
|
"tagline": "Créez le vôtre",
|
||||||
"cta": "Créez votre propre Crab Fit !",
|
"cta": "Créez votre propre Crab Fit !",
|
||||||
"created": "Créé {{date}}",
|
"created": "Créé {{date}}",
|
||||||
"donate": {
|
"donate": {
|
||||||
|
|
@ -45,7 +45,7 @@
|
||||||
},
|
},
|
||||||
"highlight": {
|
"highlight": {
|
||||||
"label": "Mettre en évidence les meilleures disponibilités",
|
"label": "Mettre en évidence les meilleures disponibilités",
|
||||||
"title": "Faites ressortir les meilleures disponibilités sur la carte thermique",
|
"title": "Faire ressortir les meilleures disponibilités sur la carte thermique",
|
||||||
"options": {
|
"options": {
|
||||||
"Off": "Désactivé",
|
"Off": "Désactivé",
|
||||||
"On": "Activé"
|
"On": "Activé"
|
||||||
|
|
@ -53,6 +53,10 @@
|
||||||
},
|
},
|
||||||
"language": {
|
"language": {
|
||||||
"label": "Langue"
|
"label": "Langue"
|
||||||
|
},
|
||||||
|
"colormap": {
|
||||||
|
"label": "Couleurs de la carte thermique",
|
||||||
|
"classic": "Crab Fit (classique)"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"video": {
|
"video": {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
"title": "Cliquez pour copier",
|
"title": "Cliquez pour copier",
|
||||||
"copied": "Copié !",
|
"copied": "Copié !",
|
||||||
"shareinfo": "Copiez le lien vers cette page ou partagez-le par <1>e-mail</1>.",
|
"shareinfo": "Copiez le lien vers cette page ou partagez-le par <1>e-mail</1>.",
|
||||||
"shareinfo_alt": "Cliquez sur le lien ci-dessus pour le copier dans votre presse-papier ou le partager par <1>e-mail</1>.",
|
"shareinfo_alt": "Cliquez sur le lien ci-dessus pour le copier dans votre presse-papier ou le partager par <1>courriel</1>.",
|
||||||
"email_subject": "Planification de {{event_name}}",
|
"email_subject": "Planification de {{event_name}}",
|
||||||
"email_body": "Visitez ce lien pour saisir vos disponibilités :"
|
"email_body": "Visitez ce lien pour saisir vos disponibilités :"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
"create": "CRÉER UN",
|
"create": "CRÉER UN",
|
||||||
"recently_visited": "Récemment visités",
|
"recently_visited": "Récemment visités",
|
||||||
"nav": {
|
"nav": {
|
||||||
"about": "A propos",
|
"about": "À propos",
|
||||||
"donate": "Faire un don"
|
"donate": "Faire un don"
|
||||||
},
|
},
|
||||||
"form": {
|
"form": {
|
||||||
|
|
@ -24,8 +24,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"times": {
|
"times": {
|
||||||
"label": "Quels temps pourraient fonctionner ?",
|
"label": "Quels créneaux horaires pourraient fonctionner ?",
|
||||||
"sublabel": "Cliquez et faites glisser pour sélectionner une plage de temps"
|
"sublabel": "Cliquez et faites glisser pour sélectionner une plage horaire"
|
||||||
},
|
},
|
||||||
"timezone": {
|
"timezone": {
|
||||||
"label": "Et le fuseau horaire",
|
"label": "Et le fuseau horaire",
|
||||||
|
|
@ -47,10 +47,10 @@
|
||||||
"events": "Événements créés",
|
"events": "Événements créés",
|
||||||
"availabilities": "Disponibilités saisies",
|
"availabilities": "Disponibilités saisies",
|
||||||
"content": {
|
"content": {
|
||||||
"p1": "Crab Fit vous aide à adapter votre événement aux horaires de chacun·e. Créez simplement un événement ci-dessus et envoyez le lien à tous les participant·e·s. Les résultats sont mis à jour en direct et vous pourrez voir une carte thermique de quand tout le monde est libre.<1/><2>En savoir plus sur comment utiliser Crab Fit</2>.",
|
"p1": "Crab Fit vous aide à adapter votre événement aux horaires de chacun·e. Créez simplement un événement ci-dessus et envoyez le lien à tous les participant·e·s. Les résultats sont mis à jour en direct et vous pourrez voir une carte thermique montrant quand tout le monde est libre.<1/><2>En savoir plus sur l'utilisation de Crab Fit</2>.",
|
||||||
"p3": "Créé par <1>Ben Grant</1>, Crab Fit est la solution moderne pour vos conflits de planification d'événements de groupe.",
|
"p3": "Créé par <1>Ben Grant</1>, Crab Fit est la solution moderne pour vos conflits de planification d'événements de groupe.",
|
||||||
"p4": "Le code de Crab Fit est open source, si vous trouvez des problèmes ou souhaitez contribuer, vous pouvez visiter le <1>repository</1>. En utilisant Crab Fit, vous acceptez notre <3>politique de confidentialité</3>.",
|
"p4": "Le code de Crab Fit est open source. Si vous rencontrez des problèmes ou souhaitez contribuer, vous pouvez visiter le <1>dépôt</1>. En utilisant Crab Fit, vous acceptez notre <3>politique de confidentialité</3>.",
|
||||||
"p6": "Pour protéger votre vie privée, les événements sont supprimés après 3 mois d'inactivité, et tous les mots de passe sont hachés en toute sécurité.",
|
"p6": "Pour protéger votre vie privée, les événements sont supprimés après 3 mois d'inactivité, et tous les mots de passe sont cryptés de manière sécurisée.",
|
||||||
"p5": "Pensez à faire un don ci-dessous si Crab Fit vous a aidé·e, afin qu'il puisse rester gratuit pour tout le monde. 🦀"
|
"p5": "Pensez à faire un don ci-dessous si Crab Fit vous a aidé·e, afin qu'il puisse rester gratuit pour tout le monde. 🦀"
|
||||||
},
|
},
|
||||||
"chrome_extension": "Obtenez l'extension Chrome",
|
"chrome_extension": "Obtenez l'extension Chrome",
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"highlight": {
|
"highlight": {
|
||||||
"label": "Evidenzia la disponibilità maggiore",
|
"label": "Evidenzia i periodi con maggiore disponibilità",
|
||||||
"title": "Evidenzia i periodi con maggiore disponibilità nella heatmap",
|
"title": "Evidenzia i periodi con maggiore disponibilità nella heatmap",
|
||||||
"options": {
|
"options": {
|
||||||
"Off": "Disattivato",
|
"Off": "Disattivato",
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ import dayjs from 'dayjs'
|
||||||
import localeData from 'dayjs/plugin/localeData'
|
import localeData from 'dayjs/plugin/localeData'
|
||||||
import customParseFormat from 'dayjs/plugin/customParseFormat'
|
import customParseFormat from 'dayjs/plugin/customParseFormat'
|
||||||
import relativeTime from 'dayjs/plugin/relativeTime'
|
import relativeTime from 'dayjs/plugin/relativeTime'
|
||||||
import createPalette from 'hue-map'
|
import { createPalette } from 'hue-map'
|
||||||
|
|
||||||
import { useSettingsStore, useLocaleUpdateStore } from '/src/stores'
|
import { useSettingsStore, useLocaleUpdateStore } from '/src/stores'
|
||||||
|
|
||||||
|
|
@ -72,7 +72,7 @@ const AvailabilityViewer = ({
|
||||||
useEffect(() => setPalette(createPalette({
|
useEffect(() => setPalette(createPalette({
|
||||||
map: colormap === 'crabfit' ? [[0, [247,158,0,0]], [1, [247,158,0,255]]] : colormap,
|
map: colormap === 'crabfit' ? [[0, [247,158,0,0]], [1, [247,158,0,255]]] : colormap,
|
||||||
steps: tempFocus !== null ? 2 : Math.min(max, filteredPeople.length)+1,
|
steps: tempFocus !== null ? 2 : Math.min(max, filteredPeople.length)+1,
|
||||||
})), [tempFocus, filteredPeople, max, colormap])
|
}).format()), [tempFocus, filteredPeople, max, colormap])
|
||||||
|
|
||||||
const heatmap = useMemo(() => (
|
const heatmap = useMemo(() => (
|
||||||
<Container>
|
<Container>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import { useState, useEffect } from 'react'
|
import { useState, useEffect } from 'react'
|
||||||
import { useTranslation } from 'react-i18next'
|
import { useTranslation } from 'react-i18next'
|
||||||
import createPalette from 'hue-map'
|
import { createPalette } from 'hue-map'
|
||||||
|
|
||||||
import { useSettingsStore } from '/src/stores'
|
import { useSettingsStore } from '/src/stores'
|
||||||
|
|
||||||
|
|
@ -27,7 +27,7 @@ const Legend = ({
|
||||||
useEffect(() => setPalette(createPalette({
|
useEffect(() => setPalette(createPalette({
|
||||||
map: colormap === 'crabfit' ? [[0, [247,158,0,0]], [1, [247,158,0,255]]] : colormap,
|
map: colormap === 'crabfit' ? [[0, [247,158,0,0]], [1, [247,158,0,255]]] : colormap,
|
||||||
steps: max+1-min,
|
steps: max+1-min,
|
||||||
})), [min, max, colormap])
|
}).format()), [min, max, colormap])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Wrapper>
|
<Wrapper>
|
||||||
|
|
|
||||||
|
|
@ -2185,10 +2185,10 @@ html-parse-stringify@^3.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
void-elements "3.1.0"
|
void-elements "3.1.0"
|
||||||
|
|
||||||
hue-map@^0.1.1:
|
hue-map@^1.0.0:
|
||||||
version "0.1.1"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/hue-map/-/hue-map-0.1.1.tgz#d6b199f4121df56aaf1901222323545f0607a31d"
|
resolved "https://registry.yarnpkg.com/hue-map/-/hue-map-1.0.0.tgz#16061043db2015c15dcfb9229390ca7c7fb27cd4"
|
||||||
integrity sha512-aH3Maa39vHN+yTkWXdLcTN8M+ftGOX6NvGuMObl2puWxwoUZhm3gLlKA6SdpqJphF1RzQo0ntsm0Psg0uc7ouQ==
|
integrity sha512-L7n6cfthm9ZTdYbqJF1yBflHvI4MaWRg+XMJ4Ifc35jWcOfQlCRBETZ4ntnHLPUyDOse7KeelcsbWxx14Aaa+w==
|
||||||
|
|
||||||
i18next-browser-languagedetector@^6.1.5:
|
i18next-browser-languagedetector@^6.1.5:
|
||||||
version "6.1.5"
|
version "6.1.5"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue