feat(placas): faixa de placas sugeridas nas séries, comparação e seletor
Release / Plano (reaproveitar a imagem?) (push) Successful in 12s
CI / Lint e auditorias (push) Successful in 1m39s
CI / Trivy (dependências e segredos) (push) Successful in 13s
CI / Imagem Docker (linux/arm64) (push) Successful in 2m35s
Release / ci (push) Successful in 4m30s
Release / Publica a imagem (linux/arm64) (push) Successful in 19s
Release / Cria a release no Gitea (push) Skipped
Release / Deploy no Coolify (push) Successful in 22s

Sorteia uma placa dos chips da página, com preferência pelas de loja oficial, e
troca só pelas setas, com transição suave. Usa o link de afiliado do idioma
(rel=sponsored) e some quando o chip não tem placa. Vai nas páginas de série, na
comparação e nos dois modos de resultado do seletor.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas RayanandClaude Sonnet 5.5 committed 2026-11-02 18:31:01 -03:00
1 parent 6ab83c112d
commit 1f84f1f661
8 files changed
+256

No files matched your search

+5
View File
@@ -2,6 +2,7 @@
import Header from "@/components/Header";
import Footer from "@/components/Footer";
import PlacasSugeridas from "@/components/PlacasSugeridas";
import PageHero from "@/components/PageHero";
import { useEffect, useState, useMemo, Fragment } from "react";
import { usePathname } from "next/navigation";
@@ -740,6 +741,10 @@ export default function Comparacao() {
</div>
</section>
<div className="shell mt-8">
<PlacasSugeridas chips={selectedSeries} />
</div>
<section className="shell section" aria-labelledby="docs-titulo">
<h2 id="docs-titulo" className="section-title">
{isEs ? "Documentación oficial" : isEn ? "Official documentation" : isFr ? "Documentation officielle" : isZh ? "官方文档" : isDe ? "Offizielle Dokumentation" : "Documentação oficial"}
+4
View File
@@ -4,6 +4,7 @@ import { useState, useMemo } from "react";
import { usePathname } from "next/navigation";
import Header from "@/components/Header";
import Footer from "@/components/Footer";
import PlacasSugeridas from "@/components/PlacasSugeridas";
import Link from "next/link";
import { getLocalizedHref } from "@/i18n/links";
import seriesDataPt from "@/public/series.json";
@@ -2554,6 +2555,8 @@ export default function Seletor() {
</div>
</div>
<PlacasSugeridas chips={topThree.map((rec) => rec.key)} className="mt-10" />
{otherRecommendations.length > 0 && (
<div className="mt-10">
<h3 className="font-display text-xl font-semibold tracking-[-0.03em] text-ink">
@@ -2714,6 +2717,7 @@ export default function Seletor() {
</button>
</div>
)}
{filteredChips.length > 0 && <PlacasSugeridas chips={filteredChips.map(([chave]) => chave)} className="mt-6" />}
</section>
)}
+2
View File
@@ -13,6 +13,7 @@ import seriesDataDe from "@/data/de/series.json";
import seriesDataZh from "@/data/zh-CN/series.json";
import ConnectionsDiagram from "@/components/ConnectionsDiagram";
import SeriesTabMenu from "@/components/SeriesTabMenu";
import PlacasSugeridas from "@/components/PlacasSugeridas";
import PinRestrictions from "@/components/PinRestrictions";
import { getLocalizedHref } from "@/i18n/links";
import {
@@ -844,6 +845,7 @@ export default async function SerieDetail({ params }) {
<div className="shell mt-10">
<SeriesTabMenu tabs={tabs} isEn={isEn} isEs={isEs} isFr={isFr} isDe={isDe} isZh={isZh} />
<PinRestrictions conexoes={conexoes} serieKey={key} isEn={isEn} isEs={isEs} isFr={isFr} isDe={isDe} isZh={isZh} />
<PlacasSugeridas chips={[key]} className="mt-5" />
</div>
<div className="shell mt-12">