Added favicon, text stroke and changes to data handling

This commit is contained in:
Alexis
2023-10-09 22:52:26 +02:00
parent 6664cf19f3
commit 1fbc96acf2
19 changed files with 771 additions and 245 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B

BIN
public/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

9
public/browserconfig.xml Normal file
View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square150x150logo src="/mstile-150x150.png"/>
<TileColor>#00aba9</TileColor>
</tile>
</msapplication>
</browserconfig>

BIN
public/favicon-16x16.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 678 B

BIN
public/favicon-32x32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
public/mstile-150x150.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="96.000000pt" height="96.000000pt" viewBox="0 0 96.000000 96.000000"
preserveAspectRatio="xMidYMid meet">
<metadata>
Created by potrace 1.14, written by Peter Selinger 2001-2017
</metadata>
<g transform="translate(0.000000,96.000000) scale(0.100000,-0.100000)"
fill="#000000" stroke="none">
<path d="M422 899 l4 -59 -34 0 c-20 0 -32 -5 -31 -12 5 -44 -1 -55 -31 -50
l-29 4 1 -57 c2 -59 -10 -79 -41 -67 -22 8 -30 22 -26 44 3 14 -2 18 -24 18
l-28 0 0 -289 c-1 -264 4 -327 23 -309 14 14 41 -11 39 -36 -3 -24 -1 -24 52
-22 56 2 68 -5 68 -39 0 -19 7 -20 116 -21 100 -1 116 2 116 15 0 45 2 46 60
46 58 0 58 0 58 30 1 27 4 30 31 28 l30 -1 0 236 -1 237 -27 3 c-31 4 -30 0
-31 110 -1 72 -1 73 -26 70 -20 -2 -27 -9 -29 -29 -2 -20 -10 -28 -28 -32 -30
-5 -33 1 -36 68 -3 48 -4 50 -34 53 -28 3 -30 6 -26 33 3 22 1 30 -9 29 -38
-6 -49 1 -49 28 0 23 -4 27 -31 28 l-30 2 3 -59z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

14
public/site.webmanifest Normal file
View File

@@ -0,0 +1,14 @@
{
"name": "Cartes de Leim",
"short_name": "Cartes de Leim",
"icons": [
{
"src": "/android-chrome-96x96.png",
"sizes": "96x96",
"type": "image/png"
}
],
"theme_color": "#a9d1eb",
"background_color": "#a9d1eb",
"display": "standalone"
}

View File

