Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions lib/ui/auth_flow/create_profile_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/svg.dart';
import 'package:gap/gap.dart';
import 'package:whitenoise/config/providers/account_provider.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/ui/core/ui/wn_button.dart';
import 'package:whitenoise/ui/core/ui/wn_text_form_field.dart';

Expand Down Expand Up @@ -94,11 +94,9 @@ class _CreateProfileScreenState extends ConsumerState<CreateProfileScreen> {
valueListenable: _displayNameController,
builder: (context, value, child) {
final displayText = value.text.trim();
final firstLetter =
displayText.isNotEmpty ? displayText[0].toUpperCase() : '';
return ContactAvatar(
return WnAvatar(
imageUrl: ref.watch(accountProvider).selectedImagePath ?? '',
displayName: firstLetter,
displayName: displayText,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change was a bit confusing to me, but it seems to be working fine!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can now pass the full string to WnAvatar. the naming here has changed because WnAvatar does the trimming.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the explanation @untreu2 🫶

size: 96.w,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related to size prop, but not for the scope of this PR... what do you think about WnButtonSize way of handling sizes?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd seen that in some places no size is needed (so default is used, in others is passed a size with .w and in others with .r

showBorder: ref.watch(accountProvider).selectedImagePath == null,
);
Expand Down
2 changes: 1 addition & 1 deletion lib/ui/chat/chat_info/chat_info_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ import 'package:whitenoise/domain/services/dm_chat_service.dart';
import 'package:whitenoise/src/rust/api/groups.dart';
import 'package:whitenoise/src/rust/api/utils.dart';
import 'package:whitenoise/ui/chat/chat_info/widgets/group_member_bottom_sheet.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/app_theme.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/ui/core/ui/wn_button.dart';
import 'package:whitenoise/utils/clipboard_utils.dart';
import 'package:whitenoise/utils/string_extensions.dart';
Expand Down
2 changes: 1 addition & 1 deletion lib/ui/chat/chat_info/dm_chat_info.dart
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ class _DMChatInfoState extends ConsumerState<DMChatInfo> {
child: Column(
children: [
Gap(64.h),
ContactAvatar(
WnAvatar(
imageUrl: dmChatData?.displayImage ?? '',
displayName: dmChatData?.displayName ?? 'Unknown',
size: 96.w,
Expand Down
4 changes: 2 additions & 2 deletions lib/ui/chat/chat_info/group_chat_info.dart
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ class _GroupChatInfoState extends ConsumerState<GroupChatInfo> {
child: Column(
children: [
Gap(64.h),
ContactAvatar(
WnAvatar(
imageUrl: '',
displayName: groupDetails?.name ?? 'Unknown Group',
size: 96.w,
Expand Down Expand Up @@ -231,7 +231,7 @@ class _GroupChatInfoState extends ConsumerState<GroupChatInfo> {
groupId: widget.groupId,
member: member,
),
leading: ContactAvatar(
leading: WnAvatar(
imageUrl: member.imagePath ?? '',
displayName: member.displayName,
size: 40.w,
Expand Down
4 changes: 2 additions & 2 deletions lib/ui/chat/chat_info/widgets/group_member_bottom_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import 'package:whitenoise/config/extensions/toast_extension.dart';
import 'package:whitenoise/config/providers/active_account_provider.dart';
import 'package:whitenoise/config/providers/group_provider.dart';
import 'package:whitenoise/domain/models/user_model.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/ui/core/ui/wn_bottom_sheet.dart';
import 'package:whitenoise/ui/core/ui/wn_button.dart';
import 'package:whitenoise/ui/core/ui/wn_dialog.dart';
Expand Down Expand Up @@ -199,7 +199,7 @@ class _GroupMemberBottomSheetState extends ConsumerState<GroupMemberBottomSheet>
mainAxisSize: MainAxisSize.min,
children: [
Gap(16.h),
ContactAvatar(
WnAvatar(
imageUrl: widget.member.imagePath ?? '',
displayName: widget.member.displayName,
size: 96.w,
Expand Down
4 changes: 2 additions & 2 deletions lib/ui/chat/chat_management/add_to_group_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import 'package:gap/gap.dart';
import 'package:whitenoise/config/extensions/toast_extension.dart';
import 'package:whitenoise/config/providers/group_provider.dart';
import 'package:whitenoise/src/rust/api/groups.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/app_theme.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/ui/core/ui/wn_bottom_fade.dart';
import 'package:whitenoise/ui/core/ui/wn_button.dart';

Expand Down Expand Up @@ -166,7 +166,7 @@ class _AddToGroupScreenState extends ConsumerState<AddToGroupScreen> {

return CheckboxListTile(
contentPadding: EdgeInsets.symmetric(horizontal: 16.w),
secondary: ContactAvatar(
secondary: WnAvatar(
imageUrl: '',
displayName: group.name,
size: 56.w,
Expand Down
6 changes: 3 additions & 3 deletions lib/ui/chat/invite/chat_invite_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import 'package:whitenoise/config/providers/toast_message_provider.dart';
import 'package:whitenoise/config/providers/welcomes_provider.dart';
import 'package:whitenoise/src/rust/api/utils.dart';
import 'package:whitenoise/src/rust/api/welcomes.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/chat/widgets/contact_info.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_app_bar.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/ui/core/ui/wn_button.dart';
import 'package:whitenoise/utils/string_extensions.dart';

Expand Down Expand Up @@ -161,7 +161,7 @@ class GroupInviteHeader extends StatelessWidget {
child: Column(
children: [
Gap(32.h),
ContactAvatar(
WnAvatar(
imageUrl: '',
displayName: welcomeData.groupName,
size: 96.r,
Expand Down Expand Up @@ -261,7 +261,7 @@ class DMInviteHeader extends ConsumerWidget {
child: Column(
children: [
Gap(32.h),
ContactAvatar(
WnAvatar(
imageUrl: welcomerImageUrl,
displayName: welcomerName,
size: 96.r,
Expand Down
6 changes: 3 additions & 3 deletions lib/ui/chat/widgets/chat_header_widget.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ import 'package:whitenoise/domain/models/dm_chat_data.dart';
import 'package:whitenoise/domain/services/dm_chat_service.dart';
import 'package:whitenoise/src/rust/api/groups.dart';
import 'package:whitenoise/src/rust/api/utils.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/utils/string_extensions.dart';

class ChatContactHeader extends ConsumerWidget {
Expand Down Expand Up @@ -64,7 +64,7 @@ class _GroupChatHeaderState extends ConsumerState<GroupChatHeader> {
child: Column(
children: [
Gap(32.h),
ContactAvatar(
WnAvatar(
imageUrl: '',
displayName: widget.groupData.name,
size: 96.r,
Expand Down Expand Up @@ -161,7 +161,7 @@ class _DirectMessageHeaderState extends ConsumerState<DirectMessageHeader> {
child: Column(
children: [
Gap(32.h),
ContactAvatar(
WnAvatar(
imageUrl: otherUser.displayImage ?? '',
displayName: otherUser.displayName,
size: 96.r,
Expand Down
4 changes: 2 additions & 2 deletions lib/ui/chat/widgets/contact_info.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/src/app_theme.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';

class ContactInfo extends StatelessWidget {
final String? image;
Expand Down Expand Up @@ -53,7 +53,7 @@ class ContactInfo extends StatelessWidget {
onTap: onTap,
child: Row(
children: [
ContactAvatar(
WnAvatar(
imageUrl: image!,
displayName: title!,
size: 36.r,
Expand Down
11 changes: 5 additions & 6 deletions lib/ui/contact_list/chat_list_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ import 'package:whitenoise/src/rust/api/welcomes.dart';
import 'package:whitenoise/ui/contact_list/new_chat_bottom_sheet.dart';
import 'package:whitenoise/ui/contact_list/services/welcome_notification_service.dart';
import 'package:whitenoise/ui/contact_list/widgets/chat_list_item_tile.dart';
import 'package:whitenoise/ui/contact_list/widgets/profile_avatar.dart';
import 'package:whitenoise/ui/contact_list/widgets/profile_ready_card.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_app_bar.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/ui/core/ui/wn_bottom_fade.dart';
import 'package:whitenoise/ui/core/ui/wn_heads_up.dart';
import 'package:whitenoise/ui/core/ui/wn_text_form_field.dart';
Expand Down Expand Up @@ -181,8 +181,6 @@ class _ChatListScreenState extends ConsumerState<ChatListScreen> with TickerProv
// Cache profile data to avoid unnecessary rebuilds
final profileData = ref.watch(profileProvider);
final currentDisplayName = profileData.valueOrNull?.displayName ?? '';
final userFirstLetter =
currentDisplayName.isNotEmpty == true ? currentDisplayName[0].toUpperCase() : '';
final profileImagePath = profileData.valueOrNull?.picture ?? '';

final chatItems = <ChatListItem>[];
Expand Down Expand Up @@ -252,9 +250,10 @@ class _ChatListScreenState extends ConsumerState<ChatListScreen> with TickerProv
}
context.push(Routes.settings);
},
child: ProfileAvatar(
profileImageUrl: profileImagePath,
userFirstLetter: userFirstLetter,
child: WnAvatar(
imageUrl: profileImagePath,
displayName: currentDisplayName,
size: 36.r,
),
),
),
Expand Down
8 changes: 4 additions & 4 deletions lib/ui/contact_list/group_welcome_invitation_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import 'package:whitenoise/config/providers/active_account_provider.dart';
import 'package:whitenoise/src/rust/api/accounts.dart';
import 'package:whitenoise/src/rust/api/utils.dart';
import 'package:whitenoise/src/rust/api/welcomes.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/ui/core/ui/wn_bottom_sheet.dart';
import 'package:whitenoise/ui/core/ui/wn_button.dart';
import 'package:whitenoise/utils/string_extensions.dart';
Expand Down Expand Up @@ -59,7 +59,7 @@ class GroupWelcomeInvitationSheet extends StatelessWidget {
if (isDirectMessage)
DirectMessageAvatar(welcomeData: welcomeData)
else
ContactAvatar(
WnAvatar(
imageUrl: '',
size: 96.w,
),
Expand Down Expand Up @@ -190,7 +190,7 @@ class _GroupMessageInviteState extends ConsumerState<GroupMessageInvite> {
snapshot.data?.displayName ?? snapshot.data?.name ?? 'Unknown User';
return Row(
children: [
ContactAvatar(
WnAvatar(
imageUrl: snapshot.data?.picture ?? '',
size: 18.w,
),
Expand Down Expand Up @@ -268,7 +268,7 @@ class _DirectMessageAvatarState extends ConsumerState<DirectMessageAvatar> {
final metadata = snapshot.data;
final profileImageUrl = metadata?.picture ?? '';

return ContactAvatar(
return WnAvatar(
imageUrl: profileImageUrl,
size: 96.w,
);
Expand Down
5 changes: 2 additions & 3 deletions lib/ui/contact_list/widgets/chat_list_item_tile.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:gap/gap.dart';

import 'package:whitenoise/config/providers/group_provider.dart';
import 'package:whitenoise/config/providers/nostr_keys_provider.dart';
import 'package:whitenoise/domain/models/chat_list_item.dart';
Expand All @@ -10,10 +9,10 @@ import 'package:whitenoise/domain/models/message_model.dart';
import 'package:whitenoise/domain/services/dm_chat_service.dart';
import 'package:whitenoise/routing/routes.dart';
import 'package:whitenoise/src/rust/api/groups.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/contact_list/widgets/message_read_status.dart';
import 'package:whitenoise/ui/contact_list/widgets/welcome_tile.dart';
import 'package:whitenoise/ui/core/themes/src/app_theme.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/utils/string_extensions.dart';
import 'package:whitenoise/utils/timeago_formatter.dart';

Expand Down Expand Up @@ -93,7 +92,7 @@ class ChatListItemTile extends ConsumerWidget {
padding: EdgeInsets.only(left: 8.w, right: 16.w, top: 8.h, bottom: 8.h),
child: Row(
children: [
ContactAvatar(
WnAvatar(
imageUrl: displayImageUrl,
displayName: displayName,
size: 56.r,
Expand Down
4 changes: 2 additions & 2 deletions lib/ui/contact_list/widgets/contact_list_tile.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import 'package:gap/gap.dart';
import 'package:whitenoise/domain/models/contact_model.dart';
import 'package:whitenoise/src/rust/api/accounts.dart';
import 'package:whitenoise/src/rust/api/utils.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/utils/string_extensions.dart';

class ContactListTile extends StatelessWidget {
Expand Down Expand Up @@ -52,7 +52,7 @@ class ContactListTile extends StatelessWidget {
padding: EdgeInsets.symmetric(vertical: 8.h),
child: Row(
children: [
ContactAvatar(
WnAvatar(
imageUrl: contactImagePath,
displayName: contact.displayName,
size: 56.w,
Expand Down
70 changes: 0 additions & 70 deletions lib/ui/contact_list/widgets/profile_avatar.dart

This file was deleted.

4 changes: 2 additions & 2 deletions lib/ui/contact_list/widgets/user_profile.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:gap/gap.dart';
import 'package:whitenoise/ui/chat/widgets/chat_contact_avatar.dart';
import 'package:whitenoise/ui/core/themes/assets.dart';
import 'package:whitenoise/ui/core/themes/src/extensions.dart';
import 'package:whitenoise/ui/core/ui/wn_avatar.dart';
import 'package:whitenoise/utils/clipboard_utils.dart';
import 'package:whitenoise/utils/string_extensions.dart';

Expand Down Expand Up @@ -37,7 +37,7 @@ class UserProfile extends StatelessWidget {
Widget build(BuildContext context) {
return Column(
children: [
ContactAvatar(
WnAvatar(
imageUrl: imageUrl,
displayName: name,
size: 96.r,
Expand Down
Loading