Commit Graph
75 Commits
Author SHA1 Message Date
damjan_savicandClaude Sonnet 4.5 131c883425 fix: use connection() API to force dynamic rendering in Next.js 15 (qa-requested)
- Add connection() API call to guarantee dynamic rendering
- Fixes critical auth bypass where page was still being pre-rendered
- Previous fix (force-dynamic) was insufficient in Next.js 15
- connection() API is the official Next.js 15 recommendation

Resolves QA Session 2 Critical Issue #1

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 12:41:31 +01:00
damjan_savicandClaude Sonnet 4.5 5551226353 fix: Address QA issues - force dynamic rendering and document middleware trade-off (qa-requested)
Fixes:
- Add dynamic export to dashboard page to prevent Next.js pre-rendering
- Fixes critical auth bypass where cached page was served to all users
- Document middleware response propagation trade-off

QA Issues Fixed:
- Issue #1: Dashboard page pre-rendering bypasses authentication
- Issue #3: Middleware response object not propagated (documented)

Verified:
- TypeScript compilation passes
- Code follows Next.js 15 auth best practices
- Middleware trade-off documented per QA recommendation

QA Fix Session: 1

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 12:20:49 +01:00
damjan_savicandClaude Sonnet 4.5 23c79f1fa2 auto-claude: subtask-2-2 - Simplify client-side auth check in DashboardContent
Removed redundant client-side authentication logic since server-side
protection is now in place (middleware + page-level checks). The
component now:
- No longer performs useEffect auth check on mount
- No loading state for authentication
- Renders dashboard content immediately
- Maintains logout functionality
- Assumes user is authenticated (guaranteed by server)

