From f9dbc1460490557a46d8dcb6750707cf3bbf581d Mon Sep 17 00:00:00 2001 From: HikeMap User Date: Wed, 31 Dec 2025 12:35:32 -0600 Subject: [PATCH] Add advanced geocache features MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Features added: 1. Custom icon colors - Choose any color for geocache icons 2. Secret caches - Set visibility distance (only visible within X meters) 3. Edit existing caches - Change title, icon, color, visibility after creation 4. Geocache list sidebar - View all caches in edit mode, click to navigate 5. Visual indicators for secret caches (purple badge, transparency in edit mode) Implementation: - Added color picker with preview in geocache dialog - Added visibility distance field (0 = always visible) - Edit button for existing caches in edit mode - Dynamic visibility updates based on user location in nav mode - Geocache list sidebar with stats and quick navigation - All properties sync via WebSocket to other users 🤖 Generated with Claude Code Co-Authored-By: Claude --- geocaches.json | 15 +++ index.html | 313 ++++++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 313 insertions(+), 15 deletions(-) diff --git a/geocaches.json b/geocaches.json index 742c0f5..b0f638b 100644 --- a/geocaches.json +++ b/geocaches.json @@ -112,5 +112,20 @@ } ], "createdAt": 1767140463979 + }, + { + "id": "gc_1767201872423_vhovqct4m", + "lat": 30.527463067863167, + "lng": -97.83988237380983, + "title": "Pirates booty", + "icon": "pirate", + "messages": [ + { + "author": "Captain bibbit.", + "text": "the booty is my butt.", + "timestamp": 1767201911761 + } + ], + "createdAt": 1767201872423 } ] \ No newline at end of file diff --git a/index.html b/index.html index 5efa3a9..8091f3a 100644 --- a/index.html +++ b/index.html @@ -616,6 +616,81 @@ display: block; animation: slideUp 0.3s ease; } + + /* Geocache List Sidebar */ + .geocache-list-sidebar { + position: fixed; + right: -350px; + top: 60px; + bottom: 0; + width: 350px; + background: rgba(30, 30, 30, 0.95); + backdrop-filter: blur(10px); + transition: right 0.3s ease; + z-index: 999; + overflow-y: auto; + padding: 20px; + box-shadow: -2px 0 10px rgba(0, 0, 0, 0.5); + } + .geocache-list-sidebar.open { + right: 0; + } + .geocache-list-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + padding-bottom: 10px; + border-bottom: 1px solid #444; + } + .geocache-list-item { + background: rgba(40, 40, 40, 0.8); + border-radius: 8px; + padding: 12px; + margin-bottom: 10px; + cursor: pointer; + transition: background 0.2s; + } + .geocache-list-item:hover { + background: rgba(60, 60, 60, 0.9); + } + .geocache-list-item-title { + font-weight: bold; + color: #FFA726; + margin-bottom: 5px; + display: flex; + align-items: center; + gap: 8px; + } + .geocache-list-item-info { + font-size: 0.9em; + color: #aaa; + } + .geocache-list-item-secret { + display: inline-block; + background: #9C27B0; + color: white; + padding: 2px 6px; + border-radius: 4px; + font-size: 0.75em; + margin-left: 5px; + } + .geocache-list-toggle { + position: fixed; + right: 20px; + bottom: 140px; + width: 50px; + height: 50px; + background: #FFA726; + border-radius: 50%; + display: none; + align-items: center; + justify-content: center; + cursor: pointer; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); + z-index: 998; + } + /* Admin Panel Styles */ .admin-setting-group { padding: 15px 10px; @@ -974,6 +1049,19 @@ Browse icons at Material Design Icons + +
@@ -986,6 +1074,7 @@
+
@@ -996,6 +1085,22 @@ 📍 Geocache nearby! Click to view messages. + +
+
+

📍 Geocaches

+ +
+
+ +
+
+ + +
+ +
+