From 80694049b665a04e8fa077642e93ef2ba11c1b4f Mon Sep 17 00:00:00 2001 From: Damjan Savic Date: Sun, 25 Jan 2026 06:37:21 +0100 Subject: [PATCH] auto-claude: subtask-1-7 - Extract OrganizationJsonLd component --- .auto-claude-status | 6 +- .../seo/schemas/OrganizationJsonLd.tsx | 81 +++++++++++++++++++ 2 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 src/components/seo/schemas/OrganizationJsonLd.tsx diff --git a/.auto-claude-status b/.auto-claude-status index b1cbcd7..cc0e13c 100644 --- a/.auto-claude-status +++ b/.auto-claude-status @@ -3,7 +3,7 @@ "spec": "032-split-large-jsonld-tsx-component-759-lines-into-se", "state": "building", "subtasks": { - "completed": 4, + "completed": 6, "total": 19, "in_progress": 1, "failed": 0 @@ -18,8 +18,8 @@ "max": 1 }, "session": { - "number": 6, + "number": 8, "started_at": "2026-01-25T06:23:19.101802" }, - "last_update": "2026-01-25T06:33:47.759616" + "last_update": "2026-01-25T06:36:21.330835" } \ No newline at end of file diff --git a/src/components/seo/schemas/OrganizationJsonLd.tsx b/src/components/seo/schemas/OrganizationJsonLd.tsx new file mode 100644 index 0000000..049fe90 --- /dev/null +++ b/src/components/seo/schemas/OrganizationJsonLd.tsx @@ -0,0 +1,81 @@ +import { type Locale } from '@/i18n/config'; + +interface JsonLdProps { + locale: Locale; +} + +export function OrganizationJsonLd({ locale }: JsonLdProps) { + const baseUrl = process.env.NEXT_PUBLIC_SITE_URL || 'https://damjan-savic.com'; + + const schema = { + '@context': 'https://schema.org', + '@type': 'Organization', + '@id': `${baseUrl}/#organization`, + name: 'Damjan Savić - AI & Automation Specialist', + alternateName: 'Damjan Savić', + url: baseUrl, + logo: { + '@type': 'ImageObject', + url: `${baseUrl}/images/og-image.jpg`, + width: 1200, + height: 630, + }, + image: `${baseUrl}/images/og-image.jpg`, + description: locale === 'de' + ? 'Freelance KI-Entwickler und Automatisierungsspezialist aus Köln. Spezialisiert auf KI-Agenten, Voice AI, Prozessautomatisierung mit n8n und SaaS-Entwicklung.' + : locale === 'sr' + ? 'Freelance AI developer i specijalista za automatizaciju iz Kelna. Specijalizovan za AI agente, Voice AI, automatizaciju procesa sa n8n i SaaS razvoj.' + : 'Remote AI developer and automation specialist based in Germany. Working with clients in USA, UK & Europe. Specialized in AI agents, Voice AI, n8n automation and SaaS development.', + email: 'info@damjan-savic.com', + telephone: '+491756950979', + address: { + '@type': 'PostalAddress', + streetAddress: 'Rotdornallee', + addressLocality: locale === 'sr' ? 'Keln' : locale === 'en' ? 'Cologne' : 'Köln', + addressRegion: 'NRW', + postalCode: '50769', + addressCountry: 'DE', + }, + geo: { + '@type': 'GeoCoordinates', + latitude: 50.9375, + longitude: 6.9603, + }, + areaServed: [ + // DACH Region + { '@type': 'Country', name: 'Germany' }, + { '@type': 'Country', name: 'Austria' }, + { '@type': 'Country', name: 'Switzerland' }, + // International (Remote) + { '@type': 'Country', name: 'United States' }, + { '@type': 'Country', name: 'United Kingdom' }, + { '@type': 'Country', name: 'Serbia' }, + // Major International Cities + { '@type': 'City', name: 'New York' }, + { '@type': 'City', name: 'London' }, + { '@type': 'City', name: 'San Francisco' }, + { '@type': 'City', name: 'Los Angeles' }, + ], + founder: { + '@id': `${baseUrl}/#person`, + }, + sameAs: [ + 'https://www.linkedin.com/in/damjansavic/', + 'https://github.com/damjansavic', + ], + contactPoint: { + '@type': 'ContactPoint', + contactType: 'customer service', + email: 'info@damjan-savic.com', + telephone: '+491756950979', + availableLanguage: ['German', 'English', 'Serbian'], + }, + }; + + return ( +