Merge branch 'dev'

This commit is contained in:
Alexis
2025-05-03 14:25:43 +02:00
7 changed files with 870 additions and 673 deletions

View File

@@ -1,15 +1,21 @@
import { defineConfig } from 'astro/config';
import { availableLangs, defaultLang } from './src/i18n/ui';
import { defineConfig, envField } from 'astro/config';
import vue from "@astrojs/vue";
import sitemap from "@astrojs/sitemap";
// https://astro.build/config
export default defineConfig({
integrations: [vue(), sitemap()],
output: 'static',
site: 'https://maps.alexcreates.fr',
prefetch: true
prefetch: true,
env: {
schema: {
ENABLE_TOOLBAR: envField.boolean({ context: "server", access: "secret", default: true }),
ENABLE_TOOLBAR_TAGS: envField.boolean({ context: "server", access: "secret", default: true }),
ENABLE_CUSTOM_MARKERS: envField.boolean({ context: "server", access: "secret", default: true }),
ENABLE_BREADCRUMB: envField.boolean({ context: "server", access: "secret", default: true }),
ENABLE_I18N: envField.boolean({ context: "server", access: "secret", default: true }),
}
}
});

View File

@@ -1,7 +1,7 @@
{
"name": "leim-maps",
"type": "module",
"version": "1.4.7",
"version": "1.4.8",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
@@ -10,18 +10,18 @@
"astro": "astro"
},
"dependencies": {
"@astrojs/sitemap": "^3.3.0",
"@astrojs/vue": "^5.0.9",
"@nanostores/persistent": "^0.10.2",
"@nanostores/vue": "^0.11.0",
"@astrojs/sitemap": "^3.3.1",
"@astrojs/vue": "^5.0.13",
"@nanostores/persistent": "1.0.0",
"@nanostores/vue": "^1.0.0",
"@types/leaflet": "^1.9.17",
"@vueuse/core": "^13.0.0",
"astro": "^5.6.1",
"nanostores": "^0.11.4",
"@vueuse/core": "^13.1.0",
"astro": "^5.7.10",
"nanostores": "^1.0.1",
"radix-vue": "^1.9.17",
"vue": "^3.5.13"
},
"devDependencies": {
"sass": "^1.86.3"
"sass": "^1.87.0"
}
}

1462
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,6 @@
---
import { ENABLE_CUSTOM_MARKERS } from "astro:env/server";
import type { MapMarker, PlayerMarker } from '@/types/Leaflet';
import type { MapProps } from '@/types/Map';
import MarkerCreator from './overlay/MarkerCreator.vue';
@@ -24,7 +26,9 @@ const {
<main class="world-wrapper">
<div id="world"></div>
{ENABLE_CUSTOM_MARKERS &&
<MarkerCreator client:only="vue" mapKey={mapKey} />
}
</main>
<div style="height: 0; width: 0; overflow: hidden; display: none;">

View File

@@ -1,4 +1,6 @@
---
import { ENABLE_BREADCRUMB, ENABLE_I18N, ENABLE_TOOLBAR, ENABLE_TOOLBAR_TAGS } from "astro:env/server";
import type { MapMarker, PlayerMarker } from "@/types/Leaflet";
import type { MapOverlayProps } from "@/types/Map";
@@ -25,14 +27,27 @@ const currentUrl = Astro.url
<div class="world-overlay">
<div class="top-bar">
<SearchMarkers client:only="vue" mapKey={mapKey} markers={markers} players={players} searchConfig={searchConfig} >
{ENABLE_TOOLBAR &&
<SearchMarkers
client:only="vue"
mapKey={mapKey}
markers={markers}
players={players}
searchConfig={searchConfig}
disableTags={!ENABLE_TOOLBAR_TAGS}
>
<div slot="fallback" style="height: 45px;"></div>
</SearchMarkers>
}
{ENABLE_I18N &&
<LangSwitcher currentUrl={currentUrl} client:only="vue" />
}
</div>
{ENABLE_BREADCRUMB &&
<MapOverlayBreadcrumbs breadcrumbs={breadcrumbs} />
}
</div>
<style lang="scss">

View File

@@ -20,6 +20,7 @@ const props = defineProps<{
players: PlayerMarker,
mapKey?: string,
searchConfig?: SearchConfig
disableTags?: boolean
}>()
const customMarkersKey = props.mapKey ? `custom-markers-${props.mapKey}` : 'custom-markers'
@@ -286,6 +287,7 @@ function resetAllFields(actionAfter?: "focusAfter") {
</div>
<SearchMarkersTags
v-if="!props.disableTags"
:current-search-mode="currentSearchMode"
:custom-markers="customMarkersData"
:search-config="props.searchConfig"

12
src/env.d.ts vendored
View File

@@ -1,2 +1,14 @@
/// <reference path="../.astro/types.d.ts" />
/// <reference types="astro/client" />
interface ImportMetaEnv {
readonly ENABLE_TOOLBAR: boolean
readonly ENABLE_TOOLBAR_TAGS: boolean
readonly ENABLE_CUSTOM_MARKERS: boolean
readonly ENABLE_BREADCRUMB: boolean
readonly ENABLE_I18N: boolean
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}