Added shared bookmarks screen and archived bookmarks screen

This commit is contained in:
Juan Gilsanz Polo
2024-02-28 01:13:55 +01:00
parent 4633023b4f
commit 06df3c2e0a
18 changed files with 663 additions and 236 deletions

View File

@@ -145,7 +145,7 @@ class BookmarkCommonFunctions {
if (result.successful == true) {
showSnackbar(
key: scaffoldMessengerKey,
label: bookmark.isArchived == true
label: bookmark.shared == true
? t.bookmarks.shareOptions.bookmarkUnsharedSuccessfully
: t.bookmarks.shareOptions.bookmarkSharedSuccessfully,
color: Colors.green,
@@ -154,7 +154,7 @@ class BookmarkCommonFunctions {
} else {
showSnackbar(
key: scaffoldMessengerKey,
label: bookmark.isArchived == true
label: bookmark.shared == true
? t.bookmarks.shareOptions.bookmarkNotUnshared
: t.bookmarks.shareOptions.bookmarkNotShared,
color: Colors.red,

View File

@@ -63,8 +63,10 @@ class BookmarkItem extends ConsumerWidget {
SlidableAction(
onPressed: (ctx) => onArchiveUnarchive(bookmark),
backgroundColor: Colors.grey,
label: t.bookmarks.bookmarkOptions.archive,
icon: Icons.archive_rounded,
label: bookmark.isArchived == true
? t.bookmarks.bookmarkOptions.unarchive
: t.bookmarks.bookmarkOptions.archive,
icon: bookmark.isArchived == true ? Icons.unarchive_rounded : Icons.archive_rounded,
padding: const EdgeInsets.all(4),
),
SlidableAction(
@@ -73,7 +75,7 @@ class BookmarkItem extends ConsumerWidget {
builder: (ctx) => ShareOptionsModal(bookmark: bookmark, onShareInternally: onShareInternally),
),
backgroundColor: Colors.orange,
label: t.bookmarks.bookmarkOptions.share,
label: t.bookmarks.bookmarkOptions.shareOptions,
icon: Icons.share_rounded,
padding: const EdgeInsets.all(4),
),

View File

@@ -12,6 +12,8 @@ import 'package:linkdy/widgets/error_screen.dart';
import 'package:linkdy/widgets/no_data_screen.dart';
import 'package:linkdy/constants/enums.dart';
import 'package:linkdy/providers/router.provider.dart';
import 'package:linkdy/router/paths.dart';
import 'package:linkdy/constants/global_keys.dart';
import 'package:linkdy/i18n/strings.g.dart';
@@ -68,6 +70,30 @@ class BookmarksScreen extends ConsumerWidget {
icon: const Icon(Icons.search_rounded),
tooltip: t.bookmarks.search.searchBookmarks,
),
PopupMenuButton(
itemBuilder: (context) => [
PopupMenuItem(
onTap: () => ref.read(routerProvider).push(RoutesPaths.archivedBookmarks),
child: Row(
children: [
const Icon(Icons.archive_rounded),
const SizedBox(width: 16),
Text(t.bookmarks.archived),
],
),
),
PopupMenuItem(
onTap: () => ref.read(routerProvider).push(RoutesPaths.sharedBookmarks),
child: Row(
children: [
const Icon(Icons.share_rounded),
const SizedBox(width: 16),
Text(t.bookmarks.shared),
],
),
),
],
),
const SizedBox(width: 8),
],
),