This eliminates the flash of loading state and improves UX while
maintaining security through server-side protection.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 12:04:22 +01:00
damjan_savicandClaude Sonnet 4.5 a792db0290 auto-claude: subtask-2-1 - Add server-side auth check to dashboard page
- Added server-side authentication check in DashboardPage component
- Created Supabase client using createClient from @/lib/supabase/server
- Check user authentication with getUser() before rendering
- Redirect to /${locale}/login if user is not authenticated
- Provides defense-in-depth security alongside middleware protection

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 12:01:47 +01:00
damjan_savicandClaude Sonnet 4.5 2337b15e53 auto-claude: subtask-1-2 - Update middleware.ts to add authentication protect
- Add server-side authentication check for /[locale]/dashboard routes
- Create Supabase client in middleware to verify user session
- Redirect unauthenticated users to /[locale]/login with locale preservation
- Chain to existing i18n middleware for all other routes
- Authentication check runs before i18n middleware processing

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-25 11:59:53 +01:00
damjan_savic d9f209c40c auto-claude: subtask-1-1 - Create Supabase middleware client utility 2026-01-25 11:58:00 +01:00
damjan_savicandClaude Opus 4.5 43484c5023 Add blog posts, cleanup unused files, update components
- Add 100 blog posts covering AI, development, and tech topics
- Add .env.example for environment configuration
- Add accessibility and lighthouse audit scripts
- Remove obsolete SEO reports and temporary files
- Remove dev-dist build artifacts and backup files
- Remove unused portrait images (moved/consolidated elsewhere)
- Update contact form and component improvements

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 11:42:11 +01:00
damjan_savic cba6c66ccc chore: add auto-claude entries to .gitignore 2026-01-22 15:27:30 +01:00
damjan_savicandClaude Opus 4.5 eec1758827 Change port mapping to 3003
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:53:09 +01:00
damjan_savicandClaude Opus 4.5 14b263eb78 Change port mapping to 3002
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:52:13 +01:00
damjan_savicandClaude Opus 4.5 69f88a08d4 Fix: Replace ES2018 regex flag with compatible pattern
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:49:46 +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 a7ee78d194 Fix: Make content optional in BlogPost type
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:47:42 +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 d6a67fc70f Fix: Update Docker config to use pnpm instead of npm
- Switched from npm ci to pnpm install --frozen-lockfile
- Added corepack enable for pnpm support
- Added .dockerignore for cleaner builds

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 23:44:21 +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
damjan_savicandClaude Opus 4.5 a66f51b9a2 Fix: Hero Icons wie im Footer (lucide-react, nicht sticky)
- Linkedin und Github Icons aus lucide-react importiert
- fixed zu absolute geändert (nicht mehr sticky)
- Styling wie im Footer (text-zinc-400, hover-Effekte)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:50:10 +01:00
damjan_savicandClaude Opus 4.5 833dea46ae Fix: Hero Social Icons durch Text ersetzt (SVG Rendering-Problem)
- LinkedIn Icon durch "in" Text ersetzt
- GitHub Icon durch "</>" Text ersetzt
- Beide Icons haben bg-white/10 Hintergrund und hover-Effekte

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:48:53 +01:00
damjan_savicandClaude Opus 4.5 f6997ce629 Fix: Hero Social Links komplett neu implementiert
- SVGs direkt inline statt separate Komponenten
- Buttons mit bg-white/10 Hintergrund für Sichtbarkeit
- Fixed position statt absolute
- Runde Buttons mit Hover-Effekt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:46:47 +01:00
damjan_savicandClaude Opus 4.5 bc68ea5c0c Fix: SVG Icons mit fill statt stroke
- Gefüllte SVG Icons (fill="#ffffff")
- Standard LinkedIn/GitHub/Mail Icon Pfade
- Sollte jetzt definitiv sichtbar sein

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:45:02 +01:00
damjan_savicandClaude Opus 4.5 195bc98791 Fix: SVG Icons mit expliziter weißer Stroke-Farbe
- stroke="currentColor" durch stroke="#ffffff" ersetzt
- Icons sind jetzt garantiert sichtbar

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:41:26 +01:00
damjan_savicandClaude Opus 4.5 cf74df445b Fix: Social Links unterhalb der Navigation positioniert
- Von top-4 auf top-20 verschoben (unter 64px Navigation)
- z-index auf 50 erhöht für Sichtbarkeit
- LinkedIn und GitHub Icons jetzt sichtbar

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:38:25 +01:00
damjan_savicandClaude Opus 4.5 bd5570aa87 Fix: Cookie-Banner Buttons stapeln sich auf Mobile
- Buttons werden vertikal gestapelt auf kleinen Bildschirmen
- Ab sm-Breakpoint (640px) nebeneinander
- Volle Breite auf Mobile für bessere Bedienbarkeit

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:35:47 +01:00
damjan_savicandClaude Opus 4.5 fc4d4f3cc3 Fix: GitHub/LinkedIn Icons im Hero-Bereich sichtbar machen
- Inline SVG Icons statt lucide-react Import
- Icons werden sofort gerendert ohne Lazy-Loading-Verzögerung

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:30:46 +01:00
damjan_savicandClaude Opus 4.5 3f32ad6081 Performance: Preload für Haupt-Script mit fetchpriority=high
- Entry-Script wird mit hoher Priorität vorgeladen
- Schnellerer JavaScript-Download und Ausführung

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:25:03 +01:00
damjan_savicandClaude Opus 4.5 db6d969874 Performance: i18n Lazy Loading, Bundle-Größe halbiert
- i18n lädt EN/SR Übersetzungen nur bei Bedarf
- Hauptbundle von 356KB auf 179KB reduziert (~50%)
- Entfernt modulepreload für nicht-kritische Chunks
- Nur react-vendor und i18n-vendor werden vorgeladen

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:20:18 +01:00
damjan_savicandClaude Opus 4.5 ff92b58e83 Performance: CSS async laden, kritisches CSS inline erweitert
- Vite Plugin für async CSS Loading (preload/onload Trick)
- Erweiterte kritische CSS Styles inline
- Eliminiert render-blocking CSS (~150ms Einsparung)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:16:35 +01:00
damjan_savicandClaude Opus 4.5 8f500bdc6b Performance: HTML-Skeleton für sofortige LCP hinzugefügt
- Portrait-Bild wird sofort in HTML gerendert (kein JS-Warten)
- Skeleton wird ausgeblendet wenn React mounted
- Unnötige preconnects entfernt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:09:44 +01:00
damjan_savicandClaude Opus 4.5 090d640e9a Performance: Inter-Font auf 60KB Subset reduziert (vorher 344KB)
- Font Subsetting mit fonttools für Latin + German Zeichen
- 83% Reduktion der Font-Datei
- PageSpeed API Script hinzugefügt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 23:05:09 +01:00
damjan_savicandClaude Opus 4.5 61c7c523ab Performance: Framer-motion aus kritischem Pfad entfernt
- Framer-motion aus Layout, NavLink, ContactInfo, LanguageSwitcher entfernt
- PageTransition komplett vereinfacht (keine 1200ms Verzögerung mehr)
- FloatingPaths wird erst nach 2s lazy geladen
- Framer-motion und lucide-react in separate Chunks getrennt
- Icons-Chunk: 10.87KB (statt 126KB ui-vendor)
- Animations-Chunk wird erst bei Bedarf geladen

