feat: bulk delete + merge activities in feed
- Select mode in ActivityFeed: toggle with Select button (logged-in only),
cards become clickable with checkmark indicator, action bar fixed at bottom
- Bulk delete: calls existing DELETE /api/activity/{id} for each selected,
removes from local feed state immediately
- Bulk merge: POST /api/merge sorts by started_at (earliest = primary),
sums distance/duration/elevation, weighted-averages HR/power, concatenates
geojson and timeseries; backs up originals to _merge_backup/ for recovery
- GET /api/merges returns per-user hidden list; feed filters secondaries
client-side on load so static shards don't need a rebuild to hide them
- POST /api/unmerge/{id} restores primary from backup, unhides secondaries
- ActivityDetail: shows "Merged (N)" badge + Unmerge button for owners
- Fix: edit button now works from personal profile feed (handle was missing
from year-shard activities; injected from filterHandle on sessionStorage write)
This commit is contained in:
@@ -20,12 +20,14 @@ from bincio.serve.routers import (
|
||||
activities,
|
||||
admin,
|
||||
auth,
|
||||
budget,
|
||||
download,
|
||||
feed,
|
||||
garmin,
|
||||
gear,
|
||||
ideas,
|
||||
me,
|
||||
merge,
|
||||
ogimage,
|
||||
segments,
|
||||
strava,
|
||||
@@ -63,6 +65,8 @@ for _router in [
|
||||
me.router,
|
||||
admin.router,
|
||||
activities.router,
|
||||
merge.router,
|
||||
budget.router,
|
||||
download.router,
|
||||
uploads.router,
|
||||
segments.router,
|
||||
|
||||
Reference in New Issue
Block a user