Files
tabler/preview/pages/maps.astro
T

38 lines
1.1 KiB
Plaintext

---
// Card maps span full-width column with no card-body; non-card maps get card-body with title.
import DefaultLayout from '@shared/layouts/DefaultLayout.astro'
import Map from '@ui/Map.astro'
import Card from '@ui/Card.astro'
import CardBody from '@ui/CardBody.astro'
import maps from '@data/maps.json'
import CardTitle from '@ui/CardTitle.astro'
type MapData = { title?: string; card?: boolean }
const mapEntries = Object.entries(maps as Record<string, MapData>)
---
<DefaultLayout title="Maps" pageMenu="plugins.maps" pageLibs={['mapbox']}>
<div class="row row-cards">
{
mapEntries.map(([mapId, data]) =>
data.card ? (
<div class="col-lg-12">
<Card>
<Map mapId={mapId} ratio="21x9" />
</Card>
</div>
) : (
<div class="col-lg-6">
<Card>
<CardBody>
<CardTitle>{data.title}</CardTitle>
<Map mapId={mapId} />
</CardBody>
</Card>
</div>
),
)
}
</div>
</DefaultLayout>