Add community index
This commit is contained in:
parent
64532d1faf
commit
25a98af057
3 changed files with 22 additions and 17 deletions
|
@ -9,8 +9,8 @@
|
||||||
import ToSvelte from "../Base/ToSvelte.svelte"
|
import ToSvelte from "../Base/ToSvelte.svelte"
|
||||||
import type { Feature, Geometry, GeometryCollection } from "@turf/turf"
|
import type { Feature, Geometry, GeometryCollection } from "@turf/turf"
|
||||||
|
|
||||||
export let locationControl: Store<{ lat: number; lon: number }>
|
export let location: Store<{ lat: number; lon: number }>
|
||||||
const tileToFetch: Store<string> = locationControl.mapD((l) => {
|
const tileToFetch: Store<string> = location.mapD((l) => {
|
||||||
const t = Tiles.embedded_tile(l.lat, l.lon, 6)
|
const t = Tiles.embedded_tile(l.lat, l.lon, 6)
|
||||||
return `https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/community_index/tile_${t.z}_${t.x}_${t.y}.geojson`
|
return `https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/community_index/tile_${t.z}_${t.x}_${t.y}.geojson`
|
||||||
})
|
})
|
||||||
|
@ -30,9 +30,9 @@
|
||||||
const filteredResources = resources.map(
|
const filteredResources = resources.map(
|
||||||
(features) =>
|
(features) =>
|
||||||
features.filter((f) => {
|
features.filter((f) => {
|
||||||
return GeoOperations.inside([locationControl.data.lon, locationControl.data.lat], f)
|
return GeoOperations.inside([location.data.lon, location.data.lat], f)
|
||||||
}),
|
}),
|
||||||
[locationControl]
|
[location]
|
||||||
)
|
)
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -21,6 +21,7 @@
|
||||||
import Translations from "./i18n/Translations";
|
import Translations from "./i18n/Translations";
|
||||||
import { MenuIcon } from "@rgossiaux/svelte-heroicons/solid";
|
import { MenuIcon } from "@rgossiaux/svelte-heroicons/solid";
|
||||||
import Tr from "./Base/Tr.svelte";
|
import Tr from "./Base/Tr.svelte";
|
||||||
|
import CommunityIndexView from "./BigComponents/CommunityIndexView.svelte";
|
||||||
|
|
||||||
export let layout: LayoutConfig;
|
export let layout: LayoutConfig;
|
||||||
const state = new ThemeViewState(layout);
|
const state = new ThemeViewState(layout);
|
||||||
|
@ -142,13 +143,21 @@
|
||||||
|
|
||||||
<If condition={state.guistate.menuIsOpened}>
|
<If condition={state.guistate.menuIsOpened}>
|
||||||
<!-- Menu page -->
|
<!-- Menu page -->
|
||||||
<div class="absolute top-0 left-0 w-screen h-screen" style="background-color: #00000088">
|
<div class="absolute top-0 left-0 w-screen h-screen overflow-auto" style="background-color: #00000088">
|
||||||
<div class="flex flex-col m-4 sm:m-6 md:m-8 p-4 sm:p-6 md:m-8 normal-background rounded">
|
<div class="flex flex-col m-4 sm:m-6 md:m-8 p-4 sm:p-6 md:m-8 normal-background rounded">
|
||||||
<div on:click={() => state.guistate.menuIsOpened.setData(false)}>Close</div>
|
<div on:click={() => state.guistate.menuIsOpened.setData(false)}>Close</div>
|
||||||
<TabGroup>
|
<TabGroup>
|
||||||
<TabList>
|
<TabList>
|
||||||
<Tab class={({selected}) => selected ? "tab-selected" : "tab-unselected"}>About MapComplete</Tab>
|
<Tab class={({selected}) => selected ? "tab-selected" : "tab-unselected"}>About MapComplete</Tab>
|
||||||
<Tab class={({selected}) => selected ? "tab-selected" : "tab-unselected"}>Settings</Tab>
|
<Tab class={({selected}) => selected ? "tab-selected" : "tab-unselected"}>Settings</Tab>
|
||||||
|
<Tab class={({selected}) => selected ? "tab-selected" : "tab-unselected"}>
|
||||||
|
<div class="flex">
|
||||||
|
<div class="w-6">
|
||||||
|
<ToSvelte construct={Svg.community_ui}></ToSvelte>
|
||||||
|
</div>
|
||||||
|
Get in touch with others
|
||||||
|
</div>
|
||||||
|
</Tab>
|
||||||
<Tab class={({selected}) => selected ? "tab-selected" : "tab-unselected"}>Privacy</Tab>
|
<Tab class={({selected}) => selected ? "tab-selected" : "tab-unselected"}>Privacy</Tab>
|
||||||
</TabList>
|
</TabList>
|
||||||
<TabPanels>
|
<TabPanels>
|
||||||
|
@ -158,6 +167,10 @@
|
||||||
|
|
||||||
</TabPanel>
|
</TabPanel>
|
||||||
<TabPanel>User settings</TabPanel>
|
<TabPanel>User settings</TabPanel>
|
||||||
|
<TabPanel>
|
||||||
|
<CommunityIndexView location={state.mapProperties.location}></CommunityIndexView>
|
||||||
|
|
||||||
|
</TabPanel>
|
||||||
<TabPanel>Privacy</TabPanel>
|
<TabPanel>Privacy</TabPanel>
|
||||||
</TabPanels>
|
</TabPanels>
|
||||||
</TabGroup>
|
</TabGroup>
|
||||||
|
|
|
@ -1043,10 +1043,6 @@ video {
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.h-7 {
|
|
||||||
height: 1.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.h-4 {
|
.h-4 {
|
||||||
height: 1rem;
|
height: 1rem;
|
||||||
}
|
}
|
||||||
|
@ -1087,10 +1083,6 @@ video {
|
||||||
max-height: 20vh;
|
max-height: 20vh;
|
||||||
}
|
}
|
||||||
|
|
||||||
.max-h-8 {
|
|
||||||
max-height: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.max-h-32 {
|
.max-h-32 {
|
||||||
max-height: 8rem;
|
max-height: 8rem;
|
||||||
}
|
}
|
||||||
|
@ -1099,6 +1091,10 @@ video {
|
||||||
max-height: 1.75rem;
|
max-height: 1.75rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.max-h-8 {
|
||||||
|
max-height: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
.min-h-\[8rem\] {
|
.min-h-\[8rem\] {
|
||||||
min-height: 8rem;
|
min-height: 8rem;
|
||||||
}
|
}
|
||||||
|
@ -1135,10 +1131,6 @@ video {
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
}
|
}
|
||||||
|
|
||||||
.w-7 {
|
|
||||||
width: 1.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-4 {
|
.w-4 {
|
||||||
width: 1rem;
|
width: 1rem;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue