45 lines
1.5 KiB
Dart
45 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
class PageBackgroundWidget extends StatelessWidget {
|
|
final Widget child;
|
|
final String? page;
|
|
final double? height;
|
|
|
|
const PageBackgroundWidget({super.key, required this.child, this.page, this.height});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return SingleChildScrollView(
|
|
scrollDirection: Axis.vertical,
|
|
child: Container(
|
|
alignment: Alignment.center,
|
|
height: height ?? MediaQuery.of(context).size.height + 200,
|
|
decoration: BoxDecoration(
|
|
image: DecorationImage(
|
|
image: AssetImage(
|
|
page == 'login'
|
|
? 'assets/login_background.webp'
|
|
: page == 'register'
|
|
? 'assets/register_background.webp'
|
|
: page == 'menu'
|
|
? 'assets/menu_background.webp'
|
|
: 'assets/background.webp',
|
|
),
|
|
fit: BoxFit.cover, // Ensures the background covers the entire container
|
|
alignment: Alignment.center,
|
|
opacity: 0.3, // Adjusts the opacity as needed
|
|
),
|
|
gradient: const RadialGradient(
|
|
tileMode: TileMode.clamp,
|
|
colors: [
|
|
Color.fromRGBO(26, 8, 25, 1),
|
|
Color.fromRGBO(60, 22, 57, 1),
|
|
],
|
|
),
|
|
),
|
|
child: Center(
|
|
child: child,
|
|
)),
|
|
);
|
|
}
|
|
}
|