@@ -0,0 +1,36 @@
@use './utils/text';
.leaflet-container {
margin: auto;
width: 100%;
max-width: 100%;
max-height: 100%;
background: #98bcd0 !important;
.leaflet-map-pane {
.leaflet-tooltip-pane {
.leaflet-tooltip {
&.capital-name {
padding: .2rem .4rem;
color: #EEE;
font-weight: bold;
background: none;
border: none;
box-shadow: none;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
&::before {
display: none;
}
@include text.stroke(2, #18181b);
}
}
}
}
}
.leaflet-popup-content-wrapper {
border-radius: .25rem;
}

View File

@@ -0,0 +1,5 @@
@use './leaflet';
html {
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
}

View File

@@ -0,0 +1,24 @@
/// Stroke font-character
/// @param {Integer} $stroke - Stroke width
/// @param {Color} $color - Stroke color
/// @return {List} - text-shadow list
@function stroke($stroke, $color) {
$shadow: ();
$from: $stroke*-1;
@for $i from $from through $stroke {
@for $j from $from through $stroke {
$shadow: append($shadow, $i*1px $j*1px 0 $color, comma);
}
}
@return $shadow;
}
/// Stroke font-character
/// @param {Integer} $stroke - Stroke width
/// @param {Color} $color - Stroke color
/// @return {Style} - text-shadow
@mixin stroke($stroke, $color) {
text-shadow: stroke($stroke, $color);
}

View File

@@ -1,6 +1,16 @@
---
import type { MapMarker } from '@/types/Leaflet';
interface Props {
markers: MapMarker;
}
const { markers } = Astro.props
---
<div id="map"></div>
<script lang="ts">
<script lang="ts" define:vars={{ markers }}>
const mapHeight = 15168;
const mapWidth = 14658;
@@ -28,197 +38,7 @@
/**
* Build all markers and their related info
*/
const markers = [
{
group: "capitals",
title: "Ambrose",
description: "Chef-lieu de Nacride et Capitale économique de l'Alliance Kaldélienne.",
link: "https://alexcreates.fr/leim/index.php?title=Ambrose",
markerCoords: {
x: 83.6,
y: -185.2,
}
},
{
group: "capitals",
title: "Cordouac",
description: "Chef-lieu d'Héraldie et Capitale administrative de l'Alliance Kaldélienne.",
link: "https://alexcreates.fr/leim/index.php?title=Cordouac",
markerCoords: {
x: 133.46875,
y: -146.0625 ,
}
},
{
group: "capitals",
title: "Bordelac",
description: "Chef-lieu des Hautes-Berges",
link: "https://alexcreates.fr/leim/index.php?title=Bordelac",
markerCoords: {
x: 151.22656,
y: -173.63281,
}
},
{
group: "capitals",
title: "Tourgrise",
description: "Chef-lieu de Ternâcre. C'est une cité de mages archivistes, mais c'est aussi ici qu'on trouve la plus grande population carcérale de l'Alliance.",
link: "https://alexcreates.fr/leim/index.php?title=Tourgrise",
markerCoords: {
x: 132.26953,
y: -98.19141,
}
},
{
group: "capitals",
title: "Valsoie",
description: "Chef-lieu de Mireloin.",
link: "https://alexcreates.fr/leim/index.php?title=Valsoie",
markerCoords: {
x: 103.4375,
y: -79.5,
}
},
{
group: "capitals",
title: "Prismalline",
description: "Chef-lieu de Corambre.",
link: "https://alexcreates.fr/leim/index.php?title=Prismalline",
markerCoords: {
x: 103.00329,
y: -138.02162,
}
},
{
group: "capitals",
title: "Port-brisé",
description: "Chef-lieu d'Émerose.",
link: "https://alexcreates.fr/leim/index.php?title=Port-brisé",
markerCoords: {
x: 168.39491,
y: -109.13376,
}
},
{
group: "capitals",
title: "Berce",
description: "Chef-lieu des Basses-berges.",
link: "https://alexcreates.fr/leim/index.php?title=Berce",
markerCoords: {
x: 173.39874,
y: -164.39011,
}
},
{
group: "capitals",
title: "Lamière",
description: "Chef-lieu de Quillon.",
link: "https://alexcreates.fr/leim/index.php?title=Lamière",
markerCoords: {
x: 140.20731,
y: -195.77923,
}
},
{
group: "capitals",
title: "Halport",
description: "Chef-lieu de Lagarde.",
link: "https://alexcreates.fr/leim/index.php?title=Halport",
markerCoords: {
x: 76.6803,
y: -198.76159,
}
},
{
group: "capitals",
title: "Soubreciel",
description: "Chef-lieu de Rougefer.",
link: "https://alexcreates.fr/leim/index.php?title=Soubreciel",
markerCoords: {
x: 204.42515,
y: -226.85883,
}
},
{
group: "capitals",
title: "Dramast",
description: "Chef-lieu d'Asharos.",
link: "https://alexcreates.fr/leim/index.php?title=Dramast",
markerCoords: {
x: 119.35456,
y: -27.53623,
}
},
{
group: "capitals",
title: "Briseroc",
description: "Chef-lieu de Pergaré.",
link: "https://alexcreates.fr/leim/index.php?title=Briseroc",
markerCoords: {
x: 41.96763,
y: -48.83056,
}
},
{
group: "capitals",
title: "Demilieu",
description: "Ancienne cité militaire laissée à l'abandon depuis plusieurs centaines d'années.",
link: "https://alexcreates.fr/leim/index.php?title=Demilieu",
markerCoords: {
x: 204.75462,
y: -116.80687,
}
},
{
group: "cities",
title: "Borélis",
description: "Cité côtière vivant principalement de la pêche.",
link: "https://alexcreates.fr/leim/index.php?title=Borélis",
markerCoords: {
x: 138.44531,
y: -51.54687,
}
},
{
group: "cities",
title: "Alcombe",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Alcombe",
markerCoords: {
x: 165.42471,
y: -164.00393,
}
},
{
group: "cities",
title: "Cristaline",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Cristaline",
markerCoords: {
x: 167.06242,
y: -176.47233,
}
},
{
group: 'landmarks',
title: "L'Ange d'Aldys",
description: "Monument dédié à la mémoire des morts du sang noir pendant la Rupture.",
markerCoords: {
x: 90.125,
y: -166.4375,
}
},
{
group: 'landmarks',
title: "Les Cages Handaniennes",
description: "Complexe pénitencier réservé aux criminels maîtrisant la magie.",
link: "https://alexcreates.fr/leim/index.php?title=Cages_Handaniennes",
markerCoords: {
x: 168.31641,
y: -60.54297,
}
}
]
for (let i = 0; i < markers.length; i++) {
const m = markers[i];
@@ -278,7 +98,7 @@
const displayTooltip = m.group === 'capitals';
if (displayTooltip) {
L.tooltip({ permanent: true, direction: 'top', offset: [0, -10], content: m.title, className: "capital-name", opacity: 1 }).setLatLng(coords).addTo(map);
L.tooltip({ permanent: true, direction: 'top', offset: [0, 2], content: m.title, className: "capital-name", opacity: 1 }).setLatLng(coords).addTo(map);
}
marker.addTo(layerGroups[m.group])
@@ -341,7 +161,7 @@
})
</script>
<style lang="scss" is:global>
<style lang="scss">
html,
body {
height: 100vh;
@@ -349,23 +169,6 @@ body {
}
.leaflet-container {
margin: auto;
width: 100%;
max-width: 100%;
max-height: 100%;
aspect-ratio: 1551 / 1605;
background: #98bcd0 !important;
.leaflet-map-pane {
.leaflet-tooltip-pane {
.leaflet-tooltip {
&.capital-name {
padding: .2rem .4rem;
color: #222;
font-weight: bold;
}
}
}
}
}
</style>

View File

@@ -7,15 +7,22 @@ const { title } = Astro.props;
---
<!doctype html>
<html lang="en">
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="description" content="Astro description" />
<meta name="viewport" content="width=device-width" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="generator" content={Astro.generator} />
<title>{title}</title>
<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#6595b4">
<meta name="msapplication-TileColor" content="#00aba9">
<meta name="theme-color" content="#a9d1eb">
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" integrity="sha256-p4NxAoJBhIIN+hmNHrzRCf9tD/miZyoHS5obTRR9BMY=" crossorigin="" />
<script is:inline src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js" integrity="sha256-20nQCchB9co0qIjJZRGuk2/Z9VM+kNiyxNV1lvTlZBo=" crossorigin="">
</script>
@@ -28,32 +35,7 @@ const { title } = Astro.props;
<slot />
</body>
</html>
<style is:global>
:root {
--accent: 136, 58, 234;
--accent-light: 224, 204, 250;
--accent-dark: 49, 10, 101;
--accent-gradient: linear-gradient(
45deg,
rgb(var(--accent)),
rgb(var(--accent-light)) 30%,
white 60%
);
}
html {
font-family: system-ui, sans-serif;
background: #13151a;
background-size: 224px;
}
code {
font-family:
Menlo,
Monaco,
Lucida Console,
Liberation Mono,
DejaVu Sans Mono,
Bitstream Vera Sans Mono,
Courier New,
monospace;
}
<style is:global lang="scss">
@import '../assets/scss/theme.scss';
</style>

View File

@@ -0,0 +1,603 @@
import type { MapMarker } from "@/types/Leaflet";
export const allianceMarkers: MapMarker[] = [
{
group: "capitals",
title: "Ambrose",
description: "Chef-lieu de Nacride et Capitale économique de l'Alliance Kaldélienne.",
link: "https://alexcreates.fr/leim/index.php?title=Ambrose",
markerCoords: {
x: 83.6,
y: -185.2,
}
},
{
group: "capitals",
title: "Cordouac",
description: "Chef-lieu d'Héraldie et Capitale administrative de l'Alliance Kaldélienne.",
link: "https://alexcreates.fr/leim/index.php?title=Cordouac",
markerCoords: {
x: 133.46875,
y: -146.0625 ,
}
},
{
group: "capitals",
title: "Bordelac",
description: "Chef-lieu des Hautes-Berges",
link: "https://alexcreates.fr/leim/index.php?title=Bordelac",
markerCoords: {
x: 151.22656,
y: -173.63281,
}
},
{
group: "capitals",
title: "Tourgrise",
description: "Chef-lieu de Ternâcre. C'est une cité de mages archivistes, mais c'est aussi ici qu'on trouve la plus grande population carcérale de l'Alliance.",
link: "https://alexcreates.fr/leim/index.php?title=Tourgrise",
markerCoords: {
x: 132.26953,
y: -98.19141,
}
},
{
group: "capitals",
title: "Valsoie",
description: "Chef-lieu de Mireloin.",
link: "https://alexcreates.fr/leim/index.php?title=Valsoie",
markerCoords: {
x: 103.4375,
y: -79.5,
}
},
{
group: "capitals",
title: "Prismalline",
description: "Chef-lieu de Corambre.",
link: "https://alexcreates.fr/leim/index.php?title=Prismalline",
markerCoords: {
x: 103.00329,
y: -138.02162,
}
},
{
group: "capitals",
title: "Port-brisé",
description: "Chef-lieu d'Émerose.",
link: "https://alexcreates.fr/leim/index.php?title=Port-brisé",
markerCoords: {
x: 168.39491,
y: -109.13376,
}
},
{
group: "capitals",
title: "Berce",
description: "Chef-lieu des Basses-berges.",
link: "https://alexcreates.fr/leim/index.php?title=Berce",
markerCoords: {
x: 173.39874,
y: -164.39011,
}
},
{
group: "capitals",
title: "Lamière",
description: "Chef-lieu de Quillon.",
link: "https://alexcreates.fr/leim/index.php?title=Lamière",
markerCoords: {
x: 140.20731,
y: -195.77923,
}
},
{
group: "capitals",
title: "Halport",
description: "Chef-lieu de Lagarde.",
link: "https://alexcreates.fr/leim/index.php?title=Halport",
markerCoords: {
x: 76.6803,
y: -198.76159,
}
},
{
group: "capitals",
title: "Soubreciel",
description: "Chef-lieu de Rougefer.",
link: "https://alexcreates.fr/leim/index.php?title=Soubreciel",
markerCoords: {
x: 204.42515,
y: -226.85883,
}
},
{
group: "capitals",
title: "Dramast",
description: "Chef-lieu d'Asharos.",
link: "https://alexcreates.fr/leim/index.php?title=Dramast",
markerCoords: {
x: 119.35456,
y: -27.53623,
}
},
{
group: "capitals",
title: "Briseroc",
description: "Chef-lieu de Pergaré.",
link: "https://alexcreates.fr/leim/index.php?title=Briseroc",
markerCoords: {
x: 41.96763,
y: -48.83056,
}
},
{
group: "capitals",
title: "Demilieu",
description: "Ancienne cité militaire laissée à l'abandon depuis plusieurs centaines d'années.",
link: "https://alexcreates.fr/leim/index.php?title=Demilieu",
markerCoords: {
x: 204.75462,
y: -116.80687,
}
},
{
group: "cities",
title: "Borélis",
description: "Cité côtière vivant principalement de la pêche.",
link: "https://alexcreates.fr/leim/index.php?title=Borélis",
markerCoords: {
x: 138.44531,
y: -51.54687,
}
},
{
group: "cities",
title: "Alcombe",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Alcombe",
markerCoords: {
x: 165.42471,
y: -164.00393,
}
},
{
group: "cities",
title: "Cristaline",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Cristaline",
markerCoords: {
x: 167.06242,
y: -176.47233,
}
},
{
group: "cities",
title: "Vidinamel",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Vidinamel",
markerCoords: {
x: 176.40469,
y: -199.94666,
}
},
{
group: "cities",
title: "Cantane",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Cantane",
markerCoords: {
x: 196.00387,
y: -210.9071,
}
},
{
group: "cities",
title: "Horfer",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Horfer",
markerCoords: {
x: 185.57431,
y: -229.08588,
}
},
{
group: "cities",
title: "Cimeterre",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Cimeterre",
markerCoords: {
x: 143.16512,
y: -217.37201,
}
},
{
group: "cities",
title: "Aubert",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Aubert",
markerCoords: {
x: 140.19456,
y: -201.85993,
}
},
{
group: "cities",
title: "Telos",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Telos",
markerCoords: {
x: 104.61938,
y: -204.35683,
}
},
{
group: "cities",
title: "Saint-Amanthe",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Saint-Amanthe",
markerCoords: {
x: 83.88068,
y: -196.35341,
}
},
{
group: "cities",
title: "Flauvent",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Flauvent",
markerCoords: {
x: 77.58332,
y: -210.22326,
}
},
{
group: "cities",
title: "Nardion",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Nardion",
markerCoords: {
x: 43.56226,
y: -218.19662,
}
},
{
group: "cities",
title: "Granvert",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Granvert",
markerCoords: {
x: 63.47312,
y: -192.67867,
}
},
{
group: "cities",
title: "Olydra",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Olydra",
markerCoords: {
x: 92.24383,
y: -179.9298,
}
},
{
group: "cities",
title: "Vermeil",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Vermeil",
markerCoords: {
x: 98.86066,
y: -185.63039,
}
},
{
group: "cities",
title: "Corindon",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Corindon",
markerCoords: {
x: 85.04465,
y: -173.44829,
}
},
{
group: "cities",
title: "Verdame",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Verdame",
markerCoords: {
x: 93.64841,
y: -155.23226,
}
},
{
group: "cities",
title: "Sellier",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Sellier",
markerCoords: {
x: 112.8161,
y: -165.85315,
}
},
{
group: "cities",
title: "Fort-Altare",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Fort-Altare",
markerCoords: {
x: 123.1809,
y: -156.79472,
}
},
{
group: "cities",
title: "Naegir",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Naegir",
markerCoords: {
x: 111.22838,
y: -142.46072,
}
},
{
group: "cities",
title: "Silène",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Silène",
markerCoords: {
x: 129.49372,
y: -127.83022,
}
},
{
group: "cities",
title: "Astelion",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Astelion",
markerCoords: {
x: 149.80364,
y: -141.47096,
}
},
{
group: "cities",
title: "Mythuse",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Mythuse",
markerCoords: {
x: 101.52778,
y: -119.3854,
}
},
{
group: "cities",
title: "Celadonis",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Celadonis",
markerCoords: {
x: 121.39631,
y: -107.59972,
}
},
{
group: "cities",
title: "Mestrl",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Mestrl",
markerCoords: {
x: 141.59822,
y: -112.96104,
}
},
{
group: "cities",
title: "Pyranae",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Pyranae",
markerCoords: {
x: 191.89054,
y: -166.99251,
}
},
{
group: "cities",
title: "Liserios",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Liserios",
markerCoords: {
x: 187.69872,
y: -101.89283,
}
},
{
group: "cities",
title: "Armistille",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Armistille",
markerCoords: {
x: 187.72908,
y: -111.21423,
}
},
{
group: "cities",
title: "Gasterre",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Gasterre",
markerCoords: {
x: 167.39995,
y: -144.62217,
}
},
{
group: "cities",
title: "Valversant",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Valversant",
markerCoords: {
x: 177.56325,
y: -156.35054,
}
},
{
group: "cities",
title: "Becqueraut",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Becqueraut",
markerCoords: {
x: 129.06038,
y: -190.31194,
}
},
{
group: "cities",
title: "Grasselieu",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Grasselieu",
markerCoords: {
x: 148.54698,
y: -185.44567,
}
},
{
group: "cities",
title: "Asandre",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Asandre",
markerCoords: {
x: 125.35658,
y: -95.44555,
}
},
{
group: "cities",
title: "Félisse",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Félisse",
markerCoords: {
x: 138.45867,
y: -87.15509,
}
},
{
group: "cities",
title: "Félisse",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Félisse",
markerCoords: {
x: 151.79771,
y: -89.78763,
}
},
{
group: "cities",
title: "Anderol",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Anderol",
markerCoords: {
x: 88.08019,
y: -76.54403,
}
},
{
group: "cities",
title: "Denteloin",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Denteloin",
markerCoords: {
x: 99.26192,
y: -94.88901,
}
},
{
group: "cities",
title: "Willeau",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Willeau",
markerCoords: {
x: 107.50352,
y: -67.36631,
}
},
{
group: "cities",
title: "Borglah",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Borglah",
markerCoords: {
x: 91.03982,
y: -57.75967,
}
},
{
group: "cities",
title: "Karlas",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Karlas",
markerCoords: {
x: 133.5332,
y: -44.42783,
}
},
{
group: "cities",
title: "Sérak",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Sérak",
markerCoords: {
x: 127.10271,
y: -18.2676,
}
},
{
group: "cities",
title: "Plumeroche",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Plumeroche",
markerCoords: {
x: 52.68144,
y: -44.71821,
}
},
{
group: 'landmarks',
title: "L'Ange d'Aldys",
description: "",
markerCoords: {
x: 89.08707,
y: -166.49361,
}
},
{
group: 'landmarks',
title: "Les Cages Handaniennes",
description: "Complexe pénitencier réservé aux criminels maîtrisant la magie.",
link: "https://alexcreates.fr/leim/index.php?title=Cages_Handaniennes",
markerCoords: {
x: 168.31641,
y: -60.54297,
}
},
{
group: 'landmarks',
title: "Solemthelio",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Solemthelio",
markerCoords: {
x: 174.22358,
y: -197.04778,
}
},
{
group: 'landmarks',
title: "Temple du soleil",
description: "",
link: "https://alexcreates.fr/leim/index.php?title=Temple du soleil",
markerCoords: {
x: 58.89295,
y: -189.69308,
}
}
];

View File

@@ -0,0 +1,8 @@
import type { APIRoute } from "astro";
import { allianceMarkers } from "./data/alliance.markers";
export const GET: APIRoute = ({ params, request }) => {
return new Response(
JSON.stringify(allianceMarkers)
)
}

View File

@@ -1,8 +1,11 @@
---
import Layout from '../layouts/Layout.astro';
import AllianceKaldelienne from '../components/maps/AllianceKaldelienne.astro'
const res = await fetch('http://localhost:4321/api/markers.json');
const data = await res.json();
---
<Layout title="Welcome to Astro.">
<AllianceKaldelienne />
<Layout title="Leim Wiki - Cartographie">
<AllianceKaldelienne markers={data} />
</Layout>

12
src/types/Leaflet.ts Normal file
View File

@@ -0,0 +1,12 @@
export type MapMarkerGroup = "capitals" | "cities" | "towns" | "landmarks";
export type MapMarker = {
title: string,
markerCoords: {
x: number,
y: number,
}
description?: string,
link?: string,
group?: MapMarkerGroup,
}

View File

@@ -1,3 +1,9 @@
{
"extends": "astro/tsconfigs/strict"
"extends": "astro/tsconfigs/strict",
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/*": ["src/*"],
}
}
}