Rise fabs when snackbar is shown

This commit is contained in:
Juan Gilsanz Polo
2024-02-26 11:15:38 +01:00
parent e127f00762
commit 8785334c25
23 changed files with 371 additions and 264 deletions

View File

@@ -4,8 +4,8 @@ import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:linkdy/screens/bookmarks/provider/bookmarks.provider.dart';
import 'package:linkdy/screens/bookmarks/model/add_link.model.dart';
import 'package:linkdy/providers/snackbar.provider.dart';
import 'package:linkdy/models/data/tags.dart';
import 'package:linkdy/utils/snackbar.dart';
import 'package:linkdy/i18n/strings.g.dart';
import 'package:linkdy/utils/process_modal.dart';
import 'package:linkdy/models/data/set_bookmark_data.dart';
@@ -101,10 +101,10 @@ class AddBookmark extends _$AddBookmark {
ref.read(bookmarksProvider.notifier).refresh();
ref.watch(routerProvider).pop();
} else {
showSnacbkar(
label: t.bookmarks.addBookmark.errorSavingBookmark,
color: Colors.red,
);
ref.read(snackbarProvider.notifier).showSnacbkar(
label: t.bookmarks.addBookmark.errorSavingBookmark,
color: Colors.red,
);
}
}

View File

@@ -175,7 +175,7 @@ final getTagsProvider =
);
typedef GetTagsRef = AutoDisposeFutureProviderRef<ApiResponse<TagsResponse>>;
String _$addBookmarkHash() => r'510fe4dbdc6628a13be9d8c5c2581fd5ac94ca68';
String _$addBookmarkHash() => r'd6425004c3e755ec539ad28da3ef44349680b04b';
/// See also [AddBookmark].
@ProviderFor(AddBookmark)

View File

