diff --git a/app/layout.tsx b/app/layout.tsx index 61bab90..8023c8b 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -5,13 +5,19 @@ import { Inter } from "next/font/google"; import { Analytics } from "@vercel/analytics/next"; import "./globals.css"; -const inter = Inter({ +const inter = Inter({ subsets: ["latin"], - variable: "--font-inter" + variable: "--font-inter", }); export const metadata: Metadata = { title: "Python Norte — A maior conferência...", + description: "A maior conferência de Python da região Norte do Brasil", + icons: { + icon: "/favico.png", + shortcut: "/favico.png", + apple: "/favico.png", + }, }; export default function RootLayout({ diff --git a/components/header.tsx b/components/header.tsx index 7f3b71a..1e9a098 100644 --- a/components/header.tsx +++ b/components/header.tsx @@ -12,6 +12,7 @@ export function Header() { const navLinks = [ { href: "#sobre", label: "Sobre" }, { href: "#atividades", label: "Atividades" }, + { href: "#ingressos", label: "Ingressos" }, { href: "#programacao", label: "Programação" }, { href: "#patrocinadores", label: "Patrocinadores" }, { href: "#localizacao", label: "Localização" }, diff --git a/components/hero.tsx b/components/hero.tsx index f161448..618d9e4 100644 --- a/components/hero.tsx +++ b/components/hero.tsx @@ -22,17 +22,17 @@ export function Hero() { /> {/* Camada verde */} -
+
{/* Escurecimento geral */} -
+
{/* Mobile: escurece o topo */}
diff --git a/components/tickets.tsx b/components/tickets.tsx index 7af8b62..4b46a8d 100644 --- a/components/tickets.tsx +++ b/components/tickets.tsx @@ -1,162 +1,207 @@ "use client"; +import { useState } from "react"; import { Check } from "lucide-react"; +import { ButtonLink } from "@/design-system/components/Button"; export function Tickets() { + const [ticketType, setTicketType] = useState<"meia" | "inteira">("meia"); + const tickets = [ { - name: "Meia-Entrada", - price: "R$ 70", - period: "/ único", - description: - "Estudantes, professores, PCDs, idosos e doadores de sangue.", - features: [ - "Acesso aos 3 dias de evento", - "Todas as palestras e keynotes", - "Workshops (vagas limitadas)", - "Kit de boas-vindas", - "Certificado digital", - "Coffee break incluso", - ], + name: "Individual", + prices: { + meia: "R$ 70", + inteira: "R$ 135", + }, + description: "Ideal para quem deseja participar sozinho.", + details: ["1 ingresso", "Acesso completo ao evento"], + popular: false, - buttonStyle: "bg-green-deep hover:bg-green-medium text-white", - cardStyle: "bg-green-deep text-white", - checkColor: "text-yellow", - textColor: "text-white/80", }, { - name: "PySquad / Meia", - price: "R$ 187", - period: "/ único", - description: - "Monte um squad com 4 pessoas e aproveite 30% de desconto em cada ingresso.", - features: [ - "4 ingressos meia-entrada", - "Cada ingresso sai por R$ 46,75", - "Acessos enviados por e-mail ou WhatsApp", - "Acesso aos 3 dias de evento", - "Workshops (vagas limitadas)", - "Certificado digital", - ], + name: "Dupla Pythonica", + prices: { + meia: "R$ 109", + inteira: "R$ 213", + }, + description: "Leve alguém com você e economize.", + details: ["2 ingressos", "20% de desconto por ingresso"], popular: true, - buttonStyle: "bg-orange hover:bg-orange-hover text-white", - cardStyle: "bg-white text-gray-900 border-2 border-orange", - checkColor: "text-green-deep", - textColor: "text-gray-600", }, { - name: "Dupla Pythonica - Meia", - price: "R$ 109", - period: "/ único", - description: - "Vá em dupla e economize mais. Garanta 2 ingressos com 20% de desconto em cada um.", - features: [ - "2 ingressos meia-entrada", - "Parceiro com código próprio", - "Segundo PyAccess enviado por e-mail ou WhatsApp", - "Acesso aos 3 dias de evento", - "Workshops (vagas limitadas)", - "Certificado digital", - ], + name: "PySquad", + prices: { + meia: "R$ 187", + inteira: "R$ 369", + }, + description: "Monte um squad com 4 pessoas.", + details: ["4 ingressos", "30% de desconto por ingresso"], popular: false, - buttonStyle: "bg-green-deep hover:bg-green-medium text-white", - cardStyle: "bg-green-deep text-white", - checkColor: "text-yellow", - textColor: "text-white/80", }, ]; + const benefits = [ + "3 dias de evento", + "Palestras e keynotes", + "Workshops", + "Acesso completo ao evento", + "Certificado digital", + "Kit de boas-vindas", + "Coffee break", + ]; + return ( -
+
-
+
{/* Header */} -
+

- Corrente Sem Igual + Garanta sua Vaga

-
-

- Escolha o ingresso ideal para você. A Python Norte é um evento sem - fins lucrativos feito 100% por voluntários. + +

+ +

+ Escolha a modalidade ideal para participar da Python Norte.

- {/* Ticket cards */} -
- {tickets.map((ticket, i) => ( + {/* Toggle */} +
+
+ + + +
+
+ + {/* Cards */} +
+ {tickets.map((ticket, index) => (
{ticket.popular && ( - + Mais Popular )} -
-
-

{ticket.name}

-
- - {ticket.price} - - - {ticket.period} - -
-

- {ticket.description} -

-
+
+

+ {ticket.name} +

+ +

+ {ticket.description} +

-
+
+ + {ticket.prices[ticketType]} + -
    - {ticket.features.map((feat, j) => ( -
  • + + / único + +
+ +
    + {ticket.details.map((item) => ( +
  • - {feat} + + {item}
  • ))}
- -
))}
- + + {/* CTA */} +
+ - Ver Todos os Ingressos - + Garantir meu ingresso +