diff --git a/lib/screens/settings_page.dart b/lib/screens/settings_page.dart index fde7dce7..8bdf6580 100644 --- a/lib/screens/settings_page.dart +++ b/lib/screens/settings_page.dart @@ -66,39 +66,68 @@ class SettingsPage extends ConsumerWidget { title: const Text('Default URI Scheme'), subtitle: Text( '$kDefaultUri → ${settings.defaultUriScheme}://$kDefaultUri'), - trailing: DropdownMenu( - onSelected: (value) { - ref - .read(settingsProvider.notifier) - .update(defaultUriScheme: value); - }, - initialSelection: settings.defaultUriScheme, - dropdownMenuEntries: kSupportedUriSchemes - .map>((value) { - return DropdownMenuEntry( - value: value, - label: value, - ); - }).toList()), + trailing: Container( + decoration: BoxDecoration( + border: Border.all( + color: Theme.of(context).colorScheme.onSurface, + ), + borderRadius: kBorderRadius8, + ), + child: DropdownButtonHideUnderline( + child: DropdownButton( + borderRadius: kBorderRadius8, + onChanged: (value) { + ref + .read(settingsProvider.notifier) + .update(defaultUriScheme: value); + }, + value: settings.defaultUriScheme, + items: kSupportedUriSchemes + .map>((String value) { + return DropdownMenuItem( + value: value, + child: Padding( + padding: kP10, + child: Text(value), + ), + ); + }).toList(), + ), + ), + ), ), ListTile( contentPadding: kPb10, hoverColor: kColorTransparent, title: const Text('Default Code Generator'), - trailing: DropdownMenu( - onSelected: (value) { - ref - .read(settingsProvider.notifier) - .update(defaultCodeGenLang: value); - }, - initialSelection: settings.defaultCodeGenLang, - dropdownMenuEntries: CodegenLanguage.values - .map>((value) { - return DropdownMenuEntry( - value: value, - label: value.label, - ); - }).toList()), + trailing: Container( + decoration: BoxDecoration( + border: Border.all( + color: Theme.of(context).colorScheme.onSurface, + ), + borderRadius: kBorderRadius8, + ), + child: DropdownButtonHideUnderline( + child: DropdownButton( + borderRadius: kBorderRadius8, + value: settings.defaultCodeGenLang, + onChanged: (value) { + ref + .read(settingsProvider.notifier) + .update(defaultCodeGenLang: value); + }, + items: CodegenLanguage.values.map((value) { + return DropdownMenuItem( + value: value, + child: Padding( + padding: kP10, + child: Text(value.label), + ), + ); + }).toList(), + ), + ), + ), ), CheckboxListTile( contentPadding: EdgeInsets.zero,