diff --git a/lib/components/privacy.dart b/lib/components/privacy.dart index d71c766..2fc4632 100644 --- a/lib/components/privacy.dart +++ b/lib/components/privacy.dart @@ -81,7 +81,6 @@ class _PrivacyControlsState extends State { } void _updatePrivacyControl(PrivacyControl control, bool value) { - value = !value; if (widget.onChanged != null) { widget.onChanged!(control, value); } @@ -99,6 +98,8 @@ class _PrivacyControlsState extends State { return SizedBox( width: 410, child: Card( + elevation: 0, + color: Theme.of(context).colorScheme.surfaceContainer, clipBehavior: Clip.hardEdge, child: ListTile( contentPadding: @@ -106,10 +107,14 @@ class _PrivacyControlsState extends State { leading: Icon(icon), title: Text(name), subtitle: Text(description), - onTap: () => onPressed(value), // Remove ! from !value + onTap: () { + onPressed(!value); + }, // Remove ! from !value trailing: Switch( value: value, - onChanged: (value) => onPressed(!value), + onChanged: (value) { + onPressed(value); + }, ))), ); } diff --git a/lib/components/userPreview.dart b/lib/components/userPreview.dart index be2a4a9..6f2989e 100644 --- a/lib/components/userPreview.dart +++ b/lib/components/userPreview.dart @@ -4,9 +4,9 @@ import 'package:flutter_advanced_avatar/flutter_advanced_avatar.dart'; import 'package:pocketbase/pocketbase.dart'; import 'package:provider/provider.dart'; -String getUsernameFromUser(RecordModel user){ +String getUsernameFromUser(RecordModel user, {bool? forceRandomUsername}){ final hideUsername = user.getBoolValue("hideUsernameInCommunity", false); - if(hideUsername){ + if(forceRandomUsername == true || (hideUsername && forceRandomUsername == null)){ return "User ${user.id}"; } else { return user.getStringValue("username", "User ${user.id}"); @@ -31,7 +31,7 @@ class UserPreview extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ AdvancedAvatar( - name: getUsernameFromUser(pb.authStore.model!), + name: getUsernameFromUser(pb.authStore.model!, forceRandomUsername: forceRandomUsername), style: theme.textTheme.titleMedium ?.copyWith(color: theme.colorScheme.onPrimary), decoration: BoxDecoration( @@ -47,7 +47,7 @@ class UserPreview extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - trimString(getUsernameFromUser(pb.authStore.model!), 15), + trimString(getUsernameFromUser(pb.authStore.model!, forceRandomUsername: forceRandomUsername), 15), style: theme.textTheme.headlineSmall, textAlign: TextAlign.center, ), diff --git a/lib/routes/community.dart b/lib/routes/community.dart index f5e6cd4..bd5fad3 100644 --- a/lib/routes/community.dart +++ b/lib/routes/community.dart @@ -104,9 +104,13 @@ class _CommunityPageState extends State { PrivacyControls( onChanged: (control, value){ if(control == PrivacyControl.hideUsernameInCommunity){ + print("Hide username in community changed to $value"); setState(() { hideUsername = value; }); + setState(() { + + }); } }, ),