This commit is contained in:
2025-04-22 14:53:09 -03:00
parent 93186a7f9b
commit 61c4c454bd
75 changed files with 36 additions and 117 deletions

View File

@@ -1,85 +0,0 @@
import { ChevronDownIcon, XMarkIcon, MagnifyingGlassIcon } from '@heroicons/react/24/solid'
import {
Popover,
PopoverButton,
PopoverPanel,
PopoverBackdrop,
Field,
Select,
Label,
CloseButton,
} from '@headlessui/react'
import { Container } from './Container'
export function Menu({ recentCourses }) {
return (
<Popover className="relative">
<PopoverButton className="text-black font-semibold cursor-pointer flex gap-1 hover:outline-2 rounded focus:outline-none">
<div className="truncate max-w-36 sm:max-w-72 md:max-w-124">NR-18 PEMT Plataforma Móvel de Trabalho</div>
<ChevronDownIcon className="w-5 fill-black" />
</PopoverButton>
<PopoverPanel
// static={true}
anchor="bottom"
className="sticky z-20 -mt-11.5 w-full py-6 2xl:py-24 bg-lime-400 rounded-b-2xl drop-shadow shadow-sm transition duration-150 ease-linear data-[closed]:opacity-0"
transition
>
<Container className="text-black relative xl:w-10/12 2xl:w-5xl">
<CloseButton
className="absolute border border-black -top-3.5 2xl:-top-20 right-2.5 2xl:right-0 rounded-full p-px cursor-pointer"
title="Fechar"
aria-hidden={true}
>
<XMarkIcon className="size-3.5" />
</CloseButton>
<div className="border-b border-black pb-6 lg:pb-12 mb-6 lg:mb-12">
<span>Curso de formação</span>
<h1 className="text-xl lg:text-2xl">NR-18 PEMT Plataforma Elevatória Móvel de Trabalho</h1>
</div>
<div className="flex max-lg:flex-col gap-2.5 justify-between mb-3.5">
<h6 className="font-medium text-xl lg:text-2xl">Conheça outros cursos da EDUSEG&reg;</h6>
<div className="flex max-lg:flex-col gap-0.5 lg:gap-4">
{/* Search */}
<label className="flex gap-1 items-center">
<span className="text-nowrap max-lg:w-2/5 text-right">Buscar por</span>
<div className="flex border rounded px-1.5 py-0.5 lg:px-2 lg:py-1 bg-white/20 focus-within:bg-white w-full transition duration-150">
<input className="outline-none w-full" />
<MagnifyingGlassIcon className="w-5" />
</div>
</label>
{/* Filter */}
<Field className="flex gap-1 items-center">
<Label className="text-nowrap max-lg:w-2/5 text-right">Exibir apenas</Label>
<div className="relative w-full lg:w-30 bg-white/20">
<Select className="flex border items-center justify-between gap-0.5 border-black rounded px-1.5 py-0.5 lg:px-2 lg:py-1 appearance-none focus:outline-none w-full">
<option value="formacao">Formação</option>
<option value="reciclagem">Reciclagem</option>
</Select>
<ChevronDownIcon
className="absolute top-2.5 right-2.5 pointer-events-none size-4"
aria-hidden="true"
/>
</div>
</Field>
</div>
</div>
<ul className="list-disc list-inside font-medium *:*:hover:underline *:*:cursor-pointer max-lg:*:truncate">
{recentCourses.map(({ data: { title, slug } }, idx) => {
return (
<li key={idx}>
<a href={`/${slug}`}>{title}</a>
</li>
)
})}
</ul>
</Container>
</PopoverPanel>
<PopoverBackdrop className="fixed z-10 inset-0" />
</Popover>
)
}

View File