@@ -89,7 +89,8 @@ class Bookmarks extends _$Bookmarks {
}
void deleteBookmark(Bookmark bookmark) async {
final result = await BookmarkCommonFunctions.deleteBookmark(
final result = await BookmarkCommonFunctions.deleteBookmark<BookmarksModel>(
ref: ref,
bookmark: bookmark,
apiClient: ref.read(apiClientProvider)!,
);
@@ -100,7 +101,8 @@ class Bookmarks extends _$Bookmarks {
}
void markAsReadUnread(Bookmark bookmark) async {
final result = await BookmarkCommonFunctions.markAsReadUnread(
final result = await BookmarkCommonFunctions.markAsReadUnread<BookmarksModel>(
ref: ref,
bookmark: bookmark,
apiClient: ref.read(apiClientProvider)!,
);
@@ -111,7 +113,8 @@ class Bookmarks extends _$Bookmarks {
}
void archiveUnarchive(Bookmark bookmark) async {
final result = await BookmarkCommonFunctions.markAsReadUnread(
final result = await BookmarkCommonFunctions.archiveUnarchive<BookmarksModel>(
ref: ref,
bookmark: bookmark,
apiClient: ref.read(apiClientProvider)!,
);

View File

@@ -172,7 +172,7 @@ final bookmarksRequestLoadMoreProvider =
);
typedef BookmarksRequestLoadMoreRef = AutoDisposeFutureProviderRef<void>;
String _$bookmarksHash() => r'82c31fa1cbab1ba1e5c77486e7dc7ce5a86e20a5';
String _$bookmarksHash() => r'71282b9487a2e9d4a17973af7fb3da7c0171f8d0';
/// See also [Bookmarks].
@ProviderFor(Bookmarks)

View File

@@ -1,14 +1,16 @@
import 'package:flutter/material.dart';
import 'package:linkdy/providers/snackbar.provider.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:linkdy/i18n/strings.g.dart';
import 'package:linkdy/models/data/bookmarks.dart';
import 'package:linkdy/models/data/set_bookmark_data.dart';
import 'package:linkdy/services/api_client.dart';
import 'package:linkdy/utils/process_modal.dart';
import 'package:linkdy/utils/snackbar.dart';
class BookmarkCommonFunctions {
static Future<bool> deleteBookmark({
static Future<bool> deleteBookmark<T>({
required AutoDisposeNotifierProviderRef<T> ref,
required Bookmark bookmark,
required ApiClientService apiClient,
}) async {
@@ -19,14 +21,19 @@ class BookmarkCommonFunctions {
processModal.close();
if (result.successful == true) {
showSnacbkar(label: t.bookmarks.bookmarkOptions.bookmarkDeleted, color: Colors.green);
ref
.read(snackbarProvider.notifier)
.showSnacbkar(label: t.bookmarks.bookmarkOptions.bookmarkDeleted, color: Colors.green);
} else {
showSnacbkar(label: t.bookmarks.bookmarkOptions.bookmarkNotDeleted, color: Colors.red);
ref
.read(snackbarProvider.notifier)
.showSnacbkar(label: t.bookmarks.bookmarkOptions.bookmarkNotDeleted, color: Colors.red);
}
return result.successful;
}
static Future<Bookmark?> markAsReadUnread({
static Future<Bookmark?> markAsReadUnread<T>({
required AutoDisposeNotifierProviderRef<T> ref,
required Bookmark bookmark,
required ApiClientService apiClient,
}) async {
@@ -50,25 +57,26 @@ class BookmarkCommonFunctions {
processModal.close();
if (result.successful == true) {
showSnacbkar(
label: bookmark.unread == true
? t.bookmarks.bookmarkOptions.markedAsReadSuccessfully
: t.bookmarks.bookmarkOptions.markedAsUnreadSuccessfully,
color: Colors.green,
);
ref.read(snackbarProvider.notifier).showSnacbkar(
label: bookmark.unread == true
? t.bookmarks.bookmarkOptions.markedAsReadSuccessfully
: t.bookmarks.bookmarkOptions.markedAsUnreadSuccessfully,
color: Colors.green,
);
return result.content;
} else {
showSnacbkar(
label: bookmark.unread == true
? t.bookmarks.bookmarkOptions.bookmarkNotMarkedAsRead
: t.bookmarks.bookmarkOptions.bookmarkNotMarkedAsUnread,
color: Colors.red,
);
ref.read(snackbarProvider.notifier).showSnacbkar(
label: bookmark.unread == true
? t.bookmarks.bookmarkOptions.bookmarkNotMarkedAsRead
: t.bookmarks.bookmarkOptions.bookmarkNotMarkedAsUnread,
color: Colors.red,
);
return null;
}
}
static Future<Bookmark?> archiveUnarchive({
static Future<Bookmark?> archiveUnarchive<T>({
required AutoDisposeNotifierProviderRef<T> ref,
required Bookmark bookmark,
required ApiClientService apiClient,
}) async {
@@ -94,20 +102,20 @@ class BookmarkCommonFunctions {
processModal.close();
if (result.successful == true) {
showSnacbkar(
label: bookmark.isArchived == true
? t.bookmarks.bookmarkOptions.bookmarkUnrchivedSuccessfully
: t.bookmarks.bookmarkOptions.bookmarkArchivedSuccessfully,
color: Colors.green,
);
ref.read(snackbarProvider.notifier).showSnacbkar(
label: bookmark.isArchived == true
? t.bookmarks.bookmarkOptions.bookmarkUnrchivedSuccessfully
: t.bookmarks.bookmarkOptions.bookmarkArchivedSuccessfully,
color: Colors.green,
);
return result.content;
} else {
showSnacbkar(
label: bookmark.isArchived == true
? t.bookmarks.bookmarkOptions.bookmarkNotUnrchived
: t.bookmarks.bookmarkOptions.bookmarkNotArchived,
color: Colors.red,
);
ref.read(snackbarProvider.notifier).showSnacbkar(
label: bookmark.isArchived == true
? t.bookmarks.bookmarkOptions.bookmarkNotUnrchived
: t.bookmarks.bookmarkOptions.bookmarkNotArchived,
color: Colors.red,
);
return null;
}
}

View File

@@ -99,7 +99,8 @@ class SearchBookmarks extends _$SearchBookmarks {
}
void deleteBookmark(Bookmark bookmark) async {
final result = await BookmarkCommonFunctions.deleteBookmark(
final result = await BookmarkCommonFunctions.deleteBookmark<SearchBookmarksModel>(
ref: ref,
bookmark: bookmark,
apiClient: ref.read(apiClientProvider)!,
);
@@ -113,7 +114,8 @@ class SearchBookmarks extends _$SearchBookmarks {
}
void markAsReadUnread(Bookmark bookmark) async {
final result = await BookmarkCommonFunctions.markAsReadUnread(
final result = await BookmarkCommonFunctions.markAsReadUnread<SearchBookmarksModel>(
ref: ref,
bookmark: bookmark,
apiClient: ref.read(apiClientProvider)!,
);
@@ -127,7 +129,8 @@ class SearchBookmarks extends _$SearchBookmarks {
}
void archiveUnarchive(Bookmark bookmark) async {
final result = await BookmarkCommonFunctions.markAsReadUnread(
final result = await BookmarkCommonFunctions.markAsReadUnread<SearchBookmarksModel>(
ref: ref,
bookmark: bookmark,
apiClient: ref.read(apiClientProvider)!,
);

View File

@@ -174,7 +174,7 @@ final fetchSearchBookmarksLoadMoreProvider =
);
typedef FetchSearchBookmarksLoadMoreRef = AutoDisposeFutureProviderRef<void>;
String _$searchBookmarksHash() => r'843fe597bceab3e3f512b5b4a40ddd1dbeb09f9d';
String _$searchBookmarksHash() => r'6e8eea2bf9c19b33f626e64ae74210d9b374065f';
/// See also [SearchBookmarks].
@ProviderFor(SearchBookmarks)