Compare commits

..

2 Commits

Author SHA1 Message Date
m038 fa29888578 chore: ignore git-sync.yaml and security.yaml
Both files are server-specific: git-sync.yaml contains an encrypted
token, security.yaml holds Grav nonces/salts. Neither should roam
across environments.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vgmzx8VTTTmCskSpQtsLTr
2026-06-21 17:25:22 +02:00
m038 31f3c6fb2f fix: resolve AX6/AX7 a11y violations
- gpx-manager: raise th color #666→#999 (6.9:1 contrast on dark bg)
- gpx-manager: raise .gpx-delete text #c0392b→#e07070 (6.2:1 contrast)
- gpx-manager: add visible label text 'Choose GPX file' to file input
- snap-gallery: add tabindex=0 to .pgallery__frame for keyboard scrollability

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WPJztrVGbwic2xTG7G9fjM
2026-06-21 17:24:29 +02:00
4 changed files with 6 additions and 4 deletions
+2
View File
@@ -4,3 +4,5 @@
!/plugins/story-blocks/ !/plugins/story-blocks/
/data/ /data/
/pages/01.trips/italy-2026-demo/ /pages/01.trips/italy-2026-demo/
/config/plugins/git-sync.yaml
/config/security.yaml
-1
View File
@@ -1 +0,0 @@
salt: HlC0NrX9QsYq1S
@@ -43,7 +43,7 @@ HTML;
return <<<HTML return <<<HTML
<div class="pgallery"> <div class="pgallery">
<div class="pgallery__frame" role="region" aria-label="Photo gallery"> <div class="pgallery__frame" role="region" aria-label="Photo gallery" tabindex="0">
{$slidesHtml} {$slidesHtml}
<div class="pgallery__dots" aria-hidden="true">{$dotsHtml}</div> <div class="pgallery__dots" aria-hidden="true">{$dotsHtml}</div>
</div> </div>
@@ -18,6 +18,7 @@
</div> </div>
<form class="gpx-upload-form" data-trip-route="{{ trip.route }}"> <form class="gpx-upload-form" data-trip-route="{{ trip.route }}">
<label class="gpx-upload-label"> <label class="gpx-upload-label">
<span class="gpx-upload-label__text">Choose GPX file</span>
<input type="file" accept=".gpx,application/gpx+xml" name="file" class="gpx-file-input"> <input type="file" accept=".gpx,application/gpx+xml" name="file" class="gpx-file-input">
</label> </label>
<button type="submit" class="gpx-upload-btn">Upload</button> <button type="submit" class="gpx-upload-btn">Upload</button>
@@ -34,13 +35,13 @@
.gpx-trip { border: 1px solid #e0ddd6; border-radius: 8px; padding: 1.25rem; margin-bottom: 1.5rem; } .gpx-trip { border: 1px solid #e0ddd6; border-radius: 8px; padding: 1.25rem; margin-bottom: 1.5rem; }
.gpx-trip__name { font-size: 1.1rem; font-weight: 600; margin: 0 0 1rem; } .gpx-trip__name { font-size: 1.1rem; font-weight: 600; margin: 0 0 1rem; }
.gpx-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; margin-bottom: 1rem; } .gpx-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; margin-bottom: 1rem; }
.gpx-table th { text-align: left; color: #666; font-weight: 500; padding: 0.25rem 0.5rem; border-bottom: 1px solid #e0ddd6; } .gpx-table th { text-align: left; color: #999; font-weight: 500; padding: 0.25rem 0.5rem; border-bottom: 1px solid #e0ddd6; }
.gpx-table td { padding: 0.5rem; border-bottom: 1px solid #f0ede8; } .gpx-table td { padding: 0.5rem; border-bottom: 1px solid #f0ede8; }
.gpx-empty, .gpx-loading { color: #888; font-size: 0.875rem; margin-bottom: 0.75rem; } .gpx-empty, .gpx-loading { color: #888; font-size: 0.875rem; margin-bottom: 0.75rem; }
.gpx-upload-form { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; } .gpx-upload-form { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; margin-top: 0.75rem; }
.gpx-upload-btn { background: #1F6B5A; color: #fff; border: none; border-radius: 5px; padding: 0.4rem 1rem; font-size: 0.875rem; cursor: pointer; } .gpx-upload-btn { background: #1F6B5A; color: #fff; border: none; border-radius: 5px; padding: 0.4rem 1rem; font-size: 0.875rem; cursor: pointer; }
.gpx-upload-btn:disabled { opacity: 0.5; cursor: default; } .gpx-upload-btn:disabled { opacity: 0.5; cursor: default; }
.gpx-delete { background: none; border: 1px solid #ccc; border-radius: 4px; padding: 0.2rem 0.5rem; font-size: 0.8rem; cursor: pointer; color: #c0392b; } .gpx-delete { background: none; border: 1px solid #ccc; border-radius: 4px; padding: 0.2rem 0.5rem; font-size: 0.8rem; cursor: pointer; color: #e07070; }
.gpx-delete:disabled { opacity: 0.5; } .gpx-delete:disabled { opacity: 0.5; }
.gpx-status { font-size: 0.8rem; color: #555; } .gpx-status { font-size: 0.8rem; color: #555; }
.gpx-status.error { color: #c0392b; } .gpx-status.error { color: #c0392b; }