Einsparung: ~115KB beim Initial Load

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 22:34:52 +01:00
damjan_savicandClaude Opus 4.5 c775f3bbb2 Performance: Hero-Text sofort sichtbar für bessere LCP
- Framer-motion Animationen aus Hero-Text entfernt
- Text-Elemente sind jetzt sofort sichtbar ohne opacity: 0
- Eliminiert 3.260ms Render-Verzögerung für LCP-Element
- Kontrast verbessert: text-zinc-500 -> text-zinc-400

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 22:23:38 +01:00
damjan_savicandClaude Opus 4.5 df053fb7a0 Performance: Portrait-Bilder exakt für Anzeigegröße optimiert
- Portrait-Bilder in exakten Größen: 224px, 288px, 448px, 576px
- Mobile lädt jetzt ~5KB statt 30KB
- Supabase-Check auf 5s verzögert (außerhalb kritischer Pfad)
- Preload für exakte Portrait-Größen

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 22:14:52 +01:00
damjan_savicandClaude Opus 4.5 4b9e457f4a Performance: Mobile-Optimierungen für besseren PageSpeed
- Portrait-Bild von 1.2MB auf ~20KB optimiert (300px/600px + WebP)
- Hero-Animation entfernt für schnelleren LCP
- WebP srcset für alle Projekt-Bilder (6 Größen: 200-1200px)
- Korrekte sizes-Attribute für Mobile (350px statt 1200px)
- Supabase lazy laden via dynamischen Import
- Admin-Check verzögert mit requestIdleCallback
- Hauptbundle von 461KB auf 358KB reduziert

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 22:02:57 +01:00
damjan_savic 0145beeac5 Update: Sitemap regeneriert 2026-01-05 21:15:48 +01:00
damjan_savicandClaude Opus 4.5 588d6e1f17 Performance: PageSpeed Optimierungen implementiert
- LCP-Bild (Portrait) mit fetchpriority="high" und Preload optimiert
- Logo SVG mit expliziten width/height Attributen versehen (CLS)
- Touch-Targets in Experience Navigation von 5px auf 24px vergrößert
- Kontrast für Firmenname/Zeitraum verbessert (zinc-300/zinc-400)
- PWA Service Worker mit script-defer für nicht-blockierendes Laden
- Responsive Bilder: srcset mit 400w/800w/1200w + WebP-Format
- Neues Build-Script für Bildoptimierung (scripts/optimize-images.js)
- Original-Bilder in source-images/ verschoben (gitignored)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-05 21:14:29 +01:00
damjan_savicandClaude Opus 4.5 bda8e34355 Update: Alle Projektdaten auf 2025 aktualisiert
- Alle Portfolio-Projekte haben jetzt Datumsangaben aus 2025
- Betrifft DE, EN und SR Sprachversionen

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 19:20:23 +01:00
damjan_savicandClaude Opus 4.5 dd8164bdde Remove: RecRobot Projekt aus Portfolio entfernt
- RecRobot-Projektdateien (DE/EN/SR Locales, MDX) gelöscht
- RecRobot-Bilder entfernt
- Alle Referenzen in Portfolio-Index, Experience, About und Meta bereinigt
- README.md aktualisiert

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 19:13:29 +01:00
damjan_savicandClaude Opus 4.5 e46774a68e Feature: Cursor IDE Projekt vollständig integriert
- Übersetzungsdateien für DE, EN, SR erstellt
- Projekt in ProjectPage.tsx registriert
- Projekt in Portfolio-Index (de, en, sr) hinzugefügt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 21:46:33 +01:00
damjan_savicandClaude Opus 4.5 3b2d16bfa5 Fix: Build-Fehler behoben, Bilder optimiert
- pnpm-workspace.yaml entfernt (verursachte Build-Fehler)
- Alle Projekt-Cover-Bilder auf 1200px optimiert und komprimiert
- Gesamte Bildgröße von ~20MB auf ~1MB reduziert

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 21:32:57 +01:00
damjan_savicandClaude Opus 4.5 cfad9f2df5 Update: Bilder optimiert, pnpm-workspace hinzugefügt
- Cover-Bilder für ai-music-production und website-mit-ki komprimiert
- pnpm-workspace.yaml hinzugefügt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 20:08:15 +01:00
damjan_savicandClaude Opus 4.5 582d719e42 Portfolio: Cursor IDE Projekt hinzugefügt
- Neue Projektseite für Cursor IDE Tutorial
- Video-Einbettung von tella.tv
- Cover-Bild hinzugefügt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:31:52 +01:00
damjan_savicandClaude Opus 4.5 2dbb7e3512 Update: Sitemap, Dependencies und README
- Sitemap aktualisiert mit neuen Portfolio-Projekten
- package-lock.json aktualisiert
- README.md hinzugefügt

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 02:28:25 +01:00
damjan_savicandClaude Opus 4.5 e3fb92b9fe Fix: AI Music Production MDX + Automated Ad Creatives Übersetzungen
- ai-music-production.mdx erstellt (Projekt war nicht in Portfolio sichtbar)
- automated-ad-creatives Import zu allen Portfolio-Index-Dateien hinzugefügt
- Behebt: Deutsches Fallback auf englischer Seite für Ad Creatives

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 02:27:00 +01:00
damjan_savicandClaude Opus 4.5 5f9a0226b7 Portfolio: AI Music Production (Suno AI) Projekt hinzugefügt
Neues Portfolio-Projekt für KI-gestützte Musikproduktion mit Suno AI:
- Übersetzungen in DE/EN/SR
- Video-Einbettung (Tella.tv)
- Workflow-Dokumentation für Songwriting mit KI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 02:22:01 +01:00
damjan_savicandClaude Opus 4.5 cab2be8a2f SEO-Optimierung & CV-Download Feature
- Erweiterte Keywords für Voice AI, KI-Agenten, Claude/GPT-4
- Neue Service-Kategorien: Voice AI Entwicklung, Autonome KI-Agenten
- CV-Download sprachabhängig (DE/EN)
- Fehlende SEO-Übersetzungen für About-Seite hinzugefügt
- "Mehr erfahren" Button verlinkt auf /about
- Aktualisierte Expertise-Bereiche mit VAPI, n8n, LangChain

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 23:04:36 +01:00
damjan_savicandClaude Opus 4.5 52937b94c1 Portfolio Update: Recrobot hinzugefügt, Blog-Beitrag entfernt, UI verbessert
- Neues Portfolio-Projekt: Recrobot (KI-gestütztes Recruiting Tool)
- Portfolio-Projekt: Website mit KI hinzugefügt
- Blog-Beitrag "Automatisierte Ad Creatives" entfernt
- Gradient-Overlay von Portfolio-Karten entfernt
- Projekt-Ordner für Cover-Bilder erstellt
- Übersetzungen für alle drei Sprachen (DE, EN, SR)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-13 21:11:57 +01:00
damjan_savicandClaude Opus 4.5 88a76e5fa9 Fix: Logo-Hintergrundfarbe auf #3d3d3d geändert
- SVG und PNG aktualisiert für bessere Darstellung in Google-Suchergebnissen

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 00:04:41 +01:00
damjan_savic e3c4c6d443 Implementierung - SEO - 15.08.2025 2025-08-15 18:43:22 +02:00
damjan_savic 23e5f0e867 Implementierung - SEO - 15.08.2025 2025-08-15 18:26:27 +02:00
damjan_savic 92095892b2 Implementierung - SEO - 15.08.2025 2025-08-15 18:20:45 +02:00
damjan_savic 3db6bafa0a Implementierung - SEO - 15.08.2025 2025-08-15 17:53:29 +02:00
damjan_savic 6175424711 Implementierung - SEO - 15.08.2025 2025-08-15 17:51:21 +02:00
damjan_savic 2f1fdb9154 Implementierung - SEO - 15.08.2025 2025-08-15 17:46:59 +02:00
damjan_savic d45e356fe2 Implementierung - SEO - 15.08.2025 2025-08-15 17:31:19 +02:00
damjan_savic 0871b78f86 Implementierung - SEO - 15.08.2025 2025-08-15 17:29:56 +02:00
damjan_savic fa97bc8705 Implementierung - SEO - 15.08.2025 2025-08-15 17:27:09 +02:00
damjan_savic 2be1d6617a Implementierung - SEO - 15.08.2025 2025-08-15 17:23:01 +02:00
damjan_savic 7dad0a5812 Implementierung - SEO - 01.08.2025 2025-08-05 15:55:01 +02:00
damjan_savic 4a4388be64 Implementierung - SEO - 01.08.2025 2025-08-02 02:02:51 +02:00
damjan_savic e69e68242c Implementierung - SEO - 01.08.2025 2025-08-01 20:33:47 +02:00
damjan_savic f176743885 Implementierung - SEO - 01.08.2025 2025-08-01 14:26:05 +02:00
damjan_savic 7aa0543001 Fix Cookie Banner. 2025-04-18 16:16:07 +02:00
damjan_savic 867168ae99 Fix Cookie Banner. 2025-04-18 16:06:14 +02:00
damjan_savic 5c3da709df Fix Cookie Banner. 2025-04-18 13:48:11 +02:00
damjan_savic 76d178f54e Fix Dropdown LanguageSwitcher. 2025-04-15 14:05:03 +02:00
damjan_savic c1f59a0e6d Fix Animations, Sidebar and Footer. 2025-02-10 14:15:42 +01:00
damjan_savic 62ed4ddcd9 Fix Animations, Sidebar and Footer. 2025-02-10 14:04:45 +01:00
damjan_savic cb56c2b4c1 Fix Animations, Sidebar and Footer. 2025-02-10 13:57:26 +01:00
damjan_savic e26ab9127a Fix Animations, Sidebar and Footer. 2025-02-10 13:55:39 +01:00
damjan_savic 0786ff793e Fix Animations, Sidebar and Footer. 2025-02-10 13:54:12 +01:00
damjan_savic 524e651bca Fix Animations, Sidebar and Footer. 2025-02-10 13:35:37 +01:00
damjan_savic d23c381913 Fix Scroll. 2025-02-10 12:53:25 +01:00
damjan_savic 4b74640d87 Fix Page Transition and Mobile Version. 2025-02-10 11:28:50 +01:00
damjan_savic bba0e331a8 First Commit - Portfolio Page 2025-02-10 00:55:39 +01:00