new: add json editor and editing configs <3

This commit is contained in:
hiddify-com
2024-07-30 08:07:46 +02:00
parent 503e48a830
commit 531ddbc2e2
10 changed files with 1524 additions and 136 deletions

View File

@@ -13,37 +13,26 @@ import 'package:riverpod_annotation/riverpod_annotation.dart';
part 'profiles_overview_notifier.g.dart';
@riverpod
class ProfilesOverviewSortNotifier extends _$ProfilesOverviewSortNotifier
with AppLogger {
class ProfilesOverviewSortNotifier extends _$ProfilesOverviewSortNotifier with AppLogger {
@override
({ProfilesSort by, SortMode mode}) build() {
return (by: ProfilesSort.lastUpdate, mode: SortMode.descending);
}
void changeSort(ProfilesSort sortBy) =>
state = (by: sortBy, mode: state.mode);
void changeSort(ProfilesSort sortBy) => state = (by: sortBy, mode: state.mode);
void toggleMode() => state = (
by: state.by,
mode: state.mode == SortMode.ascending
? SortMode.descending
: SortMode.ascending
);
void toggleMode() => state = (by: state.by, mode: state.mode == SortMode.ascending ? SortMode.descending : SortMode.ascending);
}
@riverpod
class ProfilesOverviewNotifier extends _$ProfilesOverviewNotifier
with AppLogger {
class ProfilesOverviewNotifier extends _$ProfilesOverviewNotifier with AppLogger {
@override
Stream<List<ProfileEntity>> build() {
final sort = ref.watch(profilesOverviewSortNotifierProvider);
return _profilesRepo
.watchAll(sort: sort.by, sortMode: sort.mode)
.map((event) => event.getOrElse((l) => throw l));
return _profilesRepo.watchAll(sort: sort.by, sortMode: sort.mode).map((event) => event.getOrElse((l) => throw l));
}
ProfileRepository get _profilesRepo =>
ref.read(profileRepositoryProvider).requireValue;
ProfileRepository get _profilesRepo => ref.read(profileRepositoryProvider).requireValue;
Future<Unit> selectActiveProfile(String id) async {
loggy.debug('changing active profile to: [$id]');