generated from avior/template-web-astro
Update src/pages/index.astro #1
@ -1,60 +1,60 @@
|
|||||||
---
|
---
|
||||||
import { getCollection } from 'astro:content'
|
import { getCollection } from 'astro:content'
|
||||||
import Layout from 'layouts/Layout.astro'
|
import Layout from 'layouts/Layout.astro'
|
||||||
import Picture from 'components/Picture.astro'
|
import Picture from 'components/Picture.astro'
|
||||||
|
|
||||||
const projects = await getCollection('projects')
|
const projects = await getCollection('projects')
|
||||||
const clients = await Promise.all((await getCollection('clients')).map(async (it) => ({...it, obj: await it.render()})))
|
const clients = await Promise.all((await getCollection('clients')).map(async (it) => ({...it, obj: await it.render()})))
|
||||||
---
|
---
|
||||||
|
|
||||||
<Layout title="Avior.me - Developpement de solutions selon vos besoins">
|
<Layout title="Avior.me - Developpement de solutions selon vos besoins">
|
||||||
<main class="container">
|
<main class="container">
|
||||||
|
|
||||||
<div class="flex justify-center items-center h-64">
|
<div class="flex justify-center items-center h-64">
|
||||||
<h1 class="text-4xl font-bold">Développement de solutions selon vos besoins</h1>
|
<h1 class="text-4xl font-bold">Développement de solutions selon vos besoins</h1>
|
||||||
</div>
|
</div>
|
||||||
<h2 class="text-center md:text-left text-2xl font-semibold mb-4">Projets</h2>
|
<h2 class="text-center md:text-left text-2xl font-semibold mb-4">Projets</h2>
|
||||||
<div class="md:grid grid-cols-3 gap-4">
|
<div class="md:grid grid-cols-3 gap-4">
|
||||||
{projects.map((it) => (
|
{projects.map((it) => (
|
||||||
<a href={`/projets/${it.slug}`} class="flex flex-col gap-4 mb-6 md:mb-0">
|
<a href={`/projets/${it.slug}`} class="flex flex-col gap-4 mb-6 md:mb-0">
|
||||||
{it.data.image && (
|
{it.data.image && (
|
||||||
<Picture src={it.data.image} alt="" />
|
<Picture src={it.data.image} alt="" />
|
||||||
)}
|
)}
|
||||||
<p>{it.data.title}</p>
|
<p>{it.data.title}</p>
|
||||||
</a>
|
</a>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
<h2 class="text-center md:text-left text-2xl font-semibold my-8">Clients</h2>
|
<h2 class="text-center md:text-left text-2xl font-semibold my-8">Clients</h2>
|
||||||
<div class="flex flex-col gap-4">
|
<div class="flex flex-col gap-4">
|
||||||
<div class="grid grid-cols-2 items-center">
|
<div class="grid grid-cols-2 items-center">
|
||||||
<div></div>
|
<div></div>
|
||||||
<div class="prose dark:prose-invert max-w-none">
|
<div class="prose dark:prose-invert max-w-none">
|
||||||
<p class="font-semibold">Tâches :</p>
|
<p class="font-semibold">Tâches :O :</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{clients.map((client, index) => {
|
{clients.map((client, index) => {
|
||||||
const { Content } = client.obj
|
const { Content } = client.obj
|
||||||
client.data.logo
|
client.data.logo
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{index > 0 && (
|
{index > 0 && (
|
||||||
<div class="hidden md:block w-10/12 mx-auto h-0.5 bg-gray-300 dark:bg-gray-700"></div>
|
<div class="hidden md:block w-10/12 mx-auto h-0.5 bg-gray-300 dark:bg-gray-700"></div>
|
||||||
)}
|
)}
|
||||||
<div class="mt-6 md:mt-0 md:grid grid-cols-2 items-center">
|
<div class="mt-6 md:mt-0 md:grid grid-cols-2 items-center">
|
||||||
<a href={client.data.site} target="_blank" rel="noreferrer nofollow" class="flex flex-col gap-4">
|
<a href={client.data.site} target="_blank" rel="noreferrer nofollow" class="flex flex-col gap-4">
|
||||||
{client.data.logo && (
|
{client.data.logo && (
|
||||||
<Picture class:list={{'mx-auto': true, 'md:mx-0': true, 'dark:invert': client.data.logo.invert}} src={client.data.logo.src} height={48} alt="" />
|
<Picture class:list={{'mx-auto': true, 'md:mx-0': true, 'dark:invert': client.data.logo.invert}} src={client.data.logo.src} height={48} alt="" />
|
||||||
) || (
|
) || (
|
||||||
<div>{client.data.title}</div>
|
<div>{client.data.title}</div>
|
||||||
)}
|
)}
|
||||||
</a>
|
</a>
|
||||||
<div class="prose dark:prose-invert max-w-none">
|
<div class="prose dark:prose-invert max-w-none">
|
||||||
<Content />
|
<Content />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
</Layout>
|
</Layout>
|
||||||
|
@ -13,11 +13,11 @@ export const ALL: APIRoute = async () => {
|
|||||||
sitemap.addEntry('/', {
|
sitemap.addEntry('/', {
|
||||||
priority: 1
|
priority: 1
|
||||||
})
|
})
|
||||||
sitemap.addEntry('/projets/', {
|
sitemap.addEntry('/projects/', {
|
||||||
priority: 0.5
|
priority: 0.5
|
||||||
})
|
})
|
||||||
for (const project of projects) {
|
for (const project of projects) {
|
||||||
sitemap.addEntry('/projets/' + project.slug, {
|
sitemap.addEntry('/projects/' + project.slug, {
|
||||||
priority: 0.7
|
priority: 0.7
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user