added edit bookmark capabilities

This commit is contained in:
2026-01-12 18:27:19 +01:00
parent 885e638265
commit 0309678650
4 changed files with 76 additions and 12 deletions

View File

@@ -65,6 +65,12 @@ class Storage {
await saveAllBookmarks(bookmarks);
}
static Future<void> deleteBookmark(Bookmark bookmark) async {
final bookmarks = loadAllBookmarks();
bookmarks.remove(bookmark);
await saveAllBookmarks(bookmarks);
}
static Future<void> deleteBookmarkById(int bookmarkId) async {
final bookmarks = loadAllBookmarks();
bookmarks.removeWhere((b) => b.id == bookmarkId);
@@ -77,10 +83,23 @@ class Storage {
await saveAllBookmarks(bookmarks);
}
static Future<void> addOrUpdateBookmark(Bookmark bookmark) async {
final bookmarks = loadAllBookmarks();
final index = bookmarks.indexWhere((b) => b.id == bookmark.id);
if (index == -1) {
bookmarks.add(bookmark);
} else if (index >= 0) {
bookmarks[index] = bookmark;
}
await saveAllBookmarks(bookmarks);
}
static Future<void> updateBookmarkById(
int bookmarkId, {
String? name,
String? description,
String? link,
}) async {
final bookmarks = loadAllBookmarks();
final index = bookmarks.indexWhere((b) => b.id == bookmarkId);
@@ -89,6 +108,7 @@ class Storage {
if (name != null) bookmarks[index].name = name;
if (description != null) bookmarks[index].description = description;
if (link != null) bookmarks[index].link = link;
await saveAllBookmarks(bookmarks);
}