This commit is contained in:
2025-05-06 16:23:28 -03:00
parent 907177b281
commit 262abf0d2d
4 changed files with 71 additions and 61 deletions

View File

@@ -2,6 +2,8 @@
import { Icon } from "astro-icon/components"; import { Icon } from "astro-icon/components";
import Container from "../Container.astro"; import Container from "../Container.astro";
import BuyDropdown from "./BuyDropdown.astro"; import BuyDropdown from "./BuyDropdown.astro";
import Trends from "~/components/Trends.astro";
import Search from "~/components/Search.astro";
import { getCollection } from "astro:content"; import { getCollection } from "astro:content";
const courses = await getCollection( const courses = await getCollection(
@@ -12,8 +14,8 @@ const courses = await getCollection(
const { title } = Astro.props; const { title } = Astro.props;
--- ---
<nav class="sticky top-0 z-10 bg-lime-400 py-3 drop-shadow shadow-sm"> <nav class="sticky bg-lime-400 top-0 z-10 drop-shadow shadow-sm">
<Container class="flex items-center relative"> <Container class="flex items-center relative py-3">
<button <button
data-toggle="menu" data-toggle="menu"
data-target="#heromenu" data-target="#heromenu"
@@ -26,40 +28,37 @@ const { title } = Astro.props;
</button> </button>
<BuyDropdown class="ml-auto" {...Astro.props} /> <BuyDropdown class="ml-auto" {...Astro.props} />
</Container>
<dialog <dialog
id="heromenu" id="heromenu"
class="absolute text-black bg-lime-400 w-full inset-0 rounded-b-2xl h-fit overflow-hidden" class="absolute top-full translate-y-1 w-full bg-transparent max-lg:px-2.5"
closedby="any" closedby="any"
> >
<Container class="relative overflow-auto h-100"> <div class="text-black bg-lime-400 rounded-xl lg:rounded-2xl">
<div class="sticky top-0 py-2.5 backdrop-blur-sm"> <div class="lg:w-1/2 mx-auto p-5 lg:py-24">
<h6 class="font-medium text-xl lg:text-2xl"> <search class="space-y-5">
Conheça outros cursos da EDUSEG&reg; <label for="search" class="block">
</h6> <h1
</div> class="text-pretty font-semibold text-3xl lg:text-4xl"
>
Digite o curso para ver todos detalhes
</h1>
</label>
<ul <Search />
class="list-disc list-inside max-lg:[&_li]:truncate font-medium" </search>
>
{ <div class="space-y-1.5">
courses.map(({ data: { title, slug } }) => { <h2 class="font-bold text-xl flex gap-1">
return ( <Icon name="arrow-trending-up" class="size-6" />
<li> <span>Cursos mais procurados</span>
<a </h2>
href={`/${slug}`}
class=" hover:underline p-0.5" <Trends />
> </div>
{title} </div>
</a> </div>
</li>
);
})
}
</ul>
</Container>
</dialog> </dialog>
</Container>
</nav> </nav>
<script> <script>

View File

@@ -27,17 +27,13 @@ const bundlePath = `${import.meta.env.BASE_URL}pagefind/`;
const bundlePath = selector.getAttribute("data-bundle-path"); const bundlePath = selector.getAttribute("data-bundle-path");
// Pagefind UI configuration options // Pagefind UI configuration options
// https://pagefind.app/docs/ui/ // https://pagefind.app/docs/ui/
const search = new PagefindUI({ new PagefindUI({
element, element,
bundlePath, bundlePath,
autofocus: true, autofocus: false,
showImages: false, showImages: false,
pageSize: 5, pageSize: 5,
}); });
console.log(search._pfs);
// search._pfs.$$set({ trigger_search_term: "aa" })
// console.log();
} }
} }

View File

@@ -0,0 +1,23 @@
---
import { getEntries } from "astro:content";
const trends = await getEntries([
{ collection: "courses", id: "nr-18-plataforma-de-trabalho-aereo" },
{ collection: "courses", id: "nr-10-basico" },
{ collection: "courses", id: "cipa-grau-de-risco-3" },
{
collection: "courses",
id: "nr-35-seguranca-nos-trabalhos-em-altura-teorico",
},
]);
---
<ul class="list-disc list-inside font-medium">
{
trends.map(({ data }) => (
<li>
<a href={data.slug}>{data.title}</a>
</li>
))
}
</ul>

View File

@@ -6,20 +6,10 @@ import Container from "~/components/Container.astro";
import Clients from "~/components/Clients.astro"; import Clients from "~/components/Clients.astro";
import Stats from "~/components/Stats.astro"; import Stats from "~/components/Stats.astro";
import Features from "~/components/Features.astro"; import Features from "~/components/Features.astro";
import Search from "./_components/Search.astro"; import Trends from "~/components/Trends.astro";
import { getEntries } from "astro:content"; import Search from "~/components/Search.astro";
import mulhercomepi from "~/assets/mulher-com-epi.png"; import mulhercomepi from "~/assets/mulher-com-epi.png";
const trends = await getEntries([
{ collection: "courses", id: "nr-18-plataforma-de-trabalho-aereo" },
{ collection: "courses", id: "nr-10-basico" },
{ collection: "courses", id: "cipa-grau-de-risco-3" },
{
collection: "courses",
id: "nr-35-seguranca-nos-trabalhos-em-altura-teorico",
},
]);
--- ---
<Layout title="Educação que garante sua segurança"> <Layout title="Educação que garante sua segurança">
@@ -49,15 +39,7 @@ const trends = await getEntries([
<Icon name="arrow-trending-up" class="size-6" /> <Icon name="arrow-trending-up" class="size-6" />
<span>Cursos mais procurados</span> <span>Cursos mais procurados</span>
</h2> </h2>
<ul class="list-disc list-inside font-medium"> <Trends />
{
trends.map(({ data }) => (
<li>
<a href={data.slug}>{data.title}</a>
</li>
))
}
</ul>
</div> </div>
</div> </div>
</div> </div>
@@ -81,6 +63,16 @@ const trends = await getEntries([
<Container> <Container>
<section class="mx-auto lg:w-2/3 space-y-6 py-5 lg:py-24"> <section class="mx-auto lg:w-2/3 space-y-6 py-5 lg:py-24">
<h1 class="text-pretty text-3xl lg:text-5xl/14">
<div>Conheça as vantagens de estar no</div>
<span
class="relative inline-block before:absolute before:inset-0 px-1 lg:px-5 lg:py-0.5 before:block before:-skew-x-16 before:bg-lime-400"
>
<span class="relative text-black font-medium uppercase">
EDUSEG<sup>&reg;</sup> Flexível
</span>
</span>
</h1>
<div <div
class="grid lg:grid-cols-3 gap-2.5 lg:gap-5 *:border *:rounded-lg *:p-5 *:hover:scale-105 *:transition" class="grid lg:grid-cols-3 gap-2.5 lg:gap-5 *:border *:rounded-lg *:p-5 *:hover:scale-105 *:transition"
> >