Commit Graph

65 Commits

Author SHA1 Message Date
6612a0207a Merge pull request 'Fix #17: Bildoptimierung – WebP, Lazy Loading, Caching' (#22) from feature/issue-17-bildoptimierung-webp into main 2026-05-19 15:29:04 +02:00
Claw
9c0a9a856a merge: resolve conflicts with main (WebP + vanilla JS + a11y)
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 32s
2026-05-19 13:28:52 +00:00
4ca48a7445 Merge pull request 'fix: JavaScript doppelte Funktionen & toter Code (#39)' (#40) from feature/39-js-duplicate-functions-fix into main
Reviewed-on: #40
2026-05-19 15:13:29 +02:00
6b13b95102 fix: remove duplicate openLightbox/closeLightbox and dead code (#39)
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 26s
- Consolidate openLightbox() and closeLightbox() to single vanilla JS definition
- Remove orphaned keyboard handler block that caused ReferenceError
- Refs: #39
2026-05-19 12:41:58 +00:00
9a8776412e Merge pull request 'Fix #36: Favicon erstellen und einbinden' (#37) from feature/issue-36-favicon into main 2026-05-15 10:45:31 +02:00
127faaffaf feat(favicon): use Außenansicht as favicon base
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
2026-05-15 08:43:47 +00:00
c6eda36750 feat(favicon): add favicon and browser icons for Issue #36
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 37s
- favicon.ico (16x16 + 32x32)
- favicon-32x32.png, favicon-16x16.png
- apple-touch-icon.png (180x180)
- site.webmanifest
- Linked in index.php head

Resolves #36
2026-05-15 08:40:16 +00:00
336fbc12a6 Merge pull request 'Fix #18: Accessibility – ARIA-Labels, Focus-Management, Skip-Navigation' (#24) from feature/issue-18-accessibility into main 2026-05-15 10:32:45 +02:00
Claw AI
8b73603293 feat(a11y): ARIA labels, focus management, skip-nav, keyboard nav, contrast fix
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 23s
Accessibility improvements per WCAG 2.1 AA:
- Skip-to-content link (TA-1)
- ARIA landmarks and roles for nav, main, sections, footer (TA-2)
- Accordion keyboard navigation + aria-expanded (TA-3)
- Lightbox focus trap + focus management + dialog role (TA-4)
- Gallery grid items keyboard accessible (TA-5)
- Improved alt texts for all images (TA-6)
- Focus-visible styles for all interactive elements (TA-7)
- Darker --stone color for WCAG AA contrast compliance (TA-8)

Fix #18
2026-05-15 08:32:26 +00:00
d609175b3c Merge pull request 'Fix #19: Remove jQuery dependency, replace with vanilla JS' (#21) from feature/issue-19-remove-jquery-masonry into main 2026-05-15 10:29:56 +02:00
Claw (AI)
73635a5f03 fix(js): improve lightbox WebP fallback error handler
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
- Use .off('error') to prevent stacking error handlers
- Simplify fallback logic: only replace .webp → .png on error
- Prevents infinite error loops
2026-05-15 07:57:09 +00:00
Claw (AI)
b237cb6315 fix(images): remove unused masonry.js and fix broken references
- Delete js/masonry.pkgd.min.js (24 KB, never referenced in HTML)
- Fix bad3.jpg → Bad-3.webp reference (was 404)
- Fix WhatsApp Image reference → replaced with Bad-4.webp (existing image)
- Update data-img attributes to use WebP paths
2026-05-15 07:57:09 +00:00
Claw (AI)
98cb53df09 fix(images): update nginx with gzip and 30d cache headers
- Enable gzip for CSS, JS, SVG, JSON, XML
- Add 30-day cache headers for static assets (images, CSS, JS, fonts)
- Set Cache-Control: public, immutable for static files
2026-05-15 07:57:09 +00:00
Claw (AI)
8666bc1eec feat(images): convert all images to WebP with 87% size reduction
- Convert 34 images (PNG/JPG) to WebP at quality 80
- Total savings: 21.6 MB → 2.8 MB (87% reduction)
- Add <picture> elements with WebP source + original fallback
- Add loading=lazy to all below-the-fold images
- Update lightbox to serve WebP images with error fallback
2026-05-15 07:57:09 +00:00
greggy
1fcdca95b7 refactor(js): remove jQuery dependency and replace with vanilla JS
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
- Rewrite haus-schleusingen.js entirely in vanilla JavaScript
- Use IntersectionObserver instead of scroll event for scroll animations
- Replace jQuery slideUp/slideDown with display toggle for accordion
- Replace jQuery fadeIn with CSS opacity transition for form success
- Remove jQuery CDN script tag from haus-schleusingen.html
- Delete unused masonry.pkgd.min.js
- Remove jquery globals from eslint.config.js

Ref #19
2026-05-15 07:57:01 +00:00
88ef7aa6ac Merge pull request 'Fix #34: Kontaktformular E-Mail-Versand via PHP' (#35) from feature/issue-34-contact-form-mail into main 2026-05-15 09:50:43 +02:00
bf53da13be Fix: Scroll to form result after submission (PRG pattern with anchor)
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 23s
2026-05-14 22:38:27 +00:00
2307c379dc Revert to PHP mail() for portability, remove AgentMail API dependency
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
2026-05-14 22:25:24 +00:00
2c6ed749d5 Fix: Use AgentMail API instead of mail(), fix reply_to format
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
2026-05-14 22:20:59 +00:00
c2f2709790 feat(contact): server-side PHP mail handler for contact form
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
Fix #34: E-Mail-Versand via PHP

- PHP POST handler with server-side validation (name, email, message)
- mail() with From/Reply-To set to form email address
- Recipient: mki@kies-media.de
- Honeypot spam protection (hidden field)
- Minimum submit time check (3 seconds)
- Session-based rate limiting (60s between submissions)
- Header injection protection
- Error messages displayed above form
- Success message after successful send
- Form values preserved on validation errors
- Removed client-side mailto: JavaScript logic
- Added CSS for error display and honeypot hiding
2026-05-14 19:12:43 +00:00
69ca8efa47 Merge pull request 'Rename haus-schleusingen.html to index.php' (#33) from feature/rename-to-index-php into main 2026-05-14 20:55:38 +02:00
40001adbce Rename haus-schleusingen.html to index.php
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
2026-05-14 18:53:15 +00:00
158f07e374 Merge pull request 'Fix #27: Mobile Navigation – Hamburger-Menü implementieren' (#32) from feature/issue-27-hamburger-menu into main 2026-05-14 20:46:19 +02:00
76b1ec58c2 style(nav): remove duplicate display property in mobile nav links
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
2026-05-14 17:40:51 +00:00
565c8b304d feat(nav): add hamburger menu for mobile navigation (Fix #27)
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
- Hamburger button with animated X toggle (CSS-only icon)
- Slide-down mobile nav on ≤900px with 44px+ tap targets
- Semi-transparent overlay when menu is open
- Escape key + outside click + link click closes menu
- Auto-close on resize to desktop
- Desktop navigation unchanged
- Pure vanilla JS toggle, no jQuery dependency
2026-05-14 17:40:20 +00:00
51d4f96b20 Merge pull request 'Fix #28: CTA-Button im Header auffälliger gestalten' (#30) from feature/issue-28-cta-button into main 2026-05-14 18:43:37 +02:00
5167634ee6 Merge pull request 'Fix #29: Impressum und Datenschutz als eigene Seiten' (#31) from feature/issue-29-impressum-datenschutz into main 2026-05-14 18:43:36 +02:00
0995684989 feat(legal): add impressum and datenschutz pages
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 23s
Fix #29: Create impressum.html with full §5 TMG details and
datenschutz.html with DSGVO-compliant privacy policy.
Fix footer links in main page. Both pages use landingpage design,
have meta robots noindex, and are responsive.
2026-05-14 16:33:33 +00:00
7706f11106 feat(cta): make header CTA button more prominent
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
Fix #28: Enlarge CTA button, increase font weight, add border-radius
and box-shadow for better visibility. Improve hover effect with
stronger lift and shadow. Touch target >= 44px.
2026-05-14 16:31:30 +00:00
143962a0fa Merge remote-tracking branch 'origin/feature/issue-16-seo-meta-schema' 2026-05-14 16:17:34 +00:00
04d570cb91 Merge pull request 'Fix #6: Datenschutz-Link im Footer aktualisieren' (#25) from feature/issue-6-datenschutz-link into main
Reviewed-on: #25
2026-05-14 11:23:54 +02:00
Claw AI
8706cb2b70 Merge branch 'main' into feature/issue-6-datenschutz-link
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 23s
2026-05-14 09:21:55 +00:00
Claw AI
3df40952c1 chore: remove pipeline test marker 2026-05-14 09:07:41 +00:00
Claw AI
c467f8cc1e ci: add index.html copy from main page
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 23s
2026-05-14 09:03:03 +00:00
Claw AI
d4a59ee306 ci: fix rsync dependency and permissions in deployment
All checks were successful
Deploy Feature Branch to Test / deploy (push) Successful in 24s
2026-05-14 09:01:26 +00:00
Claw AI
7be0a2e9d5 test: add pipeline test marker
Some checks failed
Deploy Feature Branch to Test / deploy (push) Failing after 42s
2026-05-14 08:59:26 +00:00
Claw AI
10bc7c1d77 ci: fix volume mount for deployment target 2026-05-14 08:59:16 +00:00
Claw AI
e24db23888 ci: add deploy pipeline for feature branches to test environment 2026-05-14 08:58:55 +00:00
48df09df6c fix: Datenschutz-Link auf /datenschutz mit target=_blank (resolves #6) 2026-05-14 08:42:05 +00:00
Claw (AI)
3bbbe85599 feat(seo): add meta description, canonical, Open Graph and Schema.org JSON-LD
- Add meta description with property details
- Add canonical URL (haus-schleusingen.de placeholder, pending Martin's confirmation)
- Add Open Graph tags (og:type, og:title, og:description, og:image, og:url, og:locale, og:site_name)
- Add Schema.org RealEstateListing structured data (JSON-LD)
- Optimize title tag for SEO
- Create robots.txt with sitemap reference

Ref #16
2026-05-13 23:10:55 +00:00
88780c300a Merge pull request 'Fix #15: Kontaktformular – mailto:-Integration für echte Anfragen' (#20) from feature/issue-15-kontaktformular-backend into main
Reviewed-on: #20
2026-05-14 00:45:55 +02:00
Claw
cc7b2d8d70 fix(kontakt): replace simulated form submit with mailto: link
- Generate mailto: link with all form data on submit
- Opens user's email client with pre-filled email to mki@kies-media.de
- Subject includes interest type, body contains all form fields
- Update success message to reflect email client behavior
- Remove fake setTimeout simulation

Fix #15
2026-05-13 22:39:42 +00:00
ea85280cde Merge pull request 'Fix #11: Kontakt-Section mit Email hinzufügen' (#14) from feature/issue-11 into main
Reviewed-on: #14
2026-05-11 12:50:05 +02:00
958f52fd5d Fix #11: Kontakt-Section mit Email hinzufügen
- Email mki@kies-media.de als direkter Kontaktlink unter dem Formular
- Neues .contact-details CSS passend zum bestehenden Design
- Minimaler Eingriff: bestehendes Design bleibt erhalten
2026-05-11 06:38:28 +00:00
9c68365ab8 Merge pull request 'Fix #4: Impressum-Link im Footer hinzufügen' (#5) from feature/issue-4 into main
Reviewed-on: #5
2026-05-10 23:00:47 +02:00
5b304730fa feat: update Impressum-Link im Footer (Issue #4) 2026-05-10 21:22:14 +02:00
1918e86717 Merge pull request 'Fix #2: Korrigiere Flächenangaben laut Notarvertrag' (#3) from feature/issue-2-korrigiere-flaechenangaben into main
Reviewed-on: #3
2026-05-10 15:06:05 +02:00
214f401e71 Fix #2: Korrigiere Flächenangaben laut Notarvertrag
- EG: 99,4 → 99,5 m² (Summenfehler)
- 1. OG: Wohnzimmer 24,7 → 42,6 m², Gesamt 100,3 → 120,4 m²
- 2. OG: Dachterrasse 35,8 → 9,0 m² (25% von 35,8 m²)
- Dachboden: 52 → 94 m² (unten 52 + Mitte 31 + oben 11)
- Nutzfläche Gesamt: 113 → 154,9 m²
- Wohnzimmer in Galerie/Badge: 24,7 → 42,6 m²
2026-05-10 12:43:41 +00:00
7f4ad16318 fix: add lint confirmation messages for CSS and JS linters 2026-05-10 13:27:58 +02:00
78dd17da05 readme 2026-05-10 12:59:08 +02:00