Work on dotsmenu

This commit is contained in:
Pieter Vander Vennet 2024-09-08 19:35:11 +02:00
parent 1b8eb10cac
commit 993a950458
4 changed files with 354 additions and 229 deletions

View file

@ -305,6 +305,12 @@
"*": "{logout()}" "*": "{logout()}"
} }
}, },
{
"id": "title-map",
"render": {
"en": "<h3>Configure map</h3>"
}
},
{ {
"id": "a11y-features", "id": "a11y-features",
"question": { "question": {
@ -471,70 +477,123 @@
] ]
}, },
{ {
"id": "picture-license", "id": "show_crosshair",
"description": "This question is not meant to be placed on an OpenStreetMap-element; however it is used in the user information panel to ask which license the user wants",
"question": { "question": {
"en": "Under what license do you want to publish your pictures?", "en": "Should a crosshair be shown in the center of the display?",
"de": "Unter welcher Lizenz möchten Sie Ihre Bilder veröffentlichen?", "cs": "Měl by se uprostřed displeje zobrazovat kříž?",
"nl": "Met welke licentie wil je je afbeeldingen toevoegen?", "de": "Soll ein Fadenkreuz in der Mitte des Bildschirms angezeigt werden?",
"ca": "Sota quina llicència vols publicar les teves fotos?", "nl": "Moet er een kruisje getoond worden in het centrum van je display?"
"pt": "Sob que licença você deseja publicar suas fotos?", },
"cs": "Pod jakou licencí chcete své fotografie zveřejnit?", "questionHint": {
"da": "Under hvilken licens vil du frigive dine billeder?" "en": "This can help to accurately position a new element",
"cs": "To může pomoci přesněji umístit nový prvek",
"de": "Dies kann dazu beitragen, ein neues Element genau zu positionieren",
"nl": "Dit kan helpen om nieuwe elementen accuraat te plaatsen",
"ca": "Això pot ajudar a posicionar amb precisió un nou element"
}, },
"mappings": [ "mappings": [
{ {
"if": "mapcomplete-pictures-license=", "if": "mapcomplete-show_crosshair=yes",
"icon": "./assets/layers/usersettings/scale.svg", "then": "Show a crosshair in the center of the map when zoomed in above level 17"
"then": { },
"en": "Pictures you take will be licensed with <b>CC0</b> and added to the public domain. This means that everyone can use your pictures for any purpose. <span class='subtle'>This is the default choice.</span>", {
"de": "Die von Ihnen aufgenommenen Bilder werden mit <b>CC0</b> lizenziert und der Public Domain hinzugefügt. Das bedeutet, dass jeder Ihre Bilder für jeden Zweck verwenden kann. <span class='subtle'>Dies ist die Standardeinstellung.</span>", "if": "mapcomplete-show_crosshair=no",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC0</b>-licentie en dus aan het publieke domein toegevoegd worden. Dit betekent dat iedereen je afbeeldingen kan gebruiken voor elk mogelijks gebruik. <span class='subtle'>Dit is de standaard-instelling</span>", "then": "Do not show a crosshair in the center of the map"
"cs": "Pořízené fotografie budou licencovány pod <b>CC0</b> a přidány do veřejné domény. To znamená, že kdokoli může vaše snímky použít k jakémukoli účelu. <span class='subtle'>Toto je výchozí volba.</span>", },
"ca": "Les imatges que feu tindran llicència <b>CC0</b> i s'afegiran al domini públic. Això vol dir que tothom pot utilitzar les vostres imatges per a qualsevol propòsit. <span class='subtle'>Aquesta és l'opció predeterminada. </span>", {
"pt": "As fotos que você tirar serão licenciadas com <b>CC0</b> e adicionadas ao domínio público. Isso significa que todos podem usar suas fotos para qualquer finalidade. <span class='subtle'>Esta é a escolha padrão.</span>" "if": "mapcomplete-show_crosshair=",
}, "then": "Do not show a crosshair in the center of the map",
"hideInAnswer": true "hideInAnswer": true
}, },
{ {
"if": "mapcomplete-pictures-license=CC0", "if": "mapcomplete-show_crosshair=always",
"icon": "./assets/layers/usersettings/scale.svg", "then": "Always show a crosshair in the center of the map"
}
]
},
{
"id": "fixate-north",
"question": {
"en": "Should north always be up?",
"de": "Soll Norden immer oben sein?",
"ca": "El nord hauria d'estar sempre amunt?",
"cs": "Měl by být sever vždy nahoře?",
"nl": "Moet het noorden altijd naar boven getoond worden?",
"da": "Skal nord altid pege opad?"
},
"mappings": [
{
"if": "mapcomplete-fixate-north=no",
"alsoShowIf": "mapcomplete-fixate-north=",
"icon": "./assets/svg/compass.svg",
"then": { "then": {
"en": "Pictures you take will be licensed with <b>CC0</b> and added to the public domain. This means that everyone can use your pictures for any purpose.", "en": "Allow to rotate the map",
"de": "Ihre aufgenommenen Bilder werden mit <b>CC0</b> lizenziert und der Public Domain hinzugefügt. Das bedeutet, dass jeder Ihre Bilder für jeden Zweck verwenden kann.", "de": "Drehen der Karte zulassen",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC0</b>-licentie en dus aan het publieke domein toegevoegd worden. Dit betekent dat iedereen je afbeeldingen kan gebruiken voor elk mogelijks gebruik.", "ca": "Permet girar el mapa",
"ru": "Изображения будут опубликованы под лицензией <b>CC0</b> и перейдут в общественное достояние. Это значит, что кто угодно имеет право использовать их без ограничений.", "fr": "Autoriser la rotation de la carte",
"cs": "Pořízené fotografie budou licencovány pod <b>CC0</b> a přidány do veřejné domény. To znamená, že kdokoli může vaše snímky použít k jakémukoli účelu.", "da": "Tillad rotation af kortet",
"ca": "Les imatges que feu tindran llicència <b>CC0</b> i s'afegiran al domini públic. Això vol dir que tothom pot utilitzar les vostres imatges per a qualsevol propòsit.", "cs": "Umožnit otáčení mapy",
"es": "Las fotografías que tome tendrán una licencia con <b>CC0</b> y se agregarán al dominio público. Esto significa que todos pueden usar sus imágenes para cualquier propósito.", "nl": "Sta kaartrotatie toe"
"pt": "As fotos que você tirar serão licenciadas com <b>CC0</b> e adicionadas ao domínio público. Isso significa que todos podem usar suas fotos para qualquer finalidade.",
"da": "Billeder, som du har taget, vil blive udgivet under <b>CC0</b>-licensen og lagt ud i fælleseje. Det betyder, at alle kan bruge dine billeder til ethvert formål.",
"fr": "Les photos que vous avez ajoutées seront sous licence <b>CC0</b> et mises dans le domaine public. Cela signifie que n'importe qui pourra les utiliser, quel qu'en soit l'usage."
} }
}, },
{ {
"if": "mapcomplete-pictures-license=CC-BY 4.0", "if": "mapcomplete-fixate-north=yes",
"icon": "./assets/layers/usersettings/scale.svg", "icon": "./assets/svg/compass.svg",
"then": { "then": {
"en": "Pictures you take will be licensed with <b>CC-BY 4.0</b> which requires everyone using your picture that they have to attribute you", "en": "Always keep north pointing up",
"ca": "Les fotografies que facis es publicaran sota <b>CC-BY 4.0</b> que requereix que qualsevol que utilitzi la vostra imatge us ha de donar crèdits", "de": "Norden immer nach oben zeigen lassen",
"de": "Die von Ihnen aufgenommenen Bilder werden mit <b>CC-BY 4.0</b> lizenziert, was bedeutet, dass jeder, der Ihr Bild verwendet, Sie als Urheber nennen muss", "fr": "Toujours garder le nord en haut",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC-BY 4.0</b>-licentie. Dit betekent dat iedereen je afbeelding mag gebruiken voor elke toepassing mits het vermelden van je naam", "ca": "Mantingueu sempre el nord apuntant cap amunt",
"cs": "Pořízené fotografie budou licencovány pod <b>CC-BY 4.0</b>, což vyžaduje, aby vás uvedl každý, kdo použije vaší fotku", "cs": "Sever vždy směřujte nahoru",
"pt": "As fotos que você tirar serão licenciadas com <b>CC-BY 4.0</b>, que exige que todos que usam sua foto atribuam a você" "nl": "Hou het noorden altijd naar boven",
"da": "Nord peger altid opad"
}
}
]
},
{
"id": "title-editing",
"render": {
"en": "<h3>Editing settings</h3>"
}
},
{
"id": "all-questions-at-once",
"question": {
"en": "Should questions for unknown data fields appear one-by-one or together?",
"de": "Sollen Fragen für unbekannte Datenfelder einzeln oder zusammen angezeigt werden?",
"fr": "Est-ce que les questions pour les champs sans donnée doivent apparaître une à une ou toutes ensembles ?",
"pt": "As perguntas para campos de dados desconhecidos devem aparecer uma a uma ou juntas?",
"ca": "Les preguntes amb camps de dades desconeguts haurien d'aparèixer una per una o juntes?",
"nl": "Moeten onbeantwoorde vragen om beurt of allemaal samen getoond worden?",
"cs": "Mají se otázky pro neznámá datová pole zobrazovat jednotlivě, nebo společně?",
"da": "Skal spørgsmål for ukendte oplysninger vises ét ad gangen eller alle på én gang?"
},
"mappings": [
{
"if": "mapcomplete-show-all-questions=true",
"then": {
"en": "Show all questions in the infobox together",
"de": "Alle Fragen in der Infobox zusammen anzeigen",
"ca": "Mostra totes les preguntes al quadre d'informació",
"fr": "Afficher toutes les question en même temps dans l'infobox",
"pt": "Mostrar todas as perguntas na caixa de informações juntas",
"nl": "Toon alle onbeantwoorde vragen",
"cs": "Zobrazit všechny otázky v infoboxu dohromady",
"da": "Vis alle spørgsmål i infoboksen på én gang"
} }
}, },
{ {
"if": "mapcomplete-pictures-license=CC-BY-SA 4.0", "if": "mapcomplete-show-all-questions=false",
"icon": "./assets/layers/usersettings/scale.svg",
"then": { "then": {
"en": "Pictures you take will be licensed with <b>CC-BY-SA 4.0</b> which means that everyone using your picture must attribute you and that derivatives of your picture must be reshared with the same license.", "en": "Show questions one-by-one",
"de": "Die von Ihnen aufgenommenen Bilder werden mit <b>CC-BY-SA 4.0</b> lizenziert, was bedeutet, dass jeder, der Ihr Bild verwendet, Sie als Urheber nennen muss und dass Ableitungen Ihres Bildes mit der gleichen Lizenz weitergegeben werden müssen.", "de": "Fragen der Reihe nach anzeigen",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC-BY-SA 4.0</b>-licentie. Dit betekent dat iedereen je afbeelding mag gebruiken voor elke toepassing mits het vermelden van je naam en dat afgeleide werken van je afbeelding ook ondere deze licentie moeten gepubliceerd worden.", "ca": "Mostra les preguntes una per una",
"cs": "Pořízené fotografie budou licencovány pod <b>CC-BY-SA 4.0</b>, což vyžaduje, aby vás uvedl každý, kdo použije vaší fotku a že odvozené fotky musí být dále sdíleny se stejnou licencí.", "fr": "Afficher les questions une à une",
"ca": "Les imatges que feu tindran una llicència amb <b>CC-BY-SA 4.0</b> el que significa que tothom que utilitzi la vostra imatge us ha d'atribuir i que els derivats de la vostra imatge s'han de tornar a compartir amb la mateixa llicència.", "pt": "Mostrar perguntas uma a uma",
"fr": "Les photos que vous prenez seront sous la licence <b>CC-BY-SA 4.0</b> ce qui signifie que quiconque utilisant votre photo doit vous créditer et que les modifications apportées à votre photo doivent être repartagées avec la même licence.", "nl": "Toon de vragen één per één",
"pt": "As fotos que você tirar serão licenciadas com <b>CC-BY-SA 4.0</b>, o que significa que todos que usarem sua foto devem atribuí-lo e que os derivados de sua foto devem ser compartilhados novamente com a mesma licença." "cs": "Zobrazit otázky jednu po druhé",
"da": "Vis spørgsmål ét ad gangen"
} }
} }
] ]
@ -604,82 +663,6 @@
} }
] ]
}, },
{
"id": "all-questions-at-once",
"question": {
"en": "Should questions for unknown data fields appear one-by-one or together?",
"de": "Sollen Fragen für unbekannte Datenfelder einzeln oder zusammen angezeigt werden?",
"fr": "Est-ce que les questions pour les champs sans donnée doivent apparaître une à une ou toutes ensembles ?",
"pt": "As perguntas para campos de dados desconhecidos devem aparecer uma a uma ou juntas?",
"ca": "Les preguntes amb camps de dades desconeguts haurien d'aparèixer una per una o juntes?",
"nl": "Moeten onbeantwoorde vragen om beurt of allemaal samen getoond worden?",
"cs": "Mají se otázky pro neznámá datová pole zobrazovat jednotlivě, nebo společně?",
"da": "Skal spørgsmål for ukendte oplysninger vises ét ad gangen eller alle på én gang?"
},
"mappings": [
{
"if": "mapcomplete-show-all-questions=true",
"then": {
"en": "Show all questions in the infobox together",
"de": "Alle Fragen in der Infobox zusammen anzeigen",
"ca": "Mostra totes les preguntes al quadre d'informació",
"fr": "Afficher toutes les question en même temps dans l'infobox",
"pt": "Mostrar todas as perguntas na caixa de informações juntas",
"nl": "Toon alle onbeantwoorde vragen",
"cs": "Zobrazit všechny otázky v infoboxu dohromady",
"da": "Vis alle spørgsmål i infoboksen på én gang"
}
},
{
"if": "mapcomplete-show-all-questions=false",
"then": {
"en": "Show questions one-by-one",
"de": "Fragen der Reihe nach anzeigen",
"ca": "Mostra les preguntes una per una",
"fr": "Afficher les questions une à une",
"pt": "Mostrar perguntas uma a uma",
"nl": "Toon de vragen één per één",
"cs": "Zobrazit otázky jednu po druhé",
"da": "Vis spørgsmål ét ad gangen"
}
}
]
},
{
"id": "show_crosshair",
"question": {
"en": "Should a crosshair be shown in the center of the display?",
"cs": "Měl by se uprostřed displeje zobrazovat kříž?",
"de": "Soll ein Fadenkreuz in der Mitte des Bildschirms angezeigt werden?",
"nl": "Moet er een kruisje getoond worden in het centrum van je display?"
},
"questionHint": {
"en": "This can help to accurately position a new element",
"cs": "To může pomoci přesněji umístit nový prvek",
"de": "Dies kann dazu beitragen, ein neues Element genau zu positionieren",
"nl": "Dit kan helpen om nieuwe elementen accuraat te plaatsen",
"ca": "Això pot ajudar a posicionar amb precisió un nou element"
},
"mappings": [
{
"if": "mapcomplete-show_crosshair=yes",
"then": "Show a crosshair in the center of the map when zoomed in above level 17"
},
{
"if": "mapcomplete-show_crosshair=no",
"then": "Do not show a crosshair in the center of the map"
},
{
"if": "mapcomplete-show_crosshair=",
"then": "Do not show a crosshair in the center of the map",
"hideInAnswer": true
},
{
"if": "mapcomplete-show_crosshair=always",
"then": "Always show a crosshair in the center of the map"
}
]
},
{ {
"id": "add-new-feature", "id": "add-new-feature",
"question": { "question": {
@ -725,44 +708,10 @@
] ]
}, },
{ {
"id": "fixate-north", "id": "title-privacy-legal",
"question": { "render": {
"en": "Should north always be up?", "en": "<h3>Privacy and legal</h3>"
"de": "Soll Norden immer oben sein?", }
"ca": "El nord hauria d'estar sempre amunt?",
"cs": "Měl by být sever vždy nahoře?",
"nl": "Moet het noorden altijd naar boven getoond worden?",
"da": "Skal nord altid pege opad?"
},
"mappings": [
{
"if": "mapcomplete-fixate-north=no",
"alsoShowIf": "mapcomplete-fixate-north=",
"icon": "./assets/svg/compass.svg",
"then": {
"en": "Allow to rotate the map",
"de": "Drehen der Karte zulassen",
"ca": "Permet girar el mapa",
"fr": "Autoriser la rotation de la carte",
"da": "Tillad rotation af kortet",
"cs": "Umožnit otáčení mapy",
"nl": "Sta kaartrotatie toe"
}
},
{
"if": "mapcomplete-fixate-north=yes",
"icon": "./assets/svg/compass.svg",
"then": {
"en": "Always keep north pointing up",
"de": "Norden immer nach oben zeigen lassen",
"fr": "Toujours garder le nord en haut",
"ca": "Mantingueu sempre el nord apuntant cap amunt",
"cs": "Sever vždy směřujte nahoru",
"nl": "Hou het noorden altijd naar boven",
"da": "Nord peger altid opad"
}
}
]
}, },
{ {
"id": "more_privacy_theme_override", "id": "more_privacy_theme_override",
@ -810,6 +759,141 @@
} }
] ]
}, },
{
"id": "picture-license",
"description": "This question is not meant to be placed on an OpenStreetMap-element; however it is used in the user information panel to ask which license the user wants",
"question": {
"en": "Under what license do you want to publish your pictures?",
"de": "Unter welcher Lizenz möchten Sie Ihre Bilder veröffentlichen?",
"nl": "Met welke licentie wil je je afbeeldingen toevoegen?",
"ca": "Sota quina llicència vols publicar les teves fotos?",
"pt": "Sob que licença você deseja publicar suas fotos?",
"cs": "Pod jakou licencí chcete své fotografie zveřejnit?",
"da": "Under hvilken licens vil du frigive dine billeder?"
},
"mappings": [
{
"if": "mapcomplete-pictures-license=",
"icon": "./assets/layers/usersettings/scale.svg",
"then": {
"en": "Pictures you take will be licensed with <b>CC0</b> and added to the public domain. This means that everyone can use your pictures for any purpose. <span class='subtle'>This is the default choice.</span>",
"de": "Die von Ihnen aufgenommenen Bilder werden mit <b>CC0</b> lizenziert und der Public Domain hinzugefügt. Das bedeutet, dass jeder Ihre Bilder für jeden Zweck verwenden kann. <span class='subtle'>Dies ist die Standardeinstellung.</span>",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC0</b>-licentie en dus aan het publieke domein toegevoegd worden. Dit betekent dat iedereen je afbeeldingen kan gebruiken voor elk mogelijks gebruik. <span class='subtle'>Dit is de standaard-instelling</span>",
"cs": "Pořízené fotografie budou licencovány pod <b>CC0</b> a přidány do veřejné domény. To znamená, že kdokoli může vaše snímky použít k jakémukoli účelu. <span class='subtle'>Toto je výchozí volba.</span>",
"ca": "Les imatges que feu tindran llicència <b>CC0</b> i s'afegiran al domini públic. Això vol dir que tothom pot utilitzar les vostres imatges per a qualsevol propòsit. <span class='subtle'>Aquesta és l'opció predeterminada. </span>",
"pt": "As fotos que você tirar serão licenciadas com <b>CC0</b> e adicionadas ao domínio público. Isso significa que todos podem usar suas fotos para qualquer finalidade. <span class='subtle'>Esta é a escolha padrão.</span>"
},
"hideInAnswer": true
},
{
"if": "mapcomplete-pictures-license=CC0",
"icon": "./assets/layers/usersettings/scale.svg",
"then": {
"en": "Pictures you take will be licensed with <b>CC0</b> and added to the public domain. This means that everyone can use your pictures for any purpose.",
"de": "Ihre aufgenommenen Bilder werden mit <b>CC0</b> lizenziert und der Public Domain hinzugefügt. Das bedeutet, dass jeder Ihre Bilder für jeden Zweck verwenden kann.",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC0</b>-licentie en dus aan het publieke domein toegevoegd worden. Dit betekent dat iedereen je afbeeldingen kan gebruiken voor elk mogelijks gebruik.",
"ru": "Изображения будут опубликованы под лицензией <b>CC0</b> и перейдут в общественное достояние. Это значит, что кто угодно имеет право использовать их без ограничений.",
"cs": "Pořízené fotografie budou licencovány pod <b>CC0</b> a přidány do veřejné domény. To znamená, že kdokoli může vaše snímky použít k jakémukoli účelu.",
"ca": "Les imatges que feu tindran llicència <b>CC0</b> i s'afegiran al domini públic. Això vol dir que tothom pot utilitzar les vostres imatges per a qualsevol propòsit.",
"es": "Las fotografías que tome tendrán una licencia con <b>CC0</b> y se agregarán al dominio público. Esto significa que todos pueden usar sus imágenes para cualquier propósito.",
"pt": "As fotos que você tirar serão licenciadas com <b>CC0</b> e adicionadas ao domínio público. Isso significa que todos podem usar suas fotos para qualquer finalidade.",
"da": "Billeder, som du har taget, vil blive udgivet under <b>CC0</b>-licensen og lagt ud i fælleseje. Det betyder, at alle kan bruge dine billeder til ethvert formål.",
"fr": "Les photos que vous avez ajoutées seront sous licence <b>CC0</b> et mises dans le domaine public. Cela signifie que n'importe qui pourra les utiliser, quel qu'en soit l'usage."
}
},
{
"if": "mapcomplete-pictures-license=CC-BY 4.0",
"icon": "./assets/layers/usersettings/scale.svg",
"then": {
"en": "Pictures you take will be licensed with <b>CC-BY 4.0</b> which requires everyone using your picture that they have to attribute you",
"ca": "Les fotografies que facis es publicaran sota <b>CC-BY 4.0</b> que requereix que qualsevol que utilitzi la vostra imatge us ha de donar crèdits",
"de": "Die von Ihnen aufgenommenen Bilder werden mit <b>CC-BY 4.0</b> lizenziert, was bedeutet, dass jeder, der Ihr Bild verwendet, Sie als Urheber nennen muss",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC-BY 4.0</b>-licentie. Dit betekent dat iedereen je afbeelding mag gebruiken voor elke toepassing mits het vermelden van je naam",
"cs": "Pořízené fotografie budou licencovány pod <b>CC-BY 4.0</b>, což vyžaduje, aby vás uvedl každý, kdo použije vaší fotku",
"pt": "As fotos que você tirar serão licenciadas com <b>CC-BY 4.0</b>, que exige que todos que usam sua foto atribuam a você"
}
},
{
"if": "mapcomplete-pictures-license=CC-BY-SA 4.0",
"icon": "./assets/layers/usersettings/scale.svg",
"then": {
"en": "Pictures you take will be licensed with <b>CC-BY-SA 4.0</b> which means that everyone using your picture must attribute you and that derivatives of your picture must be reshared with the same license.",
"de": "Die von Ihnen aufgenommenen Bilder werden mit <b>CC-BY-SA 4.0</b> lizenziert, was bedeutet, dass jeder, der Ihr Bild verwendet, Sie als Urheber nennen muss und dass Ableitungen Ihres Bildes mit der gleichen Lizenz weitergegeben werden müssen.",
"nl": "Afbeeldingen die je toevoegt zullen gepubliceerd worden met de <b>CC-BY-SA 4.0</b>-licentie. Dit betekent dat iedereen je afbeelding mag gebruiken voor elke toepassing mits het vermelden van je naam en dat afgeleide werken van je afbeelding ook ondere deze licentie moeten gepubliceerd worden.",
"cs": "Pořízené fotografie budou licencovány pod <b>CC-BY-SA 4.0</b>, což vyžaduje, aby vás uvedl každý, kdo použije vaší fotku a že odvozené fotky musí být dále sdíleny se stejnou licencí.",
"ca": "Les imatges que feu tindran una llicència amb <b>CC-BY-SA 4.0</b> el que significa que tothom que utilitzi la vostra imatge us ha d'atribuir i que els derivats de la vostra imatge s'han de tornar a compartir amb la mateixa llicència.",
"fr": "Les photos que vous prenez seront sous la licence <b>CC-BY-SA 4.0</b> ce qui signifie que quiconque utilisant votre photo doit vous créditer et que les modifications apportées à votre photo doivent être repartagées avec la même licence.",
"pt": "As fotos que você tirar serão licenciadas com <b>CC-BY-SA 4.0</b>, o que significa que todos que usarem sua foto devem atribuí-lo e que os derivados de sua foto devem ser compartilhados novamente com a mesma licença."
}
}
]
},
{
"id": "sync-visited-themes",
"question": {
"en": "Should the thematic maps you visit be saved?"
},
"questionHint": {
"en": "If you visit a map about a certain topic, MapComplete can remember this and offer this as suggestion."
},
"mappings": [
{
"if": "mapcomplete-theme-history=sync",
"alsoShowIf": "mapcomplete-theme-history=",
"then": {
"en": "Save the visited thematic maps and sync them via openstreetmap.org. OpenStreetMap and all apps you use can see this history"
}
},
{
"if": "mapcomplete-theme-history=local",
"then": {
"en": "Save the visited thematic maps on my device"
}
},
{
"if": "mapcomplete-theme-history=no",
"then": {
"en": "Don't save visited thematic maps"
}
}
]
},
{
"id": "sync-visited-locations",
"question": {
"en": "Should the locations you search for and inspect be remembered?"
},
"questionHint": {
"en": "Those locations will be offered in the search menu"
},
"mappings": [
{
"if": "mapcomplete-search-history=sync",
"alsoShowIf": "mapcomplete-search-history=",
"then": {
"en": "Save the locations you search for and inspect and sync them via openstreetmap.org. OpenStreetMap and all apps you use can see this history"
}
},
{
"if": "mapcomplete-search-history=local",
"then": {
"en": "Save the locations you search for and inspect on my device"
}
},
{
"if": "mapcomplete-search-history=no",
"then": {
"en": "Don't save the locations you search for and inspect "
}
}
]
},
{
"id": "title-id",
"render": {
"en": "<h3>Mangrove ID management</h3>"
}
},
{ {
"id": "mangrove-keys", "id": "mangrove-keys",
"classes": "link-no-underline low-interaction p-2", "classes": "link-no-underline low-interaction p-2",

View file

@ -1176,18 +1176,26 @@ input[type="range"].range-lg::-moz-range-thumb {
top: 2.5rem; top: 2.5rem;
} }
.top-4 {
top: 1rem;
}
.right-4 {
right: 1rem;
}
.left-1\/4 { .left-1\/4 {
left: 25%; left: 25%;
} }
.top-6 {
top: 1.5rem;
}
.bottom-4 { .bottom-4 {
bottom: 1rem; bottom: 1rem;
} }
.top-6 {
top: 1.5rem;
}
.bottom-5 { .bottom-5 {
bottom: 1.25rem; bottom: 1.25rem;
} }
@ -1236,10 +1244,6 @@ input[type="range"].range-lg::-moz-range-thumb {
top: 0.75rem; top: 0.75rem;
} }
.top-4 {
top: 1rem;
}
.top-1 { .top-1 {
top: 0.25rem; top: 0.25rem;
} }
@ -1530,10 +1534,6 @@ input[type="range"].range-lg::-moz-range-thumb {
margin-left: 1rem; margin-left: 1rem;
} }
.mr-3 {
margin-right: 0.75rem;
}
.mt-8 { .mt-8 {
margin-top: 2rem; margin-top: 2rem;
} }
@ -1737,6 +1737,10 @@ input[type="range"].range-lg::-moz-range-thumb {
height: 0px; height: 0px;
} }
.h-7 {
height: 1.75rem;
}
.h-1\/2 { .h-1\/2 {
height: 50%; height: 50%;
} }
@ -1749,10 +1753,6 @@ input[type="range"].range-lg::-moz-range-thumb {
height: calc(100% - 2rem); height: calc(100% - 2rem);
} }
.h-7 {
height: 1.75rem;
}
.h-11 { .h-11 {
height: 2.75rem; height: 2.75rem;
} }
@ -1999,14 +1999,14 @@ input[type="range"].range-lg::-moz-range-thumb {
width: 0px; width: 0px;
} }
.w-3 {
width: 0.75rem;
}
.w-7 { .w-7 {
width: 1.75rem; width: 1.75rem;
} }
.w-3 {
width: 0.75rem;
}
.w-11 { .w-11 {
width: 2.75rem; width: 2.75rem;
} }
@ -3259,11 +3259,6 @@ input[type="range"].range-lg::-moz-range-thumb {
background-color: rgb(0 0 0 / var(--tw-bg-opacity)); background-color: rgb(0 0 0 / var(--tw-bg-opacity));
} }
.bg-indigo-100 {
--tw-bg-opacity: 1;
background-color: rgb(229 237 255 / var(--tw-bg-opacity));
}
.bg-gray-100 { .bg-gray-100 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity)); background-color: rgb(243 244 246 / var(--tw-bg-opacity));
@ -3294,6 +3289,11 @@ input[type="range"].range-lg::-moz-range-thumb {
background-color: rgb(253 246 178 / var(--tw-bg-opacity)); background-color: rgb(253 246 178 / var(--tw-bg-opacity));
} }
.bg-indigo-100 {
--tw-bg-opacity: 1;
background-color: rgb(229 237 255 / var(--tw-bg-opacity));
}
.bg-purple-100 { .bg-purple-100 {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(237 235 254 / var(--tw-bg-opacity)); background-color: rgb(237 235 254 / var(--tw-bg-opacity));
@ -4667,10 +4667,6 @@ input[type="range"].range-lg::-moz-range-thumb {
color: rgb(200 30 30 / var(--tw-placeholder-opacity)); color: rgb(200 30 30 / var(--tw-placeholder-opacity));
} }
.accent-gray-600 {
accent-color: #4B5563;
}
.opacity-50 { .opacity-50 {
opacity: 0.5; opacity: 0.5;
} }
@ -4940,6 +4936,12 @@ input[type="range"].range-lg::-moz-range-thumb {
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
} }
.transition-all {
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 150ms;
}
.transition { .transition {
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
@ -4954,12 +4956,6 @@ input[type="range"].range-lg::-moz-range-thumb {
transition-duration: 150ms; transition-duration: 150ms;
} }
.transition-all {
transition-property: all;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
transition-duration: 150ms;
}
.transition-transform { .transition-transform {
transition-property: transform; transition-property: transform;
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@ -5964,11 +5960,6 @@ svg.apply-fill path {
border-color: rgb(209 213 219 / var(--tw-border-opacity)); border-color: rgb(209 213 219 / var(--tw-border-opacity));
} }
.hover\:bg-indigo-200:hover {
--tw-bg-opacity: 1;
background-color: rgb(205 219 254 / var(--tw-bg-opacity));
}
.hover\:bg-gray-100:hover { .hover\:bg-gray-100:hover {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(243 244 246 / var(--tw-bg-opacity)); background-color: rgb(243 244 246 / var(--tw-bg-opacity));
@ -6004,6 +5995,11 @@ svg.apply-fill path {
background-color: rgb(252 233 106 / var(--tw-bg-opacity)); background-color: rgb(252 233 106 / var(--tw-bg-opacity));
} }
.hover\:bg-indigo-200:hover {
--tw-bg-opacity: 1;
background-color: rgb(205 219 254 / var(--tw-bg-opacity));
}
.hover\:bg-purple-200:hover { .hover\:bg-purple-200:hover {
--tw-bg-opacity: 1; --tw-bg-opacity: 1;
background-color: rgb(220 215 254 / var(--tw-bg-opacity)); background-color: rgb(220 215 254 / var(--tw-bg-opacity));
@ -8385,14 +8381,14 @@ svg.apply-fill path {
height: 100%; height: 100%;
} }
.md\:w-96 {
width: 24rem;
}
.md\:w-6\/12 { .md\:w-6\/12 {
width: 50%; width: 50%;
} }
.md\:w-96 {
width: 24rem;
}
.md\:w-48 { .md\:w-48 {
width: 12rem; width: 12rem;
} }
@ -8528,6 +8524,11 @@ svg.apply-fill path {
padding-bottom: 2rem; padding-bottom: 2rem;
} }
.md\:px-2 {
padding-left: 0.5rem;
padding-right: 0.5rem;
}
.md\:pr-2 { .md\:pr-2 {
padding-right: 0.5rem; padding-right: 0.5rem;
} }

View file

@ -1,27 +1,58 @@
<script lang="ts"> <script lang="ts">
import DotsCircleHorizontal from "@rgossiaux/svelte-heroicons/solid/DotsCircleHorizontal"
import { Dropdown } from "flowbite-svelte"
import { TrashIcon } from "@babeard/svelte-heroicons/mini"
import SidebarUnit from "./SidebarUnit.svelte"
import { UIEventSource } from "../../Logic/UIEventSource" import { UIEventSource } from "../../Logic/UIEventSource"
import DotsCircleHorizontal from "@rgossiaux/svelte-heroicons/solid/DotsCircleHorizontal"
/** /**
* A menu, opened by a dot * A menu, opened by a dot
*/ */
export let dotColor = "var(--background-interactive)" export let dotColor = "var(--background-interactive)"
export let placement: "left" | "right" | "top" | "bottom" = "left" export let placement: "left" | "right" | "top" | "bottom" = "left"
export let open = new UIEventSource(false)
export let isOpen : UIEventSource<boolean> = new UIEventSource<boolean>(false) function toggle() {
let _isOpen = isOpen.data open.set(!open.data)
$: {
console.log("is open?", _isOpen)
isOpen.set(_isOpen)
} }
</script> </script>
<DotsCircleHorizontal class="w-6 h-6 dots-menu-themes transition-colors" color={$isOpen ? "black": "var(--interactive-background)"} /> <div class="relative" style="z-index: 50">
<Dropdown placement="left" bind:open={_isOpen} triggeredBy=".dots-menu-themes" containerClass="p-1 border border-2 border-gray button-unstyled"> <div
<SidebarUnit> class="sidebar-unit absolute right-0 top-0 collapsable normal-background button-unstyled border-2 border-gray-300"
class:collapsed={!$open}>
<slot /> <slot />
</SidebarUnit> </div>
</Dropdown> <DotsCircleHorizontal class={ `absolute top-0 right-0 w-6 h-6 dots-menu transition-colors ${$open?"dots-menu-opened":""}`} on:click={toggle} />
</div>
<style>
.dots-menu{
z-index: 50;
}
:global(.dots-menu > path) {
fill: var(--interactive-background);
transition: fill 350ms linear;
}
:global(.dots-menu:hover > path, .dots-menu-opened > path) {
fill: var(--interactive-foreground)
}
.collapsable {
max-width: 100rem;
max-height: 100rem;
transition: max-width 500ms ease-in-out, border 400ms linear;
overflow: hidden;
flex-wrap: nowrap;
text-wrap: none;
width: max-content;
box-shadow: #ccc ;
white-space: nowrap;
}
.collapsed {
max-width: 0;
border: 2px solid #00000000
}
</style>

View file

@ -91,16 +91,25 @@
{#if $searchTerm.length == 0 && $recentlySeen?.length > 0} {#if $searchTerm.length == 0 && $recentlySeen?.length > 0}
<SidebarUnit> <SidebarUnit>
<h3 class="m-2"> <div class="flex justify-between">
<Tr t={Translations.t.general.search.recents} />
</h3> <h3 class="m-2">
<Tr t={Translations.t.general.search.recents} />
</h3>
<DotMenu>
<button on:click={() => {state.searchState.recentlySearched.seenThisSession.set([])}}>
<TrashIcon />
Delete search history
</button>
<button on:click={() => state.guistate.openUsersettings("sync-visited-locations")}>
<CogIcon />
Edit sync settings
</button>
</DotMenu>
</div>
{#each $recentlySeen as entry (entry)} {#each $recentlySeen as entry (entry)}
<SearchResultSvelte {entry} {state} on:select /> <SearchResultSvelte {entry} {state} on:select />
{/each} {/each}
<button class="as-link flex self-end" on:click={() => {recentlySeen.set([])}}>
<TrashIcon class="w-4 h-4" />
Delete history
</button>
</SidebarUnit> </SidebarUnit>
{/if} {/if}
@ -116,8 +125,8 @@
<TrashIcon /> <TrashIcon />
Delete earlier visited themes Delete earlier visited themes
</button> </button>
<button> <button on:click={() => state.guistate.openUsersettings("sync-visited-themes")}>
<CogIcon/> <CogIcon />
Edit sync settings Edit sync settings
</button> </button>
</DotMenu> </DotMenu>