Added mark as unread by default option
This commit is contained in:
@@ -7,4 +7,5 @@ class SharedPreferencesKeys {
|
||||
static const showFavicon = "showFavicon";
|
||||
static const openLinksBrowser = "openLinksBrowser";
|
||||
static const defaultTags = "defaultTags";
|
||||
static const markAsUnreadDefault = "markAsUnreadDefault";
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -214,7 +214,10 @@
|
||||
"addTag": "Add tag",
|
||||
"removeThisTag": "Remove this tag",
|
||||
"noDefaultTags": "There are no default tags"
|
||||
}
|
||||
},
|
||||
"others": "Others",
|
||||
"setMarkAsUnreadDefault": "Set mark as unread by default",
|
||||
"setMarkAsUnreadDefaultDescription": "Set the mark as unread option by default when creating a new bookmark."
|
||||
}
|
||||
},
|
||||
"webview": {
|
||||
|
||||
@@ -214,7 +214,10 @@
|
||||
"addTag": "Añadir etiqueta",
|
||||
"removeThisTag": "Eliminar esta etiqueta",
|
||||
"noDefaultTags": "No hay etiquetas por defecto"
|
||||
}
|
||||
},
|
||||
"others": "Otros",
|
||||
"setMarkAsUnreadDefault": "Marcar como no leído por defecto",
|
||||
"setMarkAsUnreadDefaultDescription": "Habilitar por defecto la opción de marcar como leído al crear un marcador."
|
||||
}
|
||||
},
|
||||
"webview": {
|
||||
|
||||
@@ -214,7 +214,10 @@
|
||||
"addTag": "AddTag",
|
||||
"removeThisTag": "Remove this tag",
|
||||
"noDefaultTags": "There are no default tags"
|
||||
}
|
||||
},
|
||||
"others": "Others",
|
||||
"setMarkAsUnreadDefault": "Set mark as unread by default",
|
||||
"setMarkAsUnreadDefaultDescription": "Set the mark as unread option by default when creating a new bookmark."
|
||||
}
|
||||
},
|
||||
"webview": {
|
||||
|
||||
@@ -8,6 +8,7 @@ class AppStatusModel {
|
||||
OpenLinksBrowser openLinksBrowser;
|
||||
bool showFavicon;
|
||||
List<String> defaultTags;
|
||||
bool markAsUnreadDefault;
|
||||
|
||||
AppStatusModel({
|
||||
this.selectedTheme = SelectedTheme.system,
|
||||
@@ -17,5 +18,6 @@ class AppStatusModel {
|
||||
this.openLinksBrowser = OpenLinksBrowser.integrated,
|
||||
this.showFavicon = true,
|
||||
required this.defaultTags,
|
||||
this.markAsUnreadDefault = false,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ class AppStatus extends _$AppStatus {
|
||||
OpenLinksBrowser.integrated,
|
||||
showFavicon: sharedPreferences.getBool(SharedPreferencesKeys.showFavicon) ?? true,
|
||||
defaultTags: sharedPreferences.getStringList(SharedPreferencesKeys.defaultTags) ?? [],
|
||||
markAsUnreadDefault: sharedPreferences.getBool(SharedPreferencesKeys.markAsUnreadDefault) ?? false,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -74,6 +75,12 @@ class AppStatus extends _$AppStatus {
|
||||
ref.read(sharedPreferencesProvider).setStringList(SharedPreferencesKeys.defaultTags, newTags);
|
||||
ref.notifyListeners();
|
||||
}
|
||||
|
||||
void setMarkAsUnreadDefault(bool value) {
|
||||
state.markAsUnreadDefault = value;
|
||||
ref.read(sharedPreferencesProvider).setBool(SharedPreferencesKeys.markAsUnreadDefault, value);
|
||||
ref.notifyListeners();
|
||||
}
|
||||
}
|
||||
|
||||
@riverpod
|
||||
|
||||
@@ -4,6 +4,7 @@ import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:linkdy/screens/bookmarks/provider/bookmarks.provider.dart';
|
||||
import 'package:linkdy/screens/bookmarks/model/bookmark_form.model.dart';
|
||||
|
||||
import 'package:linkdy/providers/app_status.provider.dart';
|
||||
import 'package:linkdy/constants/global_keys.dart';
|
||||
import 'package:linkdy/models/data/bookmarks.dart';
|
||||
import 'package:linkdy/utils/snackbar.dart';
|
||||
@@ -43,6 +44,7 @@ class BookmarkForm extends _$BookmarkForm {
|
||||
tagsController: TextEditingController(),
|
||||
tags: [],
|
||||
notesController: TextEditingController(),
|
||||
markAsUnread: ref.read(appStatusProvider).markAsUnreadDefault,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -55,7 +57,7 @@ class BookmarkForm extends _$BookmarkForm {
|
||||
state.descriptionController.text = bookmark.description ?? '';
|
||||
state.tags = bookmark.tagNames ?? [];
|
||||
state.notesController.text = bookmark.notes ?? '';
|
||||
state.markAsUnread = bookmark.unread ?? false;
|
||||
state.markAsUnread = bookmark.unread ?? ref.read(appStatusProvider).markAsUnreadDefault;
|
||||
state.share = bookmark.shared ?? false;
|
||||
}
|
||||
|
||||
@@ -97,7 +99,7 @@ class BookmarkForm extends _$BookmarkForm {
|
||||
state.descriptionController.text = result.content?.metadata?.description ?? "";
|
||||
state.tags = result.content?.bookmark?.tagNames ?? [];
|
||||
state.notesController.text = result.content?.bookmark?.notes ?? "";
|
||||
state.markAsUnread = result.content?.bookmark?.unread ?? false;
|
||||
state.markAsUnread = result.content?.bookmark?.unread ?? ref.read(appStatusProvider).markAsUnreadDefault;
|
||||
state.share = result.content?.bookmark?.shared ?? false;
|
||||
state.bookmarkExists = true;
|
||||
} else {
|
||||
|
||||
@@ -77,6 +77,13 @@ class GeneralSettings extends ConsumerWidget {
|
||||
subtitle: Text(t.settings.generalSettings.defaultTags.defaultTagsDescription),
|
||||
onTap: () => ref.watch(routerProvider).push(RoutesPaths.defaultTags),
|
||||
),
|
||||
SectionLabel(label: t.settings.generalSettings.others),
|
||||
SwitchListTile(
|
||||
title: Text(t.settings.generalSettings.setMarkAsUnreadDefault),
|
||||
subtitle: Text(t.settings.generalSettings.setMarkAsUnreadDefaultDescription),
|
||||
value: ref.watch(appStatusProvider).markAsUnreadDefault,
|
||||
onChanged: ref.read(appStatusProvider.notifier).setMarkAsUnreadDefault,
|
||||
),
|
||||
const Padding(
|
||||
padding: EdgeInsets.symmetric(vertical: 16),
|
||||
child: Divider(),
|
||||
|
||||
Reference in New Issue
Block a user