mirror of
https://github.com/foss42/apidash.git
synced 2025-06-17 11:54:51 +08:00
fix: review changes
This commit is contained in:
37
lib/screens/common_widgets/environment_dropdown.dart
Normal file
37
lib/screens/common_widgets/environment_dropdown.dart
Normal file
@ -0,0 +1,37 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:apidash/providers/providers.dart';
|
||||
import 'package:apidash/widgets/widgets.dart';
|
||||
import 'package:apidash/consts.dart';
|
||||
|
||||
class EnvironmentDropdown extends ConsumerWidget {
|
||||
const EnvironmentDropdown({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context, WidgetRef ref) {
|
||||
final environments = ref.watch(environmentsStateNotifierProvider);
|
||||
final environmentsList = environments?.values.toList();
|
||||
environmentsList
|
||||
?.removeWhere((element) => element.id == kGlobalEnvironmentId);
|
||||
final activeEnvironment = ref.watch(activeEnvironmentIdStateProvider);
|
||||
return Container(
|
||||
decoration: BoxDecoration(
|
||||
border: Border.all(
|
||||
color: Theme.of(context).colorScheme.outlineVariant,
|
||||
),
|
||||
borderRadius: kBorderRadius8,
|
||||
),
|
||||
child: EnvironmentPopupMenu(
|
||||
activeEnvironment: environments?[activeEnvironment],
|
||||
environments: environmentsList,
|
||||
onChanged: (value) {
|
||||
ref.read(activeEnvironmentIdStateProvider.notifier).state =
|
||||
value?.id;
|
||||
ref
|
||||
.read(settingsProvider.notifier)
|
||||
.update(activeEnvironmentId: value?.id);
|
||||
ref.read(hasUnsavedChangesProvider.notifier).state = true;
|
||||
},
|
||||
));
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user