Move back button into sidebar, remove close button, reorder counties, add TODO notes
This commit is contained in:
@@ -140,3 +140,77 @@ docker-compose down
|
|||||||
docker-compose build --no-cache
|
docker-compose build --no-cache
|
||||||
docker-compose up -d
|
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
@@ -315,24 +315,24 @@ def serve_data(filename):
|
|||||||
COUNTIES_FILE = '/data/counties.yml'
|
COUNTIES_FILE = '/data/counties.yml'
|
||||||
|
|
||||||
DEFAULT_COUNTIES = [
|
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',
|
'id': 'sumter',
|
||||||
'name': 'Sumter County',
|
'name': 'Sumter County',
|
||||||
'state': 'Florida',
|
'state': 'Florida',
|
||||||
'color': '#17a2b8',
|
'color': '#28a745',
|
||||||
'roads_url': 'https://www.arcgis.com/sharing/rest/content/items/9177e17c72d3433aa79630c7eda84add/data',
|
'roads_url': 'https://www.arcgis.com/sharing/rest/content/items/9177e17c72d3433aa79630c7eda84add/data',
|
||||||
'addresses_url': 'https://www.arcgis.com/sharing/rest/content/items/c75c5aac13a648968c5596b0665be28b/data',
|
'addresses_url': 'https://www.arcgis.com/sharing/rest/content/items/c75c5aac13a648968c5596b0665be28b/data',
|
||||||
'paths_url': 'upload',
|
'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():
|
def _ensure_counties_file():
|
||||||
|
|||||||
@@ -1160,7 +1160,6 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
|
|
||||||
// Mobile hamburger menu toggle
|
// Mobile hamburger menu toggle
|
||||||
const hamburgerButton = document.getElementById('hamburgerButton');
|
const hamburgerButton = document.getElementById('hamburgerButton');
|
||||||
const closeButton = document.getElementById('closeButton');
|
|
||||||
const controls = document.getElementById('controls');
|
const controls = document.getElementById('controls');
|
||||||
const overlay = document.getElementById('overlay');
|
const overlay = document.getElementById('overlay');
|
||||||
|
|
||||||
@@ -1182,7 +1181,6 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
window.closeMobileControls = closeControls;
|
window.closeMobileControls = closeControls;
|
||||||
|
|
||||||
hamburgerButton.addEventListener('click', toggleControls);
|
hamburgerButton.addEventListener('click', toggleControls);
|
||||||
closeButton.addEventListener('click', closeControls);
|
|
||||||
overlay.addEventListener('click', closeControls);
|
overlay.addEventListener('click', closeControls);
|
||||||
|
|
||||||
// Layer toggles
|
// Layer toggles
|
||||||
|
|||||||
@@ -122,7 +122,6 @@
|
|||||||
background: white;
|
background: white;
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
box-shadow: 0 1px 3px rgba(0,0,0,0.07);
|
box-shadow: 0 1px 3px rgba(0,0,0,0.07);
|
||||||
overflow: hidden;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.wf-title {
|
.wf-title {
|
||||||
|
|||||||
+8
-37
@@ -199,34 +199,12 @@
|
|||||||
transform: rotate(-45deg) translate(6px, -6px);
|
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 */
|
/* Mobile styles */
|
||||||
@media (max-width: 768px) {
|
@media (max-width: 768px) {
|
||||||
.hamburger-button {
|
.hamburger-button {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.close-button {
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
|
|
||||||
.controls {
|
.controls {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: 0;
|
||||||
@@ -276,30 +254,23 @@
|
|||||||
cursor: crosshair !important;
|
cursor: crosshair !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Back button */
|
.btn-back {
|
||||||
.back-button {
|
display: block;
|
||||||
position: absolute;
|
margin-bottom: 12px;
|
||||||
top: 10px;
|
padding: 5px 10px;
|
||||||
left: 10px;
|
|
||||||
z-index: 1000;
|
|
||||||
padding: 6px 12px;
|
|
||||||
background: #1a1a2e;
|
background: #1a1a2e;
|
||||||
color: #ddd;
|
color: #ddd;
|
||||||
border: none;
|
border-radius: 4px;
|
||||||
border-radius: 5px;
|
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
cursor: pointer;
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
display: inline-block;
|
text-align: center;
|
||||||
box-shadow: 0 2px 6px rgba(0,0,0,0.3);
|
|
||||||
}
|
}
|
||||||
.back-button:hover { background: #2d2d4e; color: #fff; }
|
.btn-back:hover { background: #2d2d4e; color: #fff; }
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="map"></div>
|
<div id="map"></div>
|
||||||
<a href="/" class="back-button">← Back</a>
|
|
||||||
|
|
||||||
<!-- Hamburger menu button for mobile -->
|
<!-- Hamburger menu button for mobile -->
|
||||||
<button class="hamburger-button" id="hamburgerButton" aria-label="Toggle menu">
|
<button class="hamburger-button" id="hamburgerButton" aria-label="Toggle menu">
|
||||||
@@ -312,7 +283,7 @@
|
|||||||
<div class="overlay" id="overlay"></div>
|
<div class="overlay" id="overlay"></div>
|
||||||
|
|
||||||
<div class="controls" id="controls">
|
<div class="controls" id="controls">
|
||||||
<button class="close-button" id="closeButton" aria-label="Close menu">×</button>
|
<a href="/" class="btn-back">← Back</a>
|
||||||
<h3>Layer Controls (top to bottom)</h3>
|
<h3>Layer Controls (top to bottom)</h3>
|
||||||
<div id="layerList">
|
<div id="layerList">
|
||||||
<div class="layer-item" draggable="true" data-layer="diff">
|
<div class="layer-item" draggable="true" data-layer="diff">
|
||||||
|
|||||||
Reference in New Issue
Block a user