feat([2fd88f42]): add adjustable marker radius and collapse filters by default

This commit is contained in:
2026-02-04 13:16:35 +00:00
parent 5f1064754c
commit 365a92f9ac
3 changed files with 37 additions and 19 deletions

View File

@@ -23,6 +23,7 @@ function App() {
const [heatmapData, setHeatmapData] = useState<HeatmapPoint[]>([]);
const [isLoading, setIsLoading] = useState(false);
const [error, setError] = useState<string | null>(null);
const [radiusMultiplier, setRadiusMultiplier] = useState(1);
const handleUploadSuccess = (newFilters: FilterOptions) => {
setFilters(newFilters);
@@ -60,21 +61,35 @@ function App() {
</header>
<main className="App-main">
<div className="control-panel">
<FileUpload
onUploadSuccess={handleUploadSuccess}
setIsLoading={setIsLoading}
setError={setError}
/>
<FilterPanel
filters={filters}
onFilterChange={handleFilterChange}
isLoading={isLoading}
/>
<FileUpload
onUploadSuccess={handleUploadSuccess}
setIsLoading={setIsLoading}
setError={setError}
/>
<FilterPanel
filters={filters}
onFilterChange={handleFilterChange}
isLoading={isLoading}
/>
<div className="map-controls" style={{ marginTop: '20px', paddingTop: '20px', borderTop: '1px solid #555' }}>
<h3>Map Settings</h3>
<label htmlFor="radius-slider">Marker Size: {radiusMultiplier.toFixed(1)}x</label>
<input
type="range"
id="radius-slider"
min="0.1"
max="5"
step="0.1"
value={radiusMultiplier}
onChange={(e) => setRadiusMultiplier(parseFloat(e.target.value))}
style={{ width: '100%' }}
/>
</div>
</div>
<div className="map-container">
{isLoading && <p>Loading map data...</p>}
{error && <p className="error">{error}</p>}
<MapDisplay heatmapData={heatmapData} />
<MapDisplay heatmapData={heatmapData} radiusMultiplier={radiusMultiplier} />
</div>
</main>
</div>