damjan_savic
6eb08c9bde
Merge origin/master
2026-01-25 19:46:22 +01:00
damjan_savic
5efdc625a1
Merge origin/master
2026-01-25 19:37:36 +01:00
Damjan Savic and GitHub
187a42cbd8
Merge pull request #4 from damjan1996/auto-claude/025-implement-blog-post-caching-and-lazy-loading
...
auto-claude: 025-implement-blog-post-caching-and-lazy-loading
2026-01-25 19:25:21 +01:00
damjan_savic and Claude 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
39697ae857
auto-claude: subtask-3-1 - Update blog page to import legacy posts from data file
2026-01-25 06:34:39 +01:00
damjan_savic
c80f60cf4e
auto-claude: subtask-2-2 - Update BlogImage component to use optimized responsive images
...
- Changed sizes attribute from viewport-based (vw) to pixel-based values
- Matches PortfolioCard pattern for consistent image optimization
- Enables Next.js to generate optimal image sizes for each breakpoint
- Improves performance by serving appropriately sized WebP images
2026-01-25 06:31:03 +01:00
damjan_savic
85398a58e0
auto-claude: subtask-2-1 - Remove base64 SVG placeholder constant
2026-01-25 06:28:28 +01:00
damjan_savic
b89031576d
auto-claude: subtask-1-4 - Add URL state management using searchParams and router.push
2026-01-25 04:03:05 +01:00
damjan_savic and Claude Sonnet 4.5
d130972cd7
auto-claude: subtask-1-3 - Add filtering logic and integrate components into blog page
...
- Created BlogList client component with search and category filtering
- Integrated SearchBar and CategoryFilter components
- Implemented case-insensitive search by title/excerpt/tags
- Added category filtering with AND logic for combined filters
- Updated pagination to work with filtered results
- Added search placeholder translations for de/en/sr
- Moved blog card and pagination logic to client component
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com >
2026-01-25 02:47:52 +01:00
damjan_savic and Claude 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_savic and Claude 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_savic and Claude 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_savic and Claude 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