diff --git a/lib/screens/channels_screen.dart b/lib/screens/channels_screen.dart index a120a0d..30a99f0 100644 --- a/lib/screens/channels_screen.dart +++ b/lib/screens/channels_screen.dart @@ -900,41 +900,42 @@ class _ChannelsScreenState extends State children: [ // Only show type selection if user has communities if (_communities.isNotEmpty) ...[ - RadioListTile( - value: true, + RadioGroup( groupValue: isRegularHashtag, onChanged: (v) => setDialogState(() { - isRegularHashtag = v!; + if (v == null) return; + isRegularHashtag = v; if (isRegularHashtag) { selectedCommunity = null; - } - }), - title: Text( - dialogContext.l10n.community_regularHashtag, - ), - subtitle: Text( - dialogContext.l10n.community_regularHashtagDesc, - ), - dense: true, - ), - RadioListTile( - value: false, - groupValue: isRegularHashtag, - onChanged: (v) => setDialogState(() { - isRegularHashtag = v!; - if (!isRegularHashtag && - selectedCommunity == null && + } else if (selectedCommunity == null && _communities.isNotEmpty) { selectedCommunity = _communities.first; } }), - title: Text( - dialogContext.l10n.community_communityHashtag, + child: Column( + children: [ + RadioListTile( + value: true, + title: Text( + dialogContext.l10n.community_regularHashtag, + ), + subtitle: Text( + dialogContext.l10n.community_regularHashtagDesc, + ), + dense: true, + ), + RadioListTile( + value: false, + title: Text( + dialogContext.l10n.community_communityHashtag, + ), + subtitle: Text( + dialogContext.l10n.community_communityHashtagDesc, + ), + dense: true, + ), + ], ), - subtitle: Text( - dialogContext.l10n.community_communityHashtagDesc, - ), - dense: true, ), ], // Community dropdown (only if community hashtag selected)