forked from MapComplete/MapComplete
Chore: formatting, linting
This commit is contained in:
parent
b315f3cebb
commit
a87e3376e0
7 changed files with 1476 additions and 1235 deletions
|
@ -299,7 +299,7 @@ This documentation is defined in the source code at [FeatureSwitchState.ts](/src
|
||||||
|
|
||||||
If true, the location distance indication will not be written to the changeset and other privacy enhancing measures might be taken.
|
If true, the location distance indication will not be written to the changeset and other privacy enhancing measures might be taken.
|
||||||
|
|
||||||
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L169)
|
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L168)
|
||||||
|
|
||||||
The default value is _false_
|
The default value is _false_
|
||||||
|
|
||||||
|
@ -310,7 +310,7 @@ This documentation is defined in the source code at [FeatureSwitchState.ts](/src
|
||||||
|
|
||||||
Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter
|
Point mapcomplete to a different overpass-instance. Example: https://overpass-api.de/api/interpreter
|
||||||
|
|
||||||
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L176)
|
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L174)
|
||||||
|
|
||||||
The default value is _https://overpass-api.de/api/interpreter,https://overpass.kumi.systems/api/interpreter,https://overpass.openstreetmap.ru/cgi/interpreter_
|
The default value is _https://overpass-api.de/api/interpreter,https://overpass.kumi.systems/api/interpreter,https://overpass.openstreetmap.ru/cgi/interpreter_
|
||||||
|
|
||||||
|
@ -321,7 +321,7 @@ This documentation is defined in the source code at [FeatureSwitchState.ts](/src
|
||||||
|
|
||||||
Set a different timeout (in seconds) for queries in overpass
|
Set a different timeout (in seconds) for queries in overpass
|
||||||
|
|
||||||
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L187)
|
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L185)
|
||||||
|
|
||||||
The default value is _30_
|
The default value is _30_
|
||||||
|
|
||||||
|
@ -332,7 +332,7 @@ This documentation is defined in the source code at [FeatureSwitchState.ts](/src
|
||||||
|
|
||||||
point to switch between OSM-api and overpass
|
point to switch between OSM-api and overpass
|
||||||
|
|
||||||
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L195)
|
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L193)
|
||||||
|
|
||||||
The default value is _16_
|
The default value is _16_
|
||||||
|
|
||||||
|
@ -343,7 +343,7 @@ This documentation is defined in the source code at [FeatureSwitchState.ts](/src
|
||||||
|
|
||||||
Tilesize when the OSM-API is used to fetch data within a BBOX
|
Tilesize when the OSM-API is used to fetch data within a BBOX
|
||||||
|
|
||||||
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L203)
|
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L201)
|
||||||
|
|
||||||
The default value is _17_
|
The default value is _17_
|
||||||
|
|
||||||
|
@ -354,7 +354,7 @@ This documentation is defined in the source code at [FeatureSwitchState.ts](/src
|
||||||
|
|
||||||
The id of the background layer to start with
|
The id of the background layer to start with
|
||||||
|
|
||||||
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L210)
|
This documentation is defined in the source code at [FeatureSwitchState.ts](/src/Logic/State/FeatureSwitchState.ts#L208)
|
||||||
|
|
||||||
No default value set
|
No default value set
|
||||||
|
|
||||||
|
@ -475,7 +475,7 @@ This documentation is defined in the source code at [FilteredLayer.ts](/src/Mode
|
||||||
|
|
||||||
The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics'
|
The mode the application starts in, e.g. 'map', 'dashboard' or 'statistics'
|
||||||
|
|
||||||
This documentation is defined in the source code at [generateDocs.ts](ervdvn/git/MapComplete/scripts/generateDocs.ts#L441)
|
This documentation is defined in the source code at [generateDocs.ts](ervdvn/git2/MapComplete/scripts/generateDocs.ts#L439)
|
||||||
|
|
||||||
The default value is _map_
|
The default value is _map_
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
"oauth_token",
|
"oauth_token",
|
||||||
undefined,
|
undefined,
|
||||||
"Used to complete the login"
|
"Used to complete the login"
|
||||||
)
|
),
|
||||||
})
|
})
|
||||||
const state = new UserRelatedState(osmConnection)
|
const state = new UserRelatedState(osmConnection)
|
||||||
const t = Translations.t.index
|
const t = Translations.t.index
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
let userLanguages = osmConnection.userDetails.map((ud) => ud.languages)
|
let userLanguages = osmConnection.userDetails.map((ud) => ud.languages)
|
||||||
let themeSearchText: UIEventSource<string | undefined> = new UIEventSource<string>(undefined)
|
let themeSearchText: UIEventSource<string | undefined> = new UIEventSource<string>(undefined)
|
||||||
|
|
||||||
document.addEventListener("keydown", function(event) {
|
document.addEventListener("keydown", function (event) {
|
||||||
if (event.ctrlKey && event.code === "KeyF") {
|
if (event.ctrlKey && event.code === "KeyF") {
|
||||||
document.getElementById("theme-search")?.focus()
|
document.getElementById("theme-search")?.focus()
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
|
@ -89,14 +89,14 @@
|
||||||
<Tr t={t.title} />
|
<Tr t={t.title} />
|
||||||
</h1>
|
</h1>
|
||||||
<p>
|
<p>
|
||||||
|
|
||||||
<Tr
|
<Tr
|
||||||
cls="my-4 mr-4 text-base font-semibold sm:text-lg md:mt-5 md:text-xl lg:mx-0"
|
cls="my-4 mr-4 text-base font-semibold sm:text-lg md:mt-5 md:text-xl lg:mx-0"
|
||||||
t={Translations.t.index.intro}
|
t={Translations.t.index.intro}
|
||||||
/>
|
/>
|
||||||
<span class="link-underline">
|
<span class="link-underline">
|
||||||
<a href="#about"><Tr t={Translations.t.index.learnMore} />
|
<a href="#about">
|
||||||
<ChevronDoubleRight class="w-4 h-4 inline" />
|
<Tr t={Translations.t.index.learnMore} />
|
||||||
|
<ChevronDoubleRight class="inline h-4 w-4" />
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
|
@ -151,14 +151,12 @@
|
||||||
|
|
||||||
<LoginButton osmConnection={state.osmConnection} />
|
<LoginButton osmConnection={state.osmConnection} />
|
||||||
|
|
||||||
|
|
||||||
<h3 id="about">
|
<h3 id="about">
|
||||||
<Tr t={Translations.t.index.about} />
|
<Tr t={Translations.t.index.about} />
|
||||||
</h3>
|
</h3>
|
||||||
<Tr cls="link-underline" t={Translations.t.general.aboutMapComplete.intro} />
|
<Tr cls="link-underline" t={Translations.t.general.aboutMapComplete.intro} />
|
||||||
|
|
||||||
<span class="links-as-button flex flex-col gap-y-1">
|
<span class="links-as-button flex flex-col gap-y-1">
|
||||||
|
|
||||||
<a class="flex" href="https://github.com/pietervdvn/MapComplete/" target="_blank">
|
<a class="flex" href="https://github.com/pietervdvn/MapComplete/" target="_blank">
|
||||||
<Github class="mr-2 h-6 w-6" />
|
<Github class="mr-2 h-6 w-6" />
|
||||||
<Tr t={Translations.t.general.attribution.gotoSourceCode} />
|
<Tr t={Translations.t.general.attribution.gotoSourceCode} />
|
||||||
|
@ -178,7 +176,6 @@
|
||||||
<Tr t={Translations.t.general.attribution.donate} />
|
<Tr t={Translations.t.general.attribution.donate} />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
<a
|
<a
|
||||||
class="flex"
|
class="flex"
|
||||||
href={window.location.protocol + "//" + window.location.host + "/studio.html"}
|
href={window.location.protocol + "//" + window.location.host + "/studio.html"}
|
||||||
|
@ -194,9 +191,7 @@
|
||||||
<Eye class="mr-2 h-6 w-6" />
|
<Eye class="mr-2 h-6 w-6" />
|
||||||
<Tr t={Translations.t.privacy.title} />
|
<Tr t={Translations.t.privacy.title} />
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
|
||||||
</LoginToggle>
|
</LoginToggle>
|
||||||
|
|
||||||
<Tr t={tr.streetcomplete} />
|
<Tr t={tr.streetcomplete} />
|
||||||
|
|
|
@ -19,10 +19,7 @@
|
||||||
style="background-color: #00000088; z-index: 20"
|
style="background-color: #00000088; z-index: 20"
|
||||||
/>
|
/>
|
||||||
<!-- draw a _second_ absolute div, placed using 'bottom' which will be above the navigation bar on mobile browsers -->
|
<!-- draw a _second_ absolute div, placed using 'bottom' which will be above the navigation bar on mobile browsers -->
|
||||||
<div
|
<div class={"absolute bottom-0 right-0 h-full w-screen p-4 md:p-6"} style="z-index: 21">
|
||||||
class={"absolute bottom-0 right-0 h-full w-screen p-4 md:p-6"}
|
|
||||||
style="z-index: 21"
|
|
||||||
>
|
|
||||||
<div class="content normal-background h-full" on:click|stopPropagation={() => {}}>
|
<div class="content normal-background h-full" on:click|stopPropagation={() => {}}>
|
||||||
<div class="h-full rounded-xl">
|
<div class="h-full rounded-xl">
|
||||||
<slot />
|
<slot />
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
EyeIcon,
|
EyeIcon,
|
||||||
HeartIcon,
|
HeartIcon,
|
||||||
MenuIcon,
|
MenuIcon,
|
||||||
XCircleIcon
|
XCircleIcon,
|
||||||
} from "@rgossiaux/svelte-heroicons/solid"
|
} from "@rgossiaux/svelte-heroicons/solid"
|
||||||
import Tr from "./Base/Tr.svelte"
|
import Tr from "./Base/Tr.svelte"
|
||||||
import CommunityIndexView from "./BigComponents/CommunityIndexView.svelte"
|
import CommunityIndexView from "./BigComponents/CommunityIndexView.svelte"
|
||||||
|
@ -141,7 +141,7 @@
|
||||||
const bottomRight = mlmap.unproject([rect.right, rect.bottom])
|
const bottomRight = mlmap.unproject([rect.right, rect.bottom])
|
||||||
const bbox = new BBox([
|
const bbox = new BBox([
|
||||||
[topLeft.lng, topLeft.lat],
|
[topLeft.lng, topLeft.lat],
|
||||||
[bottomRight.lng, bottomRight.lat]
|
[bottomRight.lng, bottomRight.lat],
|
||||||
])
|
])
|
||||||
state.visualFeedbackViewportBounds.setData(bbox)
|
state.visualFeedbackViewportBounds.setData(bbox)
|
||||||
}
|
}
|
||||||
|
@ -190,26 +190,27 @@
|
||||||
/**
|
/**
|
||||||
* Needed for the animations
|
* Needed for the animations
|
||||||
*/
|
*/
|
||||||
let openMapButton : UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
let openMapButton: UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
||||||
let openMenuButton : UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
let openMenuButton: UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
||||||
let openCurrentViewLayerButton : UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
let openCurrentViewLayerButton: UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(
|
||||||
|
undefined
|
||||||
|
)
|
||||||
let _openNewElementButton: HTMLButtonElement
|
let _openNewElementButton: HTMLButtonElement
|
||||||
let openNewElementButton : UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
let openNewElementButton: UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
||||||
|
|
||||||
$: {
|
$: {
|
||||||
openNewElementButton.setData(_openNewElementButton)
|
openNewElementButton.setData(_openNewElementButton)
|
||||||
}
|
}
|
||||||
let openFilterButton : UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
let openFilterButton: UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
||||||
let openBackgroundButton : UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
let openBackgroundButton: UIEventSource<HTMLElement> = new UIEventSource<HTMLElement>(undefined)
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<div class="absolute top-0 left-0 h-screen w-screen overflow-hidden">
|
<div class="absolute top-0 left-0 h-screen w-screen overflow-hidden">
|
||||||
<MaplibreMap map={maplibremap} mapProperties={mapproperties} />
|
<MaplibreMap map={maplibremap} mapProperties={mapproperties} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{#if $visualFeedback}
|
{#if $visualFeedback}
|
||||||
<div
|
<div
|
||||||
class="pointer-events-none absolute top-0 left-0 flex h-screen w-screen items-center justify-center overflow-hidden"
|
class="pointer-events-none absolute top-0 left-0 flex h-screen w-screen items-center justify-center overflow-hidden"
|
||||||
>
|
>
|
||||||
|
@ -219,9 +220,9 @@
|
||||||
style="border: 2px solid #ff000044; width: 300px; height: 300px"
|
style="border: 2px solid #ff000044; width: 300px; height: 300px"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<div class="pointer-events-none absolute top-0 left-0 w-full">
|
<div class="pointer-events-none absolute top-0 left-0 w-full">
|
||||||
<!-- Top components -->
|
<!-- Top components -->
|
||||||
|
|
||||||
<div class="pointer-events-auto float-right mt-1 flex flex-col px-1 max-[480px]:w-full sm:m-2">
|
<div class="pointer-events-auto float-right mt-1 flex flex-col px-1 max-[480px]:w-full sm:m-2">
|
||||||
|
@ -299,16 +300,16 @@
|
||||||
<StateIndicator {state} />
|
<StateIndicator {state} />
|
||||||
<ReverseGeocoding {state} />
|
<ReverseGeocoding {state} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pointer-events-none absolute bottom-0 left-0 mb-4 w-screen">
|
<div class="pointer-events-none absolute bottom-0 left-0 mb-4 w-screen">
|
||||||
<!-- bottom controls -->
|
<!-- bottom controls -->
|
||||||
<div class="flex w-full items-end justify-between px-4">
|
<div class="flex w-full items-end justify-between px-4">
|
||||||
<div class="flex flex-col">
|
<div class="flex flex-col">
|
||||||
<If condition={featureSwitches.featureSwitchEnableLogin}>
|
<If condition={featureSwitches.featureSwitchEnableLogin}>
|
||||||
{#if (state.layout.hasPresets() && state.layout.enableAddNewPoints) || state.layout.hasNoteLayer()}
|
{#if (state.layout.hasPresets() && state.layout.enableAddNewPoints) || state.layout.hasNoteLayer()}
|
||||||
<button
|
<button
|
||||||
class="pointer-events-auto w-fit low-interaction"
|
class="low-interaction pointer-events-auto w-fit"
|
||||||
class:disabled={$currentZoom < Constants.minZoomLevelToAddNewPoint}
|
class:disabled={$currentZoom < Constants.minZoomLevelToAddNewPoint}
|
||||||
bind:this={_openNewElementButton}
|
bind:this={_openNewElementButton}
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
|
@ -340,7 +341,11 @@
|
||||||
</MapControlButton>
|
</MapControlButton>
|
||||||
</If>
|
</If>
|
||||||
<If condition={state.featureSwitches.featureSwitchBackgroundSelection}>
|
<If condition={state.featureSwitches.featureSwitchBackgroundSelection}>
|
||||||
<OpenBackgroundSelectorButton hideTooltip={true} {state} htmlElem={openBackgroundButton} />
|
<OpenBackgroundSelectorButton
|
||||||
|
hideTooltip={true}
|
||||||
|
{state}
|
||||||
|
htmlElem={openBackgroundButton}
|
||||||
|
/>
|
||||||
</If>
|
</If>
|
||||||
<a
|
<a
|
||||||
class="bg-black-transparent pointer-events-auto h-fit max-h-12 cursor-pointer self-end overflow-hidden rounded-2xl pl-1 pr-2 text-white opacity-50 hover:opacity-100"
|
class="bg-black-transparent pointer-events-auto h-fit max-h-12 cursor-pointer self-end overflow-hidden rounded-2xl pl-1 pr-2 text-white opacity-50 hover:opacity-100"
|
||||||
|
@ -403,9 +408,9 @@
|
||||||
</If>
|
</If>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<LoginToggle ignoreLoading={true} {state}>
|
<LoginToggle ignoreLoading={true} {state}>
|
||||||
{#if ($showCrosshair === "yes" && $currentZoom >= 17) || $showCrosshair === "always" || $visualFeedback}
|
{#if ($showCrosshair === "yes" && $currentZoom >= 17) || $showCrosshair === "always" || $visualFeedback}
|
||||||
<!-- Don't use h-full: h-full does _not_ include the area under the URL-bar, which offsets the crosshair a bit -->
|
<!-- Don't use h-full: h-full does _not_ include the area under the URL-bar, which offsets the crosshair a bit -->
|
||||||
<div
|
<div
|
||||||
|
@ -417,9 +422,9 @@
|
||||||
{/if}
|
{/if}
|
||||||
<!-- Add in an empty container to remove error messages if login fails -->
|
<!-- Add in an empty container to remove error messages if login fails -->
|
||||||
<svelte:fragment slot="error" />
|
<svelte:fragment slot="error" />
|
||||||
</LoginToggle>
|
</LoginToggle>
|
||||||
|
|
||||||
{#if $selectedElement !== undefined && $selectedLayer !== undefined && !$selectedLayer.popupInFloatover}
|
{#if $selectedElement !== undefined && $selectedLayer !== undefined && !$selectedLayer.popupInFloatover}
|
||||||
<!-- right modal with the selected element view -->
|
<!-- right modal with the selected element view -->
|
||||||
<ModalRight
|
<ModalRight
|
||||||
on:close={() => {
|
on:close={() => {
|
||||||
|
@ -432,9 +437,9 @@
|
||||||
<SelectedElementView {state} selectedElement={$selectedElement} />
|
<SelectedElementView {state} selectedElement={$selectedElement} />
|
||||||
</div>
|
</div>
|
||||||
</ModalRight>
|
</ModalRight>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
{#if $selectedElement !== undefined && $selectedLayer !== undefined && $selectedLayer.popupInFloatover}
|
{#if $selectedElement !== undefined && $selectedLayer !== undefined && $selectedLayer.popupInFloatover}
|
||||||
<!-- Floatover with the selected element, if applicable -->
|
<!-- Floatover with the selected element, if applicable -->
|
||||||
<FloatOver
|
<FloatOver
|
||||||
on:close={() => {
|
on:close={() => {
|
||||||
|
@ -450,9 +455,9 @@
|
||||||
<SelectedElementView {state} selectedElement={$selectedElement} />
|
<SelectedElementView {state} selectedElement={$selectedElement} />
|
||||||
</div>
|
</div>
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<If condition={state.previewedImage.map((i) => i !== undefined)}>
|
<If condition={state.previewedImage.map((i) => i !== undefined)}>
|
||||||
<FloatOver on:close={() => state.previewedImage.setData(undefined)}>
|
<FloatOver on:close={() => state.previewedImage.setData(undefined)}>
|
||||||
<button
|
<button
|
||||||
class="absolute right-4 top-4 h-8 w-8 rounded-full p-0"
|
class="absolute right-4 top-4 h-8 w-8 rounded-full p-0"
|
||||||
|
@ -463,9 +468,9 @@
|
||||||
</button>
|
</button>
|
||||||
<ImageOperations image={$previewedImage} />
|
<ImageOperations image={$previewedImage} />
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
<If condition={state.guistate.themeIsOpened}>
|
<If condition={state.guistate.themeIsOpened}>
|
||||||
<!-- Theme menu -->
|
<!-- Theme menu -->
|
||||||
<FloatOver on:close={() => state.guistate.themeIsOpened.setData(false)}>
|
<FloatOver on:close={() => state.guistate.themeIsOpened.setData(false)}>
|
||||||
<span slot="close-button"><!-- Disable the close button --></span>
|
<span slot="close-button"><!-- Disable the close button --></span>
|
||||||
|
@ -514,15 +519,15 @@
|
||||||
</div>
|
</div>
|
||||||
</TabbedGroup>
|
</TabbedGroup>
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
<If condition={state.guistate.filtersPanelIsOpened}>
|
<If condition={state.guistate.filtersPanelIsOpened}>
|
||||||
<FloatOver on:close={() => state.guistate.filtersPanelIsOpened.setData(false)}>
|
<FloatOver on:close={() => state.guistate.filtersPanelIsOpened.setData(false)}>
|
||||||
<FilterPanel {state} />
|
<FilterPanel {state} />
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
<IfHidden condition={state.guistate.backgroundLayerSelectionIsOpened}>
|
<IfHidden condition={state.guistate.backgroundLayerSelectionIsOpened}>
|
||||||
<!-- background layer selector -->
|
<!-- background layer selector -->
|
||||||
<FloatOver
|
<FloatOver
|
||||||
on:close={() => {
|
on:close={() => {
|
||||||
|
@ -539,9 +544,9 @@
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
</IfHidden>
|
</IfHidden>
|
||||||
|
|
||||||
<If condition={state.guistate.menuIsOpened}>
|
<If condition={state.guistate.menuIsOpened}>
|
||||||
<!-- Menu page -->
|
<!-- Menu page -->
|
||||||
<FloatOver on:close={() => state.guistate.menuIsOpened.setData(false)}>
|
<FloatOver on:close={() => state.guistate.menuIsOpened.setData(false)}>
|
||||||
<span slot="close-button"><!-- Hide the default close button --></span>
|
<span slot="close-button"><!-- Hide the default close button --></span>
|
||||||
|
@ -573,7 +578,6 @@
|
||||||
<Tr t={Translations.t.general.attribution.gotoSourceCode} />
|
<Tr t={Translations.t.general.attribution.gotoSourceCode} />
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
<a class="flex" href="https://github.com/pietervdvn/MapComplete/issues" target="_blank">
|
<a class="flex" href="https://github.com/pietervdvn/MapComplete/issues" target="_blank">
|
||||||
<Bug class="h-6 w-6" />
|
<Bug class="h-6 w-6" />
|
||||||
<Tr t={Translations.t.general.attribution.openIssueTracker} />
|
<Tr t={Translations.t.general.attribution.openIssueTracker} />
|
||||||
|
@ -659,9 +663,9 @@
|
||||||
</div>
|
</div>
|
||||||
</TabbedGroup>
|
</TabbedGroup>
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
<If condition={state.guistate.privacyPanelIsOpened}>
|
<If condition={state.guistate.privacyPanelIsOpened}>
|
||||||
<FloatOver on:close={() => state.guistate.privacyPanelIsOpened.setData(false)}>
|
<FloatOver on:close={() => state.guistate.privacyPanelIsOpened.setData(false)}>
|
||||||
<div class="flex h-full flex-col overflow-hidden">
|
<div class="flex h-full flex-col overflow-hidden">
|
||||||
<h2 class="low-interaction m-0 flex items-center p-4 drop-shadow-md">
|
<h2 class="low-interaction m-0 flex items-center p-4 drop-shadow-md">
|
||||||
|
@ -669,13 +673,13 @@
|
||||||
<Tr t={Translations.t.privacy.title} />
|
<Tr t={Translations.t.privacy.title} />
|
||||||
</h2>
|
</h2>
|
||||||
<div class="overflow-auto p-4">
|
<div class="overflow-auto p-4">
|
||||||
<PrivacyPolicy {state}/>
|
<PrivacyPolicy {state} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
<If condition={state.guistate.communityIndexPanelIsOpened}>
|
<If condition={state.guistate.communityIndexPanelIsOpened}>
|
||||||
<FloatOver on:close={() => state.guistate.communityIndexPanelIsOpened.setData(false)}>
|
<FloatOver on:close={() => state.guistate.communityIndexPanelIsOpened.setData(false)}>
|
||||||
<div class="flex h-full flex-col overflow-hidden">
|
<div class="flex h-full flex-col overflow-hidden">
|
||||||
<h2 class="low-interaction m-0 flex items-center p-4">
|
<h2 class="low-interaction m-0 flex items-center p-4">
|
||||||
|
@ -687,13 +691,30 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</FloatOver>
|
</FloatOver>
|
||||||
</If>
|
</If>
|
||||||
|
|
||||||
|
<CloseAnimation isOpened={state.guistate.themeIsOpened} moveTo={openMapButton} debug="theme" />
|
||||||
<CloseAnimation isOpened={state.guistate.themeIsOpened} moveTo={openMapButton} debug="theme"/>
|
<CloseAnimation isOpened={state.guistate.menuIsOpened} moveTo={openMenuButton} debug="menu" />
|
||||||
<CloseAnimation isOpened={state.guistate.menuIsOpened} moveTo={openMenuButton} debug="menu"/>
|
<CloseAnimation
|
||||||
<CloseAnimation isOpened={selectedLayer.map(sl => (sl !== undefined && sl === currentViewLayer))} moveTo={openCurrentViewLayerButton} debug="currentViewLayer"/>
|
isOpened={selectedLayer.map((sl) => sl !== undefined && sl === currentViewLayer)}
|
||||||
<CloseAnimation isOpened={selectedElement.map(sl => sl !== undefined && sl?.properties?.id === LastClickFeatureSource.newPointElementId)} moveTo={openNewElementButton} debug="newElement"/>
|
moveTo={openCurrentViewLayerButton}
|
||||||
<CloseAnimation isOpened={state.guistate.filtersPanelIsOpened} moveTo={openFilterButton} debug="filter"/>
|
debug="currentViewLayer"
|
||||||
<CloseAnimation isOpened={state.guistate.backgroundLayerSelectionIsOpened} moveTo={openBackgroundButton} debug="bg"/>
|
/>
|
||||||
|
<CloseAnimation
|
||||||
|
isOpened={selectedElement.map(
|
||||||
|
(sl) => sl !== undefined && sl?.properties?.id === LastClickFeatureSource.newPointElementId
|
||||||
|
)}
|
||||||
|
moveTo={openNewElementButton}
|
||||||
|
debug="newElement"
|
||||||
|
/>
|
||||||
|
<CloseAnimation
|
||||||
|
isOpened={state.guistate.filtersPanelIsOpened}
|
||||||
|
moveTo={openFilterButton}
|
||||||
|
debug="filter"
|
||||||
|
/>
|
||||||
|
<CloseAnimation
|
||||||
|
isOpened={state.guistate.backgroundLayerSelectionIsOpened}
|
||||||
|
moveTo={openBackgroundButton}
|
||||||
|
debug="bg"
|
||||||
|
/>
|
||||||
</main>
|
</main>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"contributors": [
|
"contributors": [
|
||||||
{
|
{
|
||||||
"commits": 7544,
|
"commits": 7549,
|
||||||
"contributor": "Pieter Vander Vennet"
|
"contributor": "Pieter Vander Vennet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
"ca": "català",
|
"ca": "català",
|
||||||
"cs": "čeština",
|
|
||||||
"da": "dansk",
|
"da": "dansk",
|
||||||
"de": "Deutsch",
|
"de": "Deutsch",
|
||||||
"en": "English",
|
"en": "English",
|
||||||
|
@ -12,7 +11,7 @@
|
||||||
"gl": "lingua galega",
|
"gl": "lingua galega",
|
||||||
"he": "עברית",
|
"he": "עברית",
|
||||||
"hu": "magyar",
|
"hu": "magyar",
|
||||||
"id": "bahasa Indonesia",
|
"id": "Indonesia",
|
||||||
"it": "italiano",
|
"it": "italiano",
|
||||||
"ja": "日本語",
|
"ja": "日本語",
|
||||||
"nb_NO": "bokmål",
|
"nb_NO": "bokmål",
|
||||||
|
@ -23,6 +22,7 @@
|
||||||
"ru": "русский язык",
|
"ru": "русский язык",
|
||||||
"sl": "slovenščina",
|
"sl": "slovenščina",
|
||||||
"sv": "svenska",
|
"sv": "svenska",
|
||||||
|
"zgh": "ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ ⵜⴰⵎⵖⵔⵉⴱⵉⵜ",
|
||||||
"zh_Hans": "简体中文",
|
"zh_Hans": "简体中文",
|
||||||
"zh_Hant": "繁體中文"
|
"zh_Hant": "繁體中文"
|
||||||
}
|
}
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue