import { type Locale } from '@/i18n/config'; interface SoftwareAppJsonLdProps { name: string; description: string; applicationCategory: string; operatingSystem?: string; offers?: { price: string; priceCurrency: string; }; aggregateRating?: { ratingValue: string; ratingCount: string; }; locale: Locale; } export function SoftwareAppJsonLd({ name, description, applicationCategory, operatingSystem = 'Web', offers, aggregateRating, locale, }: SoftwareAppJsonLdProps) { const baseUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://damjan-savic.com'; const schema: Record = { '@context': 'https://schema.org', '@type': 'SoftwareApplication', name: name, description: description, applicationCategory: applicationCategory, operatingSystem: operatingSystem, author: { '@id': `${baseUrl}/#person`, }, inLanguage: locale === 'de' ? 'de-DE' : locale === 'sr' ? 'sr-RS' : 'en-US', }; if (offers) { schema.offers = { '@type': 'Offer', price: offers.price, priceCurrency: offers.priceCurrency, }; } if (aggregateRating) { schema.aggregateRating = { '@type': 'AggregateRating', ratingValue: aggregateRating.ratingValue, ratingCount: aggregateRating.ratingCount, }; } return (