add itens

This commit is contained in:
2025-04-17 11:43:26 -03:00
parent af15518b21
commit 1f9754f681
12 changed files with 204 additions and 161 deletions

View File

@@ -1,24 +1,25 @@
---
import Layout from '@layouts/Layout.astro'
import { Picture, Image } from 'astro:assets'
import { Container } from '@components/Container'
import { FAQ } from '@components/FAQ'
import { Picture } from 'astro:assets'
import Layout from '~/layouts/Layout.astro'
import { Container } from '~/components/Container'
import { Faq } from '~/components/Faq'
import { StarIcon, ClockIcon } from '@heroicons/react/24/outline'
import { CheckBadgeIcon } from '@heroicons/react/24/solid'
import { LinkedInIcon } from '@components/LinkedInIcon'
import nr18plataforma from '../assets/nr18-plataforma.png'
import mulherdenegocios from '../assets/mulher-de-negocios.png'
import homemdenegocios from '../assets/homem-de-negocios.png'
import francis from '../assets/francis.jpeg'
import Natura from '../assets/natura.svg'
import Nissan from '../assets/nissan.svg'
import Kordsa from '../assets/kordsa.svg'
import Manserv from '../assets/manserv.svg'
import Semeq from '../assets/semeq.svg'
import { getCollection, render } from 'astro:content'
import { LinkedInIcon } from '~/components/LinkedInIcon'
import nr18plataforma from '~/assets/nr18-plataforma.png'
import mulherdenegocios from '~/assets/mulher-de-negocios.png'
import homemdenegocios from '~/assets/homem-de-negocios.png'
import francis from '~/assets/francis.jpeg'
import Natura from '~/assets/natura.svg'
import Nissan from '~/assets/nissan.svg'
import Kordsa from '~/assets/kordsa.svg'
import Manserv from '~/assets/manserv.svg'
import Semeq from '~/assets/semeq.svg'
import { getCollection, getEntry } from 'astro:content'
export async function getStaticPaths() {
const posts = await getCollection('courses')
const posts = await getCollection('courses', ({ data }) => data.draft != true)
return posts.map((course) => {
return {
@@ -27,12 +28,17 @@ export async function getStaticPaths() {
}
})
}
// 2. For your template, you can get the entry directly from the prop
const { course } = Astro.props
const { Content } = await render(course)
const {
course: { data },
} = Astro.props
const trainer = data.course?.trainer
? await getEntry(data.course?.trainer)
: null
---
<Layout>
<Layout title={data.title}>
<Container className="py-3 lg:py-12 lg:flex items-center gap-5">
<Picture
src={nr18plataforma}
@@ -44,7 +50,7 @@ const { Content } = await render(course)
<div class="space-y-5">
<span class="font-medium">Curso de formação</span>
<h1 class="text-pretty font-semibold text-4xl lg:text-7xl">
{course.data.title}
{data.title}
</h1>
<p class="text-base/6">
NR 18 PEMT capacita operadores de plataformas elevatórias para
@@ -55,7 +61,7 @@ const { Content } = await render(course)
<ul class="lg:flex gap-3">
<li class="flex gap-1">
<ClockIcon className="w-5" />
<span>Carga horária de 40 horas</span>
<span>Carga horária de {data.course.hours} horas</span>
</li>
<li class="flex gap-1">
@@ -217,49 +223,45 @@ const { Content } = await render(course)
</p>
</div>
<div class="lg:col-span-2 flex flex-col gap-1.5">
<FAQ client:load />
<Faq topics={data.course.modules} client:load />
</div>
</Container>
<Container>
<div class="bg-white/10 rounded-2xl p-2.5 lg:py-6 xl:py-24">
<div class="lg:w-8/12 flex max-lg:flex-col gap-5 mx-auto">
<div class="shrink-0">
<Picture
src={francis}
alt="Francis Ricardo Baretta"
formats={['webp']}
class="rounded-xl size-32 outline-2 outline-offset-2 outline-lime-400"
/>
</div>
<div class="space-y-2.5">
<h5 class="text-xl text-pretty">Quem é o instrutor?</h5>
<h5 class="text-4xl lg:text-5xl text-pretty">
Francis Ricardo Baretta
</h5>
<p class="text-sm/6 text-white/70">
Francis Ricardo Baretta é Engenheiro em Segurança do Trabalho e
Engenheiro Eletricista com registro no CREA SC 126693-0. Além disso,
possui formação acadêmica pela Universidade Regional de Blumenau
(FURB) em Engenharia de Telecomunicações e Engenharia Elétrica, além
de estar cursando Pós-Graduação em Engenharia de Segurança do
Trabalho pela UNIASSELVI.
</p>
<p class="text-sm/6 text-white/70">
Participou de cursos e atividades complementares, incluindo NR-10,
NR-35, eficiência energética, gerenciamento de projetos, energia
fotovoltaica e treinamento de ferramentas de gestão avançadas.
</p>
<div class="flex">
<a
href="https://www.linkedin.com/in/francis-ricardo-baretta-5262ab11a/"
target="_blank"
>
<LinkedInIcon className="fill-white/70 w-6" />
</a>
{
trainer && (
<Container>
<div class="bg-white/10 rounded-2xl p-2.5 lg:py-6 xl:py-24">
<div class="lg:w-8/12 flex max-lg:flex-col gap-5 mx-auto">
<div class="shrink-0">
<Picture
src={francis}
alt="Francis Ricardo Baretta"
formats={['webp']}
class="rounded-xl size-32 outline-2 outline-offset-2 outline-lime-400"
/>
</div>
<div class="space-y-2.5">
<h5 class="text-xl text-pretty">Quem é o instrutor?</h5>
<h5 class="text-4xl lg:text-5xl text-pretty">
{trainer.data.name}
</h5>
{trainer.data.bio.split(/\r?\n/).map((x) => (
<p class="text-sm/6 text-white/70">{x}</p>
))}
<div class="flex">
<a
href="https://www.linkedin.com/in/francis-ricardo-baretta-5262ab11a/"
target="_blank"
>
<LinkedInIcon className="fill-white/70 w-6" />
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</Container>
</Container>
)
}
</Layout>

View File

View File

@@ -1,23 +1,23 @@
---
import Layout from '@layouts/Layout.astro'
import { Picture, Image } from 'astro:assets'
import { Container } from '@components/Container'
import { FAQ } from '@components/FAQ'
import { Picture } from 'astro:assets'
import Layout from '~/layouts/Layout.astro'
import { Container } from '~/components/Container'
import { Faq } from '~/components/Faq'
import { StarIcon, ClockIcon } from '@heroicons/react/24/outline'
import { CheckBadgeIcon } from '@heroicons/react/24/solid'
import { LinkedInIcon } from '@components/LinkedInIcon'
import nr18plataforma from '../assets/nr18-plataforma.png'
import mulherdenegocios from '../assets/mulher-de-negocios.png'
import homemdenegocios from '../assets/homem-de-negocios.png'
import francis from '../assets/francis.jpeg'
import Natura from '../assets/natura.svg'
import Nissan from '../assets/nissan.svg'
import Kordsa from '../assets/kordsa.svg'
import Manserv from '../assets/manserv.svg'
import Semeq from '../assets/semeq.svg'
import { LinkedInIcon } from '~/components/LinkedInIcon'
import nr18plataforma from '~/assets/nr18-plataforma.png'
import mulherdenegocios from '~/assets/mulher-de-negocios.png'
import homemdenegocios from '~/assets/homem-de-negocios.png'
import francis from '~/assets/francis.jpeg'
import Natura from '~/assets/natura.svg'
import Nissan from '~/assets/nissan.svg'
import Kordsa from '~/assets/kordsa.svg'
import Manserv from '~/assets/manserv.svg'
import Semeq from '~/assets/semeq.svg'
---
<Layout>
<Layout title="">
<Container className="py-3 lg:py-12 lg:flex items-center gap-5">
<Picture
src={nr18plataforma}
@@ -202,7 +202,7 @@ import Semeq from '../assets/semeq.svg'
</p>
</div>
<div class="lg:col-span-2 flex flex-col gap-1.5">
<FAQ client:load />
<Faq topics={[]} client:load />
</div>
</Container>