Move back button into sidebar, remove close button, reorder counties, add TODO notes

This commit is contained in:
zyphlar
2026-04-21 22:26:05 -07:00
parent 32cd6cba59
commit f35bc2dd9d
5 changed files with 92 additions and 50 deletions
+74
View File
@@ -140,3 +140,77 @@ docker-compose down
docker-compose build --no-cache
docker-compose up -d
```
## TODO
- Validate whether a similar address is within 50 feet (same number?)
- If addr:unit is like "Apartment 123" or "Apartment 123;Apartment 124;Apartment 125" remove the word Apartment so it's just "123" or "123;124;125"
- If an item gets through processing and is "<Null>" it should be cleared
- If a value is a range like "123 - 456" assume it's the same as "123-456" for matching purposes
- Unit numbers with semicolons are still getting detected as different despite being identical, like:
addr:city=Wildwood
addr:housenumber=8655
addr:postcode=34785
addr:state=FL
addr:street=Easterly Lane
addr:unit=108;208;308
- Some items appear duplicate in the data itself for unknown reasons:
addr:city=Bushnell
addr:housenumber=5740
addr:postcode=33513
addr:state=FL
addr:street=Hideaway Circle
- Sr is SR (State Route)
### Corrections
{
"corrections": [
{
"from": "D Angelo Lane",
"to": "D'Angelo Lane"
},
{
"from": "Lajolla Circle",
"to": "La Jolla Circle"
},
{
"from": "Gardena Court",
"to": "Gardenia Court"
},
{
"from": "Glenmont Court",
"to": "Glenmount Court"
},
{
"from": "Pawleys Island Path",
"to": "Pawley's Island Path"
},
{
"from": "Oday Street",
"to": "O'Day Street"
},
{
"from": "Obrien Place",
"to": "O'Brien Place"
},
{
"from": "Ohara Court",
"to": "O'Hara Court"
},
{
"from": "Drive Randy Mcdaniel Way",
"to": "Doctor Randy McDaniel Way"
},
{
"from": "Mcneillrescue Lane",
"to": "Rescue Lane"
},
{
"from": "Longleaf Lane",
"to": "Long Leaf Lane"
}
]
}
+10 -10
View File
@@ -315,24 +315,24 @@ def serve_data(filename):
COUNTIES_FILE = '/data/counties.yml'
DEFAULT_COUNTIES = [
{
'id': 'lake',
'name': 'Lake County',
'state': 'Florida',
'color': '#28a745',
'roads_url': 'https://c.lakecountyfl.gov/ftp/GIS/GisDownloads/Shapefiles/Streets.zip',
'addresses_url': 'https://c.lakecountyfl.gov/ftp/GIS/GisDownloads/Shapefiles/Addresspoints.zip',
'paths_url': '',
},
{
'id': 'sumter',
'name': 'Sumter County',
'state': 'Florida',
'color': '#17a2b8',
'color': '#28a745',
'roads_url': 'https://www.arcgis.com/sharing/rest/content/items/9177e17c72d3433aa79630c7eda84add/data',
'addresses_url': 'https://www.arcgis.com/sharing/rest/content/items/c75c5aac13a648968c5596b0665be28b/data',
'paths_url': 'upload',
},
{
'id': 'lake',
'name': 'Lake County',
'state': 'Florida',
'color': '#17a2b8',
'roads_url': 'https://c.lakecountyfl.gov/ftp/GIS/GisDownloads/Shapefiles/Streets.zip',
'addresses_url': 'https://c.lakecountyfl.gov/ftp/GIS/GisDownloads/Shapefiles/Addresspoints.zip',
'paths_url': '',
},
]
def _ensure_counties_file():
-2
View File
@@ -1160,7 +1160,6 @@ document.addEventListener('DOMContentLoaded', function() {
// Mobile hamburger menu toggle
const hamburgerButton = document.getElementById('hamburgerButton');
const closeButton = document.getElementById('closeButton');
const controls = document.getElementById('controls');
const overlay = document.getElementById('overlay');
@@ -1182,7 +1181,6 @@ document.addEventListener('DOMContentLoaded', function() {
window.closeMobileControls = closeControls;
hamburgerButton.addEventListener('click', toggleControls);
closeButton.addEventListener('click', closeControls);
overlay.addEventListener('click', closeControls);
// Layer toggles
-1
View File
@@ -122,7 +122,6 @@
background: white;
border-radius: 8px;
box-shadow: 0 1px 3px rgba(0,0,0,0.07);
overflow: hidden;
}
.wf-title {
+8 -37
View File
@@ -199,34 +199,12 @@
transform: rotate(-45deg) translate(6px, -6px);
}
.close-button {
display: none;
position: absolute;
top: 10px;
right: 10px;
background: transparent;
border: none;
font-size: 24px;
cursor: pointer;
padding: 5px;
line-height: 1;
color: #666;
}
.close-button:hover {
color: #333;
}
/* Mobile styles */
@media (max-width: 768px) {
.hamburger-button {
display: flex;
}
.close-button {
display: block;
}
.controls {
position: fixed;
top: 0;
@@ -276,30 +254,23 @@
cursor: crosshair !important;
}
/* Back button */
.back-button {
position: absolute;
top: 10px;
left: 10px;
z-index: 1000;
padding: 6px 12px;
.btn-back {
display: block;
margin-bottom: 12px;
padding: 5px 10px;
background: #1a1a2e;
color: #ddd;
border: none;
border-radius: 5px;
border-radius: 4px;
font-size: 12px;
font-weight: 600;
cursor: pointer;
text-decoration: none;
display: inline-block;
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
text-align: center;
}
.back-button:hover { background: #2d2d4e; color: #fff; }
.btn-back:hover { background: #2d2d4e; color: #fff; }
</style>
</head>
<body>
<div id="map"></div>
<a href="/" class="back-button">&#8592; Back</a>
<!-- Hamburger menu button for mobile -->
<button class="hamburger-button" id="hamburgerButton" aria-label="Toggle menu">
@@ -312,7 +283,7 @@
<div class="overlay" id="overlay"></div>
<div class="controls" id="controls">
<button class="close-button" id="closeButton" aria-label="Close menu">&times;</button>
<a href="/" class="btn-back">&#8592; Back</a>
<h3>Layer Controls (top to bottom)</h3>
<div id="layerList">
<div class="layer-item" draggable="true" data-layer="diff">