Servizi: foto e "Per saperne di piu'" della stessa card portano allo stesso posto
Erano due espressioni diverse per lo stesso link e sono divergute: su One to One e Performance Class la foto apriva la scheda del servizio mentre il testo mandava a /training, quindi la destinazione dipendeva da dove capitava il dito. Adesso l'indirizzo lo calcola una funzione sola, usata da entrambi. Verificato sulla pagina renderizzata: sei card, zero link discordanti. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -9,9 +9,11 @@ import { t } from '../../lib/content';
|
||||
const images = import.meta.glob<{ default: ImageMetadata }>('../../assets/img/program-*.jpg', { eager: true });
|
||||
const imgOf = (slug: string) => Object.entries(images).find(([p]) => p.includes(`program-${slug}.`))?.[1]?.default;
|
||||
const gridServices = services.filter((p) => p.grid !== false);
|
||||
// Questi servizi rimandano alla pagina Training invece che alla scheda di dettaglio
|
||||
const TRAINING_LINK = new Set(['one-to-one', 'performance-class']);
|
||||
const moreHref = (slug: string) => (TRAINING_LINK.has(slug) ? '/training' : `/services/${slug}`);
|
||||
// Foto e "Per saperne di più" della stessa card portano allo stesso posto, e lo fanno per
|
||||
// costruzione: erano due espressioni diverse e sono divergute — su One to One e Performance
|
||||
// Class il testo mandava a /training mentre la foto apriva la scheda del servizio, così la
|
||||
// destinazione dipendeva da dove capitava il dito.
|
||||
const hrefOf = (slug: string) => `/services/${slug}`;
|
||||
export const prerender = false;
|
||||
---
|
||||
<Base title={t('services.meta.title')} description={t('services.meta.description')}>
|
||||
@@ -25,7 +27,7 @@ export const prerender = false;
|
||||
{gridServices.map((p, i) => (
|
||||
<article class="plist__card" data-reveal style={`--reveal-delay:${((i % 3) * 0.15).toFixed(2)}s`}>
|
||||
{imgOf(p.slug) && (
|
||||
<a class="plist__photo" href={`/services/${p.slug}`}>
|
||||
<a class="plist__photo" href={hrefOf(p.slug)}>
|
||||
<TImg tag={`service.${p.slug}.image`} src={imgOf(p.slug)!} alt={t(`service.${p.slug}.title`)} widths={[400, 700]} sizes="(max-width:767px) 100vw, 33vw" />
|
||||
</a>
|
||||
)}
|
||||
@@ -33,7 +35,7 @@ export const prerender = false;
|
||||
<T tag={`service.${p.slug}.title`} as="h3" />
|
||||
<T tag={`service.${p.slug}.subtitle`} as="p" class="plist__sub" />
|
||||
<T tag={`service.${p.slug}.excerpt`} as="p" />
|
||||
<a class="plist__more" href={moreHref(p.slug)}>{t('services.card.more-label')}</a>
|
||||
<a class="plist__more" href={hrefOf(p.slug)}>{t('services.card.more-label')}</a>
|
||||
</div>
|
||||
</article>
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user