Commit Graph
12 Commits
Author SHA1 Message Date
damjan_savic d54383b5ca auto-claude: subtask-6-1 - Rewrite privacy policy page with comprehensive GDPR
- Complete rewrite following imprint page pattern
- Comprehensive GDPR-compliant sections in DE/EN/SR
- Lists all third-party services: Google Analytics, Supabase, Deepseek API, Vercel
- Detailed cookie table with types, purposes, and durations
- Full user rights section with GDPR articles (15-21, 77)
- Legal basis for data processing (Art. 6 GDPR)
- Data controller information, retention policies, security measures
- Proper SEO metadata with alternates and canonical URLs
2026-01-25 01:06:52 +01:00
damjan_savicandClaude Opus 4.5 06d14b1dc5 auto-claude: subtask-5-3 - Add Chatbot component to layout with lazy loading
- Import dynamic from next/dynamic for lazy loading
- Create lazy-loaded Chatbot component with ssr: false
  (uses browser-only APIs like localStorage)
- Add Chatbot inside NextIntlClientProvider for i18n support
- Component loads on client-side only for optimal performance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 01:03:56 +01:00
damjan_savicandClaude Opus 4.5 858d53fd2d auto-claude: subtask-4-5 - Create chatbot API route handler with streaming responses
Implemented Next.js API route at /api/chat with:
- POST endpoint for sending messages with streaming responses (SSE)
- GET endpoint for retrieving chat history
- OPTIONS endpoint for CORS preflight
- Integration with Deepseek API via createStreamingChatCompletion
- Session management via getOrCreateChatSession (24h continuity)
- Message persistence to Supabase (user + assistant messages)
- Context management with 20-message history limit
- Error handling for API key/database issues
- Request validation for required fields (message, visitorId)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:56:19 +01:00
damjan_savicandClaude Opus 4.5 a45e0f3aba auto-claude: subtask-3-3 - Fix robots.txt and sitemap configuration
- Remove outdated static public/sitemap.xml that conflicted with dynamic sitemap.ts
  (was missing leistungen pages, city pages, and had outdated blog/portfolio slugs)
- Fix robots.ts to reference only the single sitemap.xml instead of non-existent
  language-specific sitemaps (sitemap-de.xml, sitemap-en.xml, sitemap-sr.xml)
- Dynamic sitemap.ts now handles all pages with proper hreflang alternates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:46:04 +01:00
damjan_savicandClaude Opus 4.5 65df1bd559 auto-claude: subtask-3-2 - Enhance metadata generation across all pages
Added missing OpenGraph and Twitter card metadata to about, contact, and portfolio pages:
- Added siteName to OpenGraph metadata
- Added OpenGraph images with proper dimensions (1200x630)
- Added Twitter card metadata (summary_large_image)

All pages now follow the home page metadata pattern for consistent SEO.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:41:39 +01:00
damjan_savicandClaude Opus 4.5 223695b3cf auto-claude: subtask-3-1 - Audit existing JsonLd components and enhance struc
Enhanced JSON-LD structured data coverage with the following improvements:

## PersonJsonLd Enhancements:
- Added hasOccupation with skills and occupationLocation
- Added knowsLanguage (German, English, Serbian)
- Added worksFor reference to business
- Added nationality for geo-targeting
- Enhanced knowsAbout with Claude AI, GPT-4, LangChain
- Upgraded image to ImageObject with dimensions

## New Components:
- ContactPageJsonLd: Contact page with ContactPoint entity
- CollectionPageJsonLd: Portfolio page with ItemList for projects
- ItemListJsonLd: Generic list schema for any items

## WebSiteJsonLd Enhancement:
- Added SearchAction for sitelinks search box

## Page Updates:
- Contact page now uses ContactPageJsonLd
- Portfolio page now uses CollectionPageJsonLd and BreadcrumbJsonLd

All schemas use @id cross-references for proper entity linking.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:39:10 +01:00
damjan_savicandClaude Opus 4.5 d7f0a6d6f1 auto-claude: subtask-2-4 - Verify PageSpeed scores and fix SEO issues
- Created PAGESPEED_VERIFICATION_REPORT.md with comprehensive audit results
- Fixed robots.txt conflict by removing static public/robots.txt
- Updated src/app/robots.ts to include language-specific sitemaps (de, en, sr)
- Local Lighthouse tests: Accessibility 92-100%, Best Practices 100%
- Performance/SEO verification requires manual testing via pagespeed.web.dev
- Added .auto-claude/ to .gitignore

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:34:37 +01:00
damjan_savicandClaude Opus 4.5 ab669a4dc9 auto-claude: subtask-2-3 - Add web-vitals reporting to layout for Core Web Vitals monitoring
- Create WebVitals client component in src/components/analytics/
- Track LCP, INP, CLS, FCP, and TTFB metrics
- Log metrics to console in development mode
- Send metrics to Google Analytics when available
- Add WebVitals component to root layout

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 00:19:42 +01:00
damjan_savicandClaude Opus 4.5 f98476c3fd Fix: Handle undefined content in blog post rendering
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:48:44 +01:00
damjan_savicandClaude Opus 4.5 f16b1bcbfd Fix: Add optional chaining for post.tags
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:46:16 +01:00
damjan_savicandClaude Opus 4.5 87c7ebc5e3 feat: Add professional portfolio images and Hero redesign
- Add 15 optimized WebP images for portfolio (21-53KB each)
- Redesign Hero section with full-width background image
- Add SSR support for Hero component
- Update About section with new portrait image
- Update Contact page with professional headshot
- Add images to Services/Leistungen page
- Add image optimization script (sharp)
- Update translations for gallery section

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:33:28 +01:00
damjan_savicandClaude Opus 4.5 b1ec7b4d61 Migrate from Vite to Next.js 15 with SSR
- Replace Vite + React Router with Next.js 15 App Router
- Implement i18n with next-intl (URL-based: /de, /en, /sr)
- Add SSR/SSG for all pages (48 static pages generated)
- Setup Supabase SSR client for auth
- Migrate all pages: Home, About, Portfolio, Blog, Contact, Login, Dashboard, Imprint, Privacy, Terms
- Add Docker support with standalone output
- Replace i18next with next-intl JSON translations
- Use next/image for optimized images

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 01:00:33 +01:00