diff --git a/astro.config.mjs b/astro.config.mjs index 701fd1d..5279626 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,10 +1,23 @@ import { defineConfig } from 'astro/config'; import sitemap from '@astrojs/sitemap'; import { loadEnv } from "vite"; +import { ALL_PRODUCTS } from './src/data/products'; const { SITE_URL } = loadEnv(process.env.NODE_ENV, process.cwd(), ""); +function generateRedirectsForAmazonProductIds() { + let redirects = {}; + for (let p = 0; p < ALL_PRODUCTS.length; p++) { + let product = ALL_PRODUCTS[p]; + if (product.amazonProductId && product.slug !== product.amazonProductId) { + redirects[`/${product.amazonProductId}`] = `/${product.slug}`; + } + } + return redirects; +} + // https://astro.build/config export default defineConfig({ site: SITE_URL||'http://localhost', integrations: [sitemap()], + redirects: generateRedirectsForAmazonProductIds(), }); diff --git a/src/components/ImageCarousel.astro b/src/components/ImageCarousel.astro index cf6e0f8..d0dad80 100644 --- a/src/components/ImageCarousel.astro +++ b/src/components/ImageCarousel.astro @@ -9,10 +9,10 @@ export interface Image { interface Props { images: Image[]; - dots?: number; + showDots?: boolean; } -const { images } = Astro.props; +const { images, showDots } = Astro.props; let index = 1; --- @@ -32,7 +32,6 @@ let index = 1; } ))} -
- +