Files
buzz/mobile/lib/features/pairing/pairing_page/onboarding_background.dart
klopez4212 871a3b3772 Refine mobile community switching and discovery (#2967)
## Summary

- Redesign community switching with relay-provided avatars,
selected-state checks, edit-to-remove controls, and confirmation.
- Bring desktop-inspired pairing onboarding to mobile with QR scanning
as the primary action, an expandable pairing-code flow, and a tappable
flapping bee.
- Polish Search and Activity headers, filter chips, typography, keyboard
stability, and Android adaptive-icon sizing.

## Validation

- `just mobile-check`
- `just mobile-test` — 661 passed, 1 skipped
- Pixel 10 snapshot review
2026-07-26 15:05:57 -07:00

42 lines
1.1 KiB
Dart

part of '../pairing_page.dart';
class _OnboardingBackground extends StatelessWidget {
final Widget child;
const _OnboardingBackground({required this.child});
@override
Widget build(BuildContext context) {
return DecoratedBox(
key: const Key('pairing-onboarding-background'),
decoration: const BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [_onboardingChartreuse, _onboardingShellBottom],
),
),
child: CustomPaint(painter: const _DotGridPainter(), child: child),
);
}
}
class _DotGridPainter extends CustomPainter {
const _DotGridPainter();
@override
void paint(Canvas canvas, Size size) {
final dotPaint = Paint()..color = _onboardingInk.withValues(alpha: 0.08);
const spacing = 24.0;
for (var x = 0.0; x <= size.width; x += spacing) {
for (var y = 0.0; y <= size.height; y += spacing) {
canvas.drawCircle(Offset(x, y), 1, dotPaint);
}
}
}
@override
bool shouldRepaint(_DotGridPainter oldDelegate) => false;
}