Files
armandine/src/routes/+page.svelte
mifi 4f863e5686
Some checks failed
ci/woodpecker/pr/ci Pipeline failed
Finished the Sveltification
2026-02-15 23:01:16 -03:00

89 lines
2.6 KiB
Svelte

<script lang="ts">
import type { MediaItem } from '$lib/media.js';
import Lightbox from '$lib/components/Lightbox.svelte';
import GalleryFigure from '$lib/components/GalleryFigure.svelte';
import SiteHeader from '$lib/components/SiteHeader.svelte';
interface Props {
data: { mediaItems: MediaItem[] };
}
let { data }: Props = $props();
const title = '64 Armandine St #3 Boston, Massachusetts';
const description =
'An inviting blend of comfort and curated art—relaxation guaranteed.';
const canonical = 'https://armandine.mifi.holdings/';
const gaId = 'G-QZGFK4MDT4';
const jsonLd = {
'@context': 'https://schema.org',
'@type': 'Place',
name: title,
description,
address: {
'@type': 'PostalAddress',
streetAddress: '64 Armandine St #3',
addressLocality: 'Boston',
addressRegion: 'MA',
addressCountry: 'US',
},
};
let showPicture = $state<MediaItem | null>(null);
const showLightbox = (item: MediaItem) => {
showPicture = item;
};
const onClose = () => {
showPicture = null;
};
</script>
<svelte:head>
<title>{title}</title>
<meta name="description" content={description} />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="canonical" href={canonical} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:type" content="website" />
<meta property="og:url" content={canonical} />
<link
rel="icon"
type="image/png"
sizes="32x32"
href="/assets/favicon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="/assets/favicon-16x16.png"
/>
<link rel="icon" type="image/x-icon" href="/assets/favicon.ico" />
<link rel="preload" href="/assets/js/script.js" as="script" />
<script defer src="/assets/js/script.js"></script>
<script
async
src="https://www.googletagmanager.com/gtag/js?id={gaId}"
></script>
<script defer src="/assets/js/ga-init.js" data-ga-id={gaId}></script>
{@html `<script type="application/ld+json">${JSON.stringify(jsonLd)}</script>`}
</svelte:head>
<SiteHeader />
<main>
<section id="gallery" class="gallery-grid">
{#each data.mediaItems as item, index (item.name)}
<GalleryFigure {item} {index} {showLightbox} />
{/each}
</section>
</main>
<Lightbox item={showPicture} {onClose} />