feat(views): saved-views UI — sidebar widget, apply/rename/default/reorder/share

A new "Saved views" filter-sidebar widget (SavedViewsWidget): save the
current filters under a name, apply one with a click (active-highlighted
when it matches), rename, delete (confirm), drag-reorder, share by link
(reuses shareUrl), and star one as the default. The default view's filters
are mirrored to localStorage so loadInitialFilters applies it synchronously
on load/F5 (an api/url share link still wins; no default → last-session
filters as before). Hidden for the demo account. EN/HU/DE.
This commit is contained in:
npeter83 2026-07-01 03:17:36 +02:00
parent 3056734231
commit 0a358fa82e
12 changed files with 429 additions and 3 deletions

View file

@ -31,6 +31,7 @@
"shareCopied": "Ansichts-Link in die Zwischenablage kopiert",
"shareFailed": "Link konnte nicht kopiert werden",
"widget": {
"savedviews": "Gespeicherte Ansichten",
"show": "Anzeigen",
"sort": "Sortierung",
"date": "Upload-Datum",

View file

@ -0,0 +1,16 @@
{
"save": "Aktuelle Ansicht speichern",
"namePlaceholder": "Name der Ansicht",
"saveAction": "Speichern",
"cancel": "Abbrechen",
"empty": "Noch keine gespeicherten Ansichten. Filtere den Feed und speichere ihn.",
"apply": "Diese Ansicht anwenden",
"makeDefault": "Als Standard festlegen (wird beim Start geladen)",
"isDefault": "Standardansicht — wird beim Start geladen",
"share": "Link zu dieser Ansicht kopieren",
"shareCopied": "Ansichtslink kopiert",
"rename": "Umbenennen",
"delete": "Löschen",
"deleteConfirm": "Die gespeicherte Ansicht „{{name}}“ löschen?",
"reorder": "Zum Neuordnen ziehen"
}

View file

@ -31,6 +31,7 @@
"shareCopied": "View link copied to clipboard",
"shareFailed": "Couldn't copy the link",
"widget": {
"savedviews": "Saved views",
"show": "Show",
"sort": "Sort",
"date": "Upload date",

View file

@ -0,0 +1,16 @@
{
"save": "Save current view",
"namePlaceholder": "View name",
"saveAction": "Save",
"cancel": "Cancel",
"empty": "No saved views yet. Filter the feed, then save it.",
"apply": "Apply this view",
"makeDefault": "Set as default (loads on start)",
"isDefault": "Default view — loads on start",
"share": "Copy a link to this view",
"shareCopied": "View link copied",
"rename": "Rename",
"delete": "Delete",
"deleteConfirm": "Delete the saved view “{{name}}”?",
"reorder": "Drag to reorder"
}

View file

@ -31,6 +31,7 @@
"shareCopied": "Nézet-hivatkozás a vágólapra másolva",
"shareFailed": "Nem sikerült a hivatkozás másolása",
"widget": {
"savedviews": "Mentett nézetek",
"show": "Megjelenítés",
"sort": "Rendezés",
"date": "Feltöltés dátuma",

View file

@ -0,0 +1,16 @@
{
"save": "Aktuális nézet mentése",
"namePlaceholder": "Nézet neve",
"saveAction": "Mentés",
"cancel": "Mégse",
"empty": "Még nincs mentett nézet. Szűrd a feedet, majd mentsd el.",
"apply": "Nézet alkalmazása",
"makeDefault": "Beállítás alapértelmezettként (indításkor betölt)",
"isDefault": "Alapértelmezett nézet — indításkor betölt",
"share": "Hivatkozás másolása a nézethez",
"shareCopied": "Nézet hivatkozása a vágólapra másolva",
"rename": "Átnevezés",
"delete": "Törlés",
"deleteConfirm": "Törlöd a(z) „{{name}}” mentett nézetet?",
"reorder": "Húzd az átrendezéshez"
}