feat(F-048): completed feature

This commit is contained in:
chattie
2026-08-19 07:17:14 +02:00
parent 8ee1938af9
commit 835ab66eda
187 changed files with 12361 additions and 1065 deletions

View File

@@ -26,7 +26,7 @@ export async function generateMetadata({ params }: PageProps): Promise<Metadata>
const category = await loadCategory(slug);
const title = category.seoTitle ?? category.name;
const description =
category.seoDescription ?? `Productos de la categoría ${category.name} en MercadoDeVida.`;
category.seoDescription ?? `Productos de la categoría ${category.name} en mercadodevida.`;
return {
title: metadataTitle(title),

View File

@@ -6,11 +6,11 @@ import { absoluteUrl } from '@/lib/seo';
import { JsonLdScript, organizationJsonLd } from '@/lib/seo/json-ld';
export const metadata: Metadata = {
title: 'MercadoDeVida',
title: 'mercadodevida',
description: 'Productos ecológicos y saludables seleccionados con información transparente.',
alternates: { canonical: absoluteUrl('/') },
openGraph: {
title: 'MercadoDeVida',
title: 'mercadodevida',
description: 'Productos ecológicos y saludables seleccionados con información transparente.',
url: absoluteUrl('/'),
type: 'website',

View File

@@ -25,7 +25,7 @@ export async function generateMetadata({ params }: PageProps): Promise<Metadata>
const { slug } = await params;
const brand = await loadBrand(slug);
const title = brand.seoTitle ?? brand.name;
const description = brand.seoDescription ?? `Productos de ${brand.name} en MercadoDeVida.`;
const description = brand.seoDescription ?? `Productos de ${brand.name} en mercadodevida.`;
return {
title: metadataTitle(title),

View File

@@ -24,7 +24,7 @@ export default async function HomePage() {
Alimentación ecológica con información transparente desde el primer clic.
</h1>
<p className="max-w-2xl text-lg leading-8 text-stone-700">
MercadoDeVida une catálogo, marcas y datos nutricionales confiables para que cada compra
mercadodevida une catálogo, marcas y datos nutricionales confiables para que cada compra
sea simple, consciente y sin sorpresas.
</p>
<div className="flex flex-col gap-3 sm:flex-row">

View File

@@ -81,7 +81,7 @@ export default async function ProductPage({ params }: PageProps) {
{product.name}
</h1>
<p className="text-lg leading-8 text-stone-700">
{product.description ?? 'Producto del catálogo público de MercadoDeVida.'}
{product.description ?? 'Producto del catálogo público de mercadodevida.'}
</p>
<dl className="grid gap-4 rounded-3xl border border-emerald-900/10 bg-white p-6 text-sm text-stone-700 sm:grid-cols-2">
<div>

View File

@@ -29,8 +29,8 @@ export async function generateMetadata({ searchParams }: PageProps): Promise<Met
const q = boundedText(firstParam(params.q));
const title = q ? `Resultados para ${q}` : 'Buscar productos';
const description = q
? `Resultados de búsqueda para ${q} en MercadoDeVida.`
: 'Buscá productos ecológicos y saludables en MercadoDeVida.';
? `Resultados de búsqueda para ${q} en mercadodevida.`
: 'Buscá productos ecológicos y saludables en mercadodevida.';
return {
title: metadataTitle(title),