mirror of
https://github.com/block/buzz.git
synced 2026-10-31 06:21:34 +00:00
## Summary - invert mobile utility surfaces so pages and sheets use the softer page background with raised containers - rebuild the community theme picker around swipeable Home/Chat previews, accent and appearance controls, and native iOS glass interactions - align shared sheet/profile spacing and radii, and move Theme into the Community settings card ### Related issue None found. ### Testing - `just mobile-check` - `just mobile-test` (1,871 tests) - signed iOS Release build installed on a physical iPhone --------- Signed-off-by: kenny lopez <klopez4212@gmail.com> Signed-off-by: Kenny Lopez <klopez4212@gmail.com> Signed-off-by: Princess Donut <b238ea756dee4d98afa5883fc7f1de61eeabe65bf700e3a5a5a80db5e42e2c2b@buzz.block.builderlab.xyz> Co-authored-by: Princess Donut <b238ea756dee4d98afa5883fc7f1de61eeabe65bf700e3a5a5a80db5e42e2c2b@buzz.block.builderlab.xyz>
42 lines
1.3 KiB
Dart
42 lines
1.3 KiB
Dart
part of '../settings_page.dart';
|
|
|
|
class _CommunitySection extends ConsumerWidget {
|
|
const _CommunitySection({required this.invitePageBuilder});
|
|
|
|
final WidgetBuilder invitePageBuilder;
|
|
|
|
@override
|
|
Widget build(BuildContext context, WidgetRef ref) {
|
|
final roleAsync = ref.watch(currentCommunityRoleProvider);
|
|
final canInvite =
|
|
roleAsync.hasError || canManageCommunityInvites(roleAsync.value);
|
|
final preference = ref.watch(communityThemeProvider);
|
|
|
|
return AppListCard(
|
|
label: 'Community',
|
|
verticalPadding: Grid.twelve,
|
|
children: [
|
|
if (canInvite)
|
|
AppListRow(
|
|
icon: LucideIcons.userPlus,
|
|
title: 'Invite to community',
|
|
trailing: const _RowChevron(),
|
|
onTap: () => Navigator.of(
|
|
context,
|
|
).push(MaterialPageRoute<void>(builder: invitePageBuilder)),
|
|
),
|
|
AppListRow(
|
|
key: const ValueKey('community-theme-row'),
|
|
icon: LucideIcons.palette,
|
|
title: 'Theme',
|
|
value: themeSelectionLabel(preference.theme, preference.mode),
|
|
trailing: const _RowChevron(),
|
|
onTap: () => Navigator.of(context).push(
|
|
MaterialPageRoute<void>(builder: (_) => const ThemePickerPage()),
|
|
),
|
|
),
|
|
],
|
|
);
|
|
}
|
|
}
|