Added mark as unread by default option
This commit is contained in:
@@ -7,4 +7,5 @@ class SharedPreferencesKeys {
|
|||||||
static const showFavicon = "showFavicon";
|
static const showFavicon = "showFavicon";
|
||||||
static const openLinksBrowser = "openLinksBrowser";
|
static const openLinksBrowser = "openLinksBrowser";
|
||||||
static const defaultTags = "defaultTags";
|
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",
|
"addTag": "Add tag",
|
||||||
"removeThisTag": "Remove this tag",
|
"removeThisTag": "Remove this tag",
|
||||||
"noDefaultTags": "There are no default tags"
|
"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": {
|
"webview": {
|
||||||
|
|||||||
@@ -214,7 +214,10 @@
|
|||||||
"addTag": "Añadir etiqueta",
|
"addTag": "Añadir etiqueta",
|
||||||
"removeThisTag": "Eliminar esta etiqueta",
|
"removeThisTag": "Eliminar esta etiqueta",
|
||||||
"noDefaultTags": "No hay etiquetas por defecto"
|
"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": {
|
"webview": {
|
||||||
|
|||||||
@@ -214,7 +214,10 @@
|
|||||||
"addTag": "AddTag",
|
"addTag": "AddTag",
|
||||||
"removeThisTag": "Remove this tag",
|
"removeThisTag": "Remove this tag",
|
||||||
"noDefaultTags": "There are no default tags"
|
"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": {
|
"webview": {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ class AppStatusModel {
|
|||||||
OpenLinksBrowser openLinksBrowser;
|
OpenLinksBrowser openLinksBrowser;
|
||||||
bool showFavicon;
|
bool showFavicon;
|
||||||
List<String> defaultTags;
|
List<String> defaultTags;
|
||||||
|
bool markAsUnreadDefault;
|
||||||
|
|
||||||
AppStatusModel({
|
AppStatusModel({
|
||||||
this.selectedTheme = SelectedTheme.system,
|
this.selectedTheme = SelectedTheme.system,
|
||||||
@@ -17,5 +18,6 @@ class AppStatusModel {
|
|||||||
this.openLinksBrowser = OpenLinksBrowser.integrated,
|
this.openLinksBrowser = OpenLinksBrowser.integrated,
|
||||||
this.showFavicon = true,
|
this.showFavicon = true,
|
||||||
required this.defaultTags,
|
required this.defaultTags,
|
||||||
|
this.markAsUnreadDefault = false,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ class AppStatus extends _$AppStatus {
|
|||||||
OpenLinksBrowser.integrated,
|
OpenLinksBrowser.integrated,
|
||||||
showFavicon: sharedPreferences.getBool(SharedPreferencesKeys.showFavicon) ?? true,
|
showFavicon: sharedPreferences.getBool(SharedPreferencesKeys.showFavicon) ?? true,
|
||||||
defaultTags: sharedPreferences.getStringList(SharedPreferencesKeys.defaultTags) ?? [],
|
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.read(sharedPreferencesProvider).setStringList(SharedPreferencesKeys.defaultTags, newTags);
|
||||||
ref.notifyListeners();
|
ref.notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setMarkAsUnreadDefault(bool value) {
|
||||||
|
state.markAsUnreadDefault = value;
|
||||||
|
ref.read(sharedPreferencesProvider).setBool(SharedPreferencesKeys.markAsUnreadDefault, value);
|
||||||
|
ref.notifyListeners();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@riverpod
|
@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/provider/bookmarks.provider.dart';
|
||||||
import 'package:linkdy/screens/bookmarks/model/bookmark_form.model.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/constants/global_keys.dart';
|
||||||
import 'package:linkdy/models/data/bookmarks.dart';
|
import 'package:linkdy/models/data/bookmarks.dart';
|
||||||
import 'package:linkdy/utils/snackbar.dart';
|
import 'package:linkdy/utils/snackbar.dart';
|
||||||
@@ -43,6 +44,7 @@ class BookmarkForm extends _$BookmarkForm {
|
|||||||
tagsController: TextEditingController(),
|
tagsController: TextEditingController(),
|
||||||
tags: [],
|
tags: [],
|
||||||
notesController: TextEditingController(),
|
notesController: TextEditingController(),
|
||||||
|
markAsUnread: ref.read(appStatusProvider).markAsUnreadDefault,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,7 +57,7 @@ class BookmarkForm extends _$BookmarkForm {
|
|||||||
state.descriptionController.text = bookmark.description ?? '';
|
state.descriptionController.text = bookmark.description ?? '';
|
||||||
state.tags = bookmark.tagNames ?? [];
|
state.tags = bookmark.tagNames ?? [];
|
||||||
state.notesController.text = bookmark.notes ?? '';
|
state.notesController.text = bookmark.notes ?? '';
|
||||||
state.markAsUnread = bookmark.unread ?? false;
|
state.markAsUnread = bookmark.unread ?? ref.read(appStatusProvider).markAsUnreadDefault;
|
||||||
state.share = bookmark.shared ?? false;
|
state.share = bookmark.shared ?? false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -97,7 +99,7 @@ class BookmarkForm extends _$BookmarkForm {
|
|||||||
state.descriptionController.text = result.content?.metadata?.description ?? "";
|
state.descriptionController.text = result.content?.metadata?.description ?? "";
|
||||||
state.tags = result.content?.bookmark?.tagNames ?? [];
|
state.tags = result.content?.bookmark?.tagNames ?? [];
|
||||||
state.notesController.text = result.content?.bookmark?.notes ?? "";
|
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.share = result.content?.bookmark?.shared ?? false;
|
||||||
state.bookmarkExists = true;
|
state.bookmarkExists = true;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -77,6 +77,13 @@ class GeneralSettings extends ConsumerWidget {
|
|||||||
subtitle: Text(t.settings.generalSettings.defaultTags.defaultTagsDescription),
|
subtitle: Text(t.settings.generalSettings.defaultTags.defaultTagsDescription),
|
||||||
onTap: () => ref.watch(routerProvider).push(RoutesPaths.defaultTags),
|
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(
|
const Padding(
|
||||||
padding: EdgeInsets.symmetric(vertical: 16),
|
padding: EdgeInsets.symmetric(vertical: 16),
|
||||||
child: Divider(),
|
child: Divider(),
|
||||||
|
|||||||
Reference in New Issue
Block a user