@@ -2,17 +2,22 @@ import { defineCollection, z, reference } from 'astro:content'
import { glob } from 'astro/loaders' import { glob } from 'astro/loaders'
const trainers = defineCollection({ const trainers = defineCollection({
loader: glob({ pattern: '**/*.md', base: './src/data/trainers' }), loader: glob({ pattern: '**/*.md', base: './src/content/trainers' }),
schema: ({ image }) => schema: ({ image }) =>
z.object({ z.object({
name: z.string(), name: z.string(),
image: image(), image: image(),
bio: z.string(), networks: z.array(
z.object({
alt: z.string(),
url: z.string(),
}),
),
}), }),
}) })
const courses = defineCollection({ const courses = defineCollection({
loader: glob({ pattern: '**/*.md', base: './src/data/courses' }), loader: glob({ pattern: '**/*.md', base: './src/content/courses' }),
schema: ({ image }) => schema: ({ image }) =>
z.object({ z.object({
id: z.string(), id: z.string(),

View File

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

View File

@@ -0,0 +1,11 @@
---
name: Francis Ricardo Baretta
image: ./francis.jpeg
networks:
- alt: LinkedIn
url: https://www.linkedin.com/in/francis-ricardo-baretta-5262ab11a/
---
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.
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.

View File

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,11 @@
---
name: Lúcia Alves Ferreira
image: ./lucia.jpg
networks:
- alt: LinkedIn
url: https://www.linkedin.com/in/lucia-alves-ferreira-75a81217/
---
Engenheira Mecânica e Engenheira em Segurança do Trabalho com registro no CREA RJ.
Profissional de Segurança do Trabalho , credenciado ao CBMERJ Corpo de Bombeiro Militar do Estado Rio de Janeiro, com 15 anos de experiência no segmento Offshore e Onshore, atuando em empresas de grande porte na área de Segurança do Trabalho. Vivência em segmentos como energia, manutenção naval, embarques em plataformas, bom conhecimento e gestão do sistema de SMS, e seus procedimentos.

View File

@@ -1,10 +0,0 @@
---
name: Francis Ricardo Baretta
image: ./francis.jpeg
bio:
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.
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.
networks:
- linkedin: https://www.linkedin.com/in/francis-ricardo-baretta-5262ab11a/
---

View File

@@ -1,9 +0,0 @@
---
name: Lúcia Alves Ferreira
image: ./lucia.jpg
bio: Engenheira Mecânica e Engenheira em Segurança do Trabalho com registro no CREA RJ.
Profissional de Segurança do Trabalho , credenciado ao CBMERJ Corpo de Bombeiro Militar do Estado Rio de Janeiro, com 15 anos de experiência no segmento Offshore e Onshore, atuando em empresas de grande porte na área de Segurança do Trabalho. Vivência em segmentos como energia, manutenção naval, embarques em plataformas, bom conhecimento e gestão do sistema de SMS, e seus procedimentos.
networks:
- linkedin: https://www.linkedin.com/in/lucia-alves-ferreira-75a81217/
---

View File

@@ -275,18 +275,14 @@ const trainer = data.course?.trainer ? await getEntry(data.course?.trainer) : nu
<h6 class="text-xl text-pretty">Quem é o(a) instrutor(a)?</h6> <h6 class="text-xl text-pretty">Quem é o(a) instrutor(a)?</h6>
<p class="text-4xl lg:text-5xl text-pretty">{trainer.data.name}</p> <p class="text-4xl lg:text-5xl text-pretty">{trainer.data.name}</p>
{trainer.data.bio.split(/\r?\n/).map((x) => ( <div class="text-sm/6 text-white/70 space-y-2.5" set:html={trainer?.rendered?.html} />
<p class="text-sm/6 text-white/70">{x}</p>
))}
<div class="flex"> <div class="flex">
<a {trainer.data.networks.map(data => (
href="https://www.linkedin.com/in/francis-ricardo-baretta-5262ab11a/" <a href={data.url}target="_blank"aria-labelledby={data.alt}>
target="_blank" <Icon name={data.alt.toLowerCase()} class="fill-white/70 size-5" />
aria-label="LinkedIn" </a>
> ))}
<Icon name="linkedin" class="fill-white/70 size-5" />
</a>
</div> </div>
</div> </div>
</div> </div>