mirror of
https://github.com/block/buzz.git
synced 2026-10-27 04:30:52 +00:00
## Summary Move Invite, Appearance, and Remove community into a **Community settings** section in the community-avatar sheet, above the existing switcher. Keep the sheet untitled and use circle-minus for removal. Personal Settings groups **Set status** and **Copy public key (npub)** above an untitled card containing **Display name**, **Profile description**, and **Edit photo**. Remove the leading icons from status, public key, and Send identity to desktop; keep the latter in its own untitled card. Remove the avatar status badge and top Edit action, and rename the Theme page to **Appearance**. Opening the presence chip triggers selection haptics; copying plays native iOS success feedback and confirms with “Public key (npub) copied.” ### Testing - Mobile formatting, analysis, and file-size checks passed. - 111 affected widget tests passed; all 48 settings tests passed again after the final labels and icon changes. - Final release build installed and launched on a physical iPhone in the separate Buzz Community preview, retaining its existing test account. - Full repository `just ci` was blocked by local disk exhaustion during Rust compilation. The full mobile suite passed (2,609 passed, four skipped), plus three push-unconfigured tests. The presence and copy feedback passed focused widget tests and analysis, including native iOS success-channel coverage. ### Snapshots Light and dark Flutter widget renders with fixture data. Images are GitHub attachments, not committed to the repository. The personal-settings snapshots precede the final “(npub)” label clarification. | Surface | Light | Dark | | --- | --- | --- | | Community sheet | <img src="https://github.com/user-attachments/assets/d52a192e-bd40-4263-ac2d-05d589c7ebf2" width="280" alt="Community sheet, light"> | <img src="https://github.com/user-attachments/assets/8756ebe9-b6d4-4920-8fb7-1cb7ee8ef778" width="280" alt="Community sheet, dark"> | | Personal settings | <img src="https://github.com/user-attachments/assets/962b98bd-e4cf-4cd1-8948-69b349390ceb" width="280" alt="Personal settings, light"> | <img src="https://github.com/user-attachments/assets/223bb0a8-e10e-43b1-83ea-e0955af4627a" width="280" alt="Personal settings, dark"> | | Appearance | <img src="https://github.com/user-attachments/assets/334ba797-55cb-47ce-b677-0befafb7659b" width="280" alt="Appearance, light"> | <img src="https://github.com/user-attachments/assets/79b62503-d476-4dbc-8c75-8cee0ee37e98" width="280" alt="Appearance, dark"> | --------- Signed-off-by: kenny lopez <klopez4212@gmail.com>
52 lines
1.5 KiB
Dart
52 lines
1.5 KiB
Dart
part of '../settings_page.dart';
|
|
|
|
class _ProfileSection extends StatelessWidget {
|
|
const _ProfileSection({
|
|
required this.profileEditPageBuilder,
|
|
this.onEditDisplayName,
|
|
this.onEditProfileDescription,
|
|
});
|
|
|
|
final WidgetBuilder profileEditPageBuilder;
|
|
final Future<void> Function(BuildContext context)? onEditDisplayName;
|
|
final Future<void> Function(BuildContext context)? onEditProfileDescription;
|
|
|
|
@override
|
|
Widget build(BuildContext context) => AppListCard(
|
|
key: const ValueKey('edit-profile-options'),
|
|
dividerIndent: Grid.xs,
|
|
verticalPadding: Grid.twelve,
|
|
children: [
|
|
AppListRow(
|
|
key: const ValueKey('edit-profile-display-name'),
|
|
title: 'Display name',
|
|
trailing: const _RowChevron(),
|
|
onTap: () {
|
|
unawaited(HapticFeedback.selectionClick());
|
|
unawaited(onEditDisplayName?.call(context));
|
|
},
|
|
),
|
|
AppListRow(
|
|
key: const ValueKey('edit-profile-description'),
|
|
title: 'Profile description',
|
|
trailing: const _RowChevron(),
|
|
onTap: () {
|
|
unawaited(HapticFeedback.selectionClick());
|
|
unawaited(onEditProfileDescription?.call(context));
|
|
},
|
|
),
|
|
AppListRow(
|
|
key: const ValueKey('edit-profile-photo'),
|
|
title: 'Edit photo',
|
|
trailing: const _RowChevron(),
|
|
onTap: () {
|
|
unawaited(HapticFeedback.selectionClick());
|
|
Navigator.of(
|
|
context,
|
|
).push(immediatePageRoute<void>(builder: profileEditPageBuilder));
|
|
},
|
|
),
|
|
],
|
|
);
|
|
}
|