Skip to content

Commit 24c0896

Browse files
authored
Merge pull request #316 from Aditish51/AdtD1
Added feature to dropdowns in settings page
2 parents b87cb08 + 4548e1d commit 24c0896

File tree

1 file changed

+57
-28
lines changed

1 file changed

+57
-28
lines changed

lib/screens/settings_page.dart

Lines changed: 57 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -66,39 +66,68 @@ class SettingsPage extends ConsumerWidget {
6666
title: const Text('Default URI Scheme'),
6767
subtitle: Text(
6868
'$kDefaultUri → ${settings.defaultUriScheme}://$kDefaultUri'),
69-
trailing: DropdownMenu(
70-
onSelected: (value) {
71-
ref
72-
.read(settingsProvider.notifier)
73-
.update(defaultUriScheme: value);
74-
},
75-
initialSelection: settings.defaultUriScheme,
76-
dropdownMenuEntries: kSupportedUriSchemes
77-
.map<DropdownMenuEntry<String>>((value) {
78-
return DropdownMenuEntry<String>(
79-
value: value,
80-
label: value,
81-
);
82-
}).toList()),
69+
trailing: Container(
70+
decoration: BoxDecoration(
71+
border: Border.all(
72+
color: Theme.of(context).colorScheme.onSurface,
73+
),
74+
borderRadius: kBorderRadius8,
75+
),
76+
child: DropdownButtonHideUnderline(
77+
child: DropdownButton<String>(
78+
borderRadius: kBorderRadius8,
79+
onChanged: (value) {
80+
ref
81+
.read(settingsProvider.notifier)
82+
.update(defaultUriScheme: value);
83+
},
84+
value: settings.defaultUriScheme,
85+
items: kSupportedUriSchemes
86+
.map<DropdownMenuItem<String>>((String value) {
87+
return DropdownMenuItem<String>(
88+
value: value,
89+
child: Padding(
90+
padding: kP10,
91+
child: Text(value),
92+
),
93+
);
94+
}).toList(),
95+
),
96+
),
97+
),
8398
),
8499
ListTile(
85100
contentPadding: kPb10,
86101
hoverColor: kColorTransparent,
87102
title: const Text('Default Code Generator'),
88-
trailing: DropdownMenu(
89-
onSelected: (value) {
90-
ref
91-
.read(settingsProvider.notifier)
92-
.update(defaultCodeGenLang: value);
93-
},
94-
initialSelection: settings.defaultCodeGenLang,
95-
dropdownMenuEntries: CodegenLanguage.values
96-
.map<DropdownMenuEntry<CodegenLanguage>>((value) {
97-
return DropdownMenuEntry<CodegenLanguage>(
98-
value: value,
99-
label: value.label,
100-
);
101-
}).toList()),
103+
trailing: Container(
104+
decoration: BoxDecoration(
105+
border: Border.all(
106+
color: Theme.of(context).colorScheme.onSurface,
107+
),
108+
borderRadius: kBorderRadius8,
109+
),
110+
child: DropdownButtonHideUnderline(
111+
child: DropdownButton<CodegenLanguage>(
112+
borderRadius: kBorderRadius8,
113+
value: settings.defaultCodeGenLang,
114+
onChanged: (value) {
115+
ref
116+
.read(settingsProvider.notifier)
117+
.update(defaultCodeGenLang: value);
118+
},
119+
items: CodegenLanguage.values.map((value) {
120+
return DropdownMenuItem<CodegenLanguage>(
121+
value: value,
122+
child: Padding(
123+
padding: kP10,
124+
child: Text(value.label),
125+
),
126+
);
127+
}).toList(),
128+
),
129+
),
130+
),
102131
),
103132
CheckboxListTile(
104133
contentPadding: EdgeInsets.zero,

0 commit comments

Comments
 (0)