Draw the directory map with CARTO tiles rather than Esri's
This commit is contained in:
parent
92f063a30d
commit
17493d931e
4 changed files with 15 additions and 21 deletions
1
.env
1
.env
|
|
@ -22,6 +22,7 @@ VITE_DEFAULT_SEARCH_RELAYS=relay.ditto.pub,antiprimal.net,relay.vertexlab.io
|
||||||
VITE_DEFAULT_MESSAGING_RELAYS=auth.nostr1.com,relay.keychat.io,relay.ditto.pub
|
VITE_DEFAULT_MESSAGING_RELAYS=auth.nostr1.com,relay.keychat.io,relay.ditto.pub
|
||||||
VITE_SIGNER_RELAYS=ephemeral.snowflare.cc,bucket.coracle.social
|
VITE_SIGNER_RELAYS=ephemeral.snowflare.cc,bucket.coracle.social
|
||||||
VITE_THUMBNAIL_URL=https://vthumbs.coracle.social
|
VITE_THUMBNAIL_URL=https://vthumbs.coracle.social
|
||||||
|
VITE_CARTO_BASEMAP_KEY=
|
||||||
VITE_GLITCHTIP_API_KEY=
|
VITE_GLITCHTIP_API_KEY=
|
||||||
GLITCHTIP_AUTH_TOKEN=
|
GLITCHTIP_AUTH_TOKEN=
|
||||||
VITE_HOSTING_BACKEND_URL=https://api.hosting.coracle.social
|
VITE_HOSTING_BACKEND_URL=https://api.hosting.coracle.social
|
||||||
|
|
|
||||||
|
|
@ -61,6 +61,7 @@ Create an `.env.local` file to override any of the values in `.env`:
|
||||||
- `VITE_PUSH_BRIDGE` - WebSocket URL of the push notification relay bridge
|
- `VITE_PUSH_BRIDGE` - WebSocket URL of the push notification relay bridge
|
||||||
- `VITE_POMADE_SIGNERS` - A comma-separated list of Pomade signer server URLs (3+ required to enable email signup)
|
- `VITE_POMADE_SIGNERS` - A comma-separated list of Pomade signer server URLs (3+ required to enable email signup)
|
||||||
- `VITE_THUMBNAIL_URL` - URL of the image thumbnail service
|
- `VITE_THUMBNAIL_URL` - URL of the image thumbnail service
|
||||||
|
- `VITE_CARTO_BASEMAP_KEY` - A CARTO Basemaps key for the member map's tiles, free from https://carto.com/basemaps/apikey/. Without one the tiles carry an "API key required" watermark.
|
||||||
|
|
||||||
These values **won't** be used for a built version. Instead, env variables should be provided to `scripts/build/app.sh` directly or to the built container.
|
These values **won't** be used for a built version. Instead, env variables should be provided to `scripts/build/app.sh` directly or to the built container.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ createCapacitorElectronApp({
|
||||||
"default-src 'self'",
|
"default-src 'self'",
|
||||||
"script-src 'self' 'unsafe-inline' 'unsafe-eval' https://plausible.coracle.social",
|
"script-src 'self' 'unsafe-inline' 'unsafe-eval' https://plausible.coracle.social",
|
||||||
"style-src 'self' 'unsafe-inline'",
|
"style-src 'self' 'unsafe-inline'",
|
||||||
"img-src 'self' data: blob: https://*.basemaps.cartocdn.com",
|
"img-src 'self' data: blob: https://basemaps.cartocdn.com",
|
||||||
"font-src 'self' data:",
|
"font-src 'self' data:",
|
||||||
"media-src 'self' blob:",
|
"media-src 'self' blob:",
|
||||||
"connect-src 'self' https: wss: ws: http:",
|
"connect-src 'self' https: wss: ws: http:",
|
||||||
|
|
|
||||||
|
|
@ -17,14 +17,7 @@
|
||||||
|
|
||||||
const {url, pins}: Props = $props()
|
const {url, pins}: Props = $props()
|
||||||
|
|
||||||
const canvas = $derived($activeTheme === "dark" ? "Dark" : "Light")
|
const basemap = $derived($activeTheme === "dark" ? "dark_all" : "light_all")
|
||||||
|
|
||||||
const tileUrls = $derived(
|
|
||||||
["Base", "Reference"].map(
|
|
||||||
layer =>
|
|
||||||
`https://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_${canvas}_Gray_${layer}/MapServer/tile/{z}/{y}/{x}`,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
const openProfile = (pubkey: string) => pushModal(ProfileDetail, {pubkey, url})
|
const openProfile = (pubkey: string) => pushModal(ProfileDetail, {pubkey, url})
|
||||||
|
|
||||||
|
|
@ -46,23 +39,22 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
const tiles: TileLayer[] = []
|
let tile: Maybe<TileLayer>
|
||||||
|
|
||||||
if (leaflet && map) {
|
if (leaflet && map) {
|
||||||
for (const tileUrl of tileUrls) {
|
tile = leaflet
|
||||||
tiles.push(
|
.tileLayer(
|
||||||
leaflet
|
`https://basemaps.cartocdn.com/rastertiles/${basemap}/{z}/{x}/{y}.png?key=${import.meta.env.VITE_CARTO_BASEMAP_KEY}`,
|
||||||
.tileLayer(tileUrl, {
|
{
|
||||||
maxZoom: 12,
|
maxZoom: 12,
|
||||||
attribution:
|
attribution:
|
||||||
'Esri, HERE, Garmin, <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
|
'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, © <a href="https://carto.com/attributions/">CARTO</a>',
|
||||||
})
|
},
|
||||||
.addTo(map),
|
|
||||||
)
|
)
|
||||||
}
|
.addTo(map)
|
||||||
}
|
}
|
||||||
|
|
||||||
return () => tiles.forEach(tile => tile.remove())
|
return () => tile?.remove()
|
||||||
})
|
})
|
||||||
|
|
||||||
$effect(() => {
|
$effect(() => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue