Files
umbrix/lib/features/profiles/view/profiles_modal.dart

39 lines
1.1 KiB
Dart
Raw Normal View History

2023-07-06 17:18:41 +03:30
import 'package:flutter/material.dart';
2023-07-24 19:45:58 +03:30
import 'package:hiddify/features/common/common.dart';
2023-07-06 17:18:41 +03:30
import 'package:hiddify/features/profiles/notifier/notifier.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
class ProfilesModal extends HookConsumerWidget {
const ProfilesModal({
super.key,
this.scrollController,
});
final ScrollController? scrollController;
@override
Widget build(BuildContext context, WidgetRef ref) {
final asyncProfiles = ref.watch(profilesNotifierProvider);
return Scaffold(
backgroundColor: Colors.transparent,
body: CustomScrollView(
controller: scrollController,
slivers: [
switch (asyncProfiles) {
AsyncData(value: final profiles) => SliverList.builder(
itemBuilder: (context, index) {
final profile = profiles[index];
2023-07-24 19:45:58 +03:30
return ProfileTile(profile: profile);
2023-07-06 17:18:41 +03:30
},
itemCount: profiles.length,
),
// TODO: handle loading and error
_ => const SliverToBoxAdapter(),
},
],
),
);
}
}