Commit Graph

302 Commits

Author SHA1 Message Date
Cursor Agent
2cd4600063 fix(i18n): load messages by route locale
Import locale JSON messages directly in the [locale] layout to ensure DE pages render DE strings instead of falling back to EN.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:31:27 +00:00
Cursor Agent
f2b3f1edfd fix(i18n): render locale switch as links
Use locale-prefixed <Link> elements for EN/DE so language switching works even when client-side hydration is broken.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:29:55 +00:00
Cursor Agent
411806d5ce fix(i18n): use hard navigation for language switch
Switch locales via window.location.assign to guarantee the URL and messages update even if client-side router navigation is blocked.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:27:20 +00:00
Cursor Agent
b219cc51a0 test(e2e): wait for locale navigation to complete
Locale switch can take longer in dev; wait explicitly for /de URL after click.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:25:48 +00:00
Cursor Agent
dce6b6f567 test(e2e): click locale switcher by aria-label
Use the actual accessible name of the DE button to ensure Playwright clicks the correct element.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:24:00 +00:00
Cursor Agent
c150cd82d9 fix(i18n): make locale switch always navigate
Stop setting NEXT_LOCALE cookie client-side and refresh after navigation, avoiding swallowed cookie errors that can prevent router.push from switching languages.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:21:18 +00:00
Cursor Agent
355c9a13fa test(e2e): force NODE_ENV=development for webServer
Prevents middleware Edge runtime from failing on eval-based dev bundles when NODE_ENV is set to a non-standard value in the environment.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:14:18 +00:00
Cursor Agent
9364b44196 fix(i18n): render consent banner inside NextIntl provider
Move ConsentBanner rendering into the locale layout so next-intl context is always available (prevents missing provider errors).

fix(activity-feed): use dark styling for disabled state

Avoid white disabled cards so the feed never appears as a white/transparent block after reload.

test(e2e): assert nav text changes on locale switch

Strengthen i18n test to verify translated labels.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:09:22 +00:00
Cursor Agent
9082bd256a fix(i18n): update consent banner on locale switch
Use next-intl translations instead of reading NEXT_LOCALE cookie once, so banner text updates immediately when switching languages.

fix(activity-feed): make loading UI match dark theme

Avoid the white loading card on hard reload by using the same dark styling as the normal feed.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 16:00:05 +00:00
Cursor Agent
e115a23485 fix(activity-feed): prevent framer-motion initial-state stuck on reload
Disable initial animations for the feed's fallback UIs so a hard reload can't leave the component stuck small/transparent before any state updates.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 11:11:23 +00:00
Cursor Agent
a19293eda4 fix(activity-feed): avoid hydration mismatch from localStorage
Read tracking preference after mount instead of during initial render to prevent SSR/client divergence that can leave the feed stuck in its initial (small/transparent) styles after page reload.

Co-authored-by: dennis <dennis@konkol.net>
2026-01-14 11:03:59 +00:00
Cursor Agent
1d2c8cee09 Fix: eliminate reload-only hydration mismatches on home
Make HomePage a server component and mount ActivityFeed via a client-only wrapper to avoid Suspense/dynamic boundary differences between SSR and hydration.
2026-01-14 10:45:34 +00:00
Cursor Agent
4f344ff1de Fix: stabilize ActivityFeed UI on reload
Avoid shared dev rate-limit bucket for n8n status and fall back to a stable offline state when the status call fails, preventing the widget from getting stuck in the small translucent loading UI.
2026-01-14 02:47:01 +00:00
Cursor Agent
80077ea1af Merge cursor/umfassende-plattform-berarbeitung-d0f0 into dev_test
Resolve email API TLS/env var merge conflicts and bring latest platform changes into dev_test.
2026-01-14 02:11:17 +00:00
Cursor Agent
abfb710c4b Fix: guard Umami tracking and web vitals performance APIs
Avoid calling undefined umami.track, add safe checks for Performance APIs, and clean up load listeners to prevent .call() crashes in Chrome.
2026-01-14 02:09:22 +00:00
denshooter
c8db7ea78c refactor: rename project from my_portfolio to portfolio 2026-01-14 02:47:57 +01:00
denshooter
7adcda61c9 Merge branches 'dev_test' and 'dev_test' of https://github.com/denshooter/my_portfolio into dev_test 2026-01-14 02:03:01 +01:00
Cursor Agent
ba99889782 Refactor activity feed disabled UI; use plain img for hero image fix
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 16:47:14 +00:00
Cursor Agent
e2616ae0f7 Fix next-intl locale, remove wave animations, and unoptimize hero image
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 16:18:03 +00:00
Cursor Agent
6f1ad8eb4d Refine CMS i18n fallback, refresh UI, add consent minimize, seed i18n content
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 16:10:22 +00:00
Cursor Agent
683735cc63 Add i18n to home sections, improve consent management and middleware asset handling
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:57:28 +00:00
Cursor Agent
6a4055500b Exclude static assets (paths with dots) from middleware matcher.
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:47:53 +00:00
Cursor Agent
d7dcb17769 Automate dev DB setup with migrations and relax API rate limits in development
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:37:22 +00:00
Cursor Agent
423a2af938 Integrate Prisma for content; enhance SEO, i18n, and deployment workflows
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:27:35 +00:00
Cursor Agent
f1cc398248 Refactor Docker entrypoint to run Prisma migrations; update schema
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 15:08:23 +00:00
Cursor Agent
80f57184c7 Disable aggressive static asset caching in development to fix HMR.
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 14:51:56 +00:00
Cursor Agent
9839d1ba7c Checkpoint before follow-up message
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 14:49:44 +00:00
Cursor Agent
12245eec8e Refactor for i18n, CMS integration, and project slugs; enhance admin & analytics
Co-authored-by: dennis <dennis@konkol.net>
2026-01-12 14:36:10 +00:00
denshooter
0349c686fa feat(auth): implement session token creation and verification for enhanced security
feat(api): require session authentication for admin routes and improve error handling

fix(api): streamline project image generation by fetching data directly from the database

fix(api): optimize project import/export functionality with session validation and improved error handling

fix(api): enhance analytics dashboard and email manager with session token for admin requests

fix(components): improve loading states and dynamic imports for better user experience

chore(security): update Content Security Policy to avoid unsafe-eval in production

chore(deps): update package.json scripts for consistent environment handling in linting and testing
2026-01-12 00:27:03 +01:00
denshooter
9072faae43 refactor: enhance security and performance in configuration and API routes
- Update Content Security Policy (CSP) in next.config.ts to avoid `unsafe-eval` in production, improving security against XSS attacks.
- Refactor API routes to enforce admin authentication and session validation, ensuring secure access to sensitive endpoints.
- Optimize analytics data retrieval by using database aggregation instead of loading all records into memory, improving performance and reducing memory usage.
- Implement session token creation and verification for better session management and security across the application.
- Enhance error handling and input validation in various API routes to ensure robustness and prevent potential issues.
2026-01-11 22:44:26 +01:00
denshooter
9cc03bc475 Prevent white screen: wrap ActivityFeed in error boundary and improve ClientProviders error handling
All checks were successful
Dev Deployment (Zero Downtime) / deploy-dev (push) Successful in 13m10s
Production Deployment (Zero Downtime) / deploy-production (push) Successful in 11m4s
2026-01-10 17:08:16 +01:00
denshooter
832b468ea7 Fix white screen: add error boundaries and improve error handling in AnalyticsProvider and useWebVitals 2026-01-10 17:07:00 +01:00
denshooter
2a260abe0a Fix ActivityFeed fetch TypeError: add proper error handling and type safety 2026-01-10 17:03:07 +01:00
denshooter
80f2ac61ac Fix type error in KernelPanic404: update currentMusic type to match return type 2026-01-10 16:55:01 +01:00
denshooter
a980ee8fcd Fix runtime errors: PerformanceObserver, localStorage, crypto.randomUUID, hydration issues, and linting errors 2026-01-10 16:54:28 +01:00
denshooter
ca2ed13446 refactor: enhance error handling and performance tracking across components
- Improve localStorage access in ActivityFeed, ChatWidget, and AdminPage with try-catch blocks to handle potential errors gracefully.
- Update performance tracking in AnalyticsProvider and analytics.ts to ensure robust error handling and prevent failures from affecting user experience.
- Refactor Web Vitals tracking to include error handling for observer initialization and data collection.
- Ensure consistent handling of hydration mismatches in components like BackgroundBlobs and ChatWidget to improve rendering reliability.
2026-01-10 16:53:06 +01:00
denshooter
20f0ccb85b refactor: improve 404 page loading experience and styling
- Replace Suspense with useEffect for better control over component mounting.
- Update loading indicators with fixed positioning and enhanced styling for a terminal-like appearance.
- Modify KernelPanic404 component to improve text color handling and ensure proper visibility.
- Introduce checks for 404 page detection based on pathname and data attributes for more accurate rendering.
2026-01-10 03:41:22 +01:00
denshooter
59cc8ee154 refactor: consolidate contact API logic and enhance error handling
- Migrate contact API from route.tsx to route.ts for improved organization.
- Implement filtering, pagination, and rate limiting for GET and POST requests.
- Enhance error handling for database operations, including graceful handling of missing tables.
- Validate input fields and email format in POST requests to ensure data integrity.
2026-01-10 03:13:03 +01:00
denshooter
40d9489395 feat: enhance analytics and performance tracking with real data metrics
- Integrate real page view data from the database for accurate analytics.
- Implement cache-busting for fresh data retrieval in analytics dashboard.
- Calculate and display bounce rate, average session duration, and unique users.
- Refactor performance metrics to ensure only real data is considered.
- Improve user experience with toast notifications for success and error messages.
- Update project editor with undo/redo functionality and enhanced content management.
2026-01-10 03:08:25 +01:00
denshooter
b051d9d2ef style: refine admin dashboard and project management UI with cohesive color palette and improved readability
- Update background colors and text styles for better contrast and legibility.
- Enhance button styles and hover effects for a more modern look.
- Remove unnecessary scaling effects and adjust border styles for consistency.
- Introduce a cohesive design language across components to improve user experience.
2026-01-10 02:40:50 +01:00
denshooter
7d84d35f09 fix: resolve styling issues in admin dashboard and login
Fix login page background color to cream/stone (hide blobs). Remove hover scaling from dashboard stats cards. darkening Admin Panel and Portfolio text.
2026-01-10 02:30:15 +01:00
denshooter
59eb32b45a fix: update admin dashboard styles
Fix white text color on cream background in Project Management section. Remove hover scaling effect from login button.
2026-01-10 02:23:14 +01:00
denshooter
632302fb54 style: enhance project covers with mesh gradients, shine effects, and texture 2026-01-10 01:15:03 +01:00
denshooter
2844b981bb style: modernize project pages with warm organic design and improved readability 2026-01-10 01:13:07 +01:00
denshooter
82b5ca4514 style: modernize logo with sans-serif font and stronger red accent 2026-01-10 01:09:39 +01:00
denshooter
98f1a07b08 style: enhance glassmorphism for projects and chat widget with improved transparency and readability 2026-01-10 01:07:49 +01:00
denshooter
792f0c8aae style: modernize chat widget with glassmorphism and improve mobile layout 2026-01-10 01:05:08 +01:00
denshooter
eaaee17bca style: update chat widget to use warm organic modern color palette 2026-01-10 01:02:58 +01:00
denshooter
ae37294b06 full upgrade 2026-01-10 00:52:08 +01:00
denshooter
b487f4ba75 feat: Add production troubleshooting tools and remove eye icon from ActivityFeed
All checks were successful
Production Deployment (Zero Downtime) / deploy-production (push) Successful in 12m1s
- Add diagnose-production.sh script for comprehensive production diagnostics
- Add fix-production.sh script for automatic production issue resolution
- Add PRODUCTION_TROUBLESHOOTING.md documentation with step-by-step guides
- Remove eye icon from ActivityFeed header (keep only X button for minimize)
- Improve error handling and network connectivity checks
2026-01-09 20:20:08 +01:00