45 lines
1.2 KiB
Dart
45 lines
1.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import '../theme/app_theme.dart';
|
|
|
|
|
|
class PageBackground extends StatelessWidget {
|
|
const PageBackground({super.key});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final tokens = context.appTokens;
|
|
final scheme = Theme.of(context).colorScheme;
|
|
final glow = scheme.brightness == Brightness.dark
|
|
? Colors.transparent
|
|
: scheme.primary.withValues(alpha: 0.05);
|
|
|
|
return RepaintBoundary(
|
|
child: Stack(
|
|
fit: StackFit.expand,
|
|
children: [
|
|
DecoratedBox(
|
|
decoration: BoxDecoration(
|
|
gradient: LinearGradient(
|
|
begin: Alignment.topCenter,
|
|
end: Alignment.bottomCenter,
|
|
colors: [tokens.pageGradientTop, tokens.pageGradientBottom],
|
|
),
|
|
),
|
|
),
|
|
DecoratedBox(
|
|
decoration: BoxDecoration(
|
|
gradient: RadialGradient(
|
|
center: const Alignment(0, -0.85),
|
|
radius: 1.2,
|
|
colors: [glow, Colors.transparent],
|
|
stops: const [0.0, 1.0],
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|