import 'package:flutter/material.dart'; import '../../../../common/theme/theme.dart'; class TransactionAppBar extends StatelessWidget { final Animation rotationAnimation; const TransactionAppBar({super.key, required this.rotationAnimation}); @override Widget build(BuildContext context) { return FlexibleSpaceBar( titlePadding: const EdgeInsets.only(left: 20, bottom: 16), title: Text( 'Transaksi', style: AppStyle.xl.copyWith( color: AppColor.textWhite, fontSize: 18, fontWeight: FontWeight.w600, ), ), background: Container( decoration: const BoxDecoration( gradient: LinearGradient( colors: AppColor.primaryGradient, begin: Alignment.topCenter, end: Alignment.bottomCenter, ), ), child: Stack( children: [ Positioned( right: -20, top: -20, child: AnimatedBuilder( animation: rotationAnimation, builder: (context, child) { return Transform.rotate( angle: rotationAnimation.value, child: Container( width: 100, height: 100, decoration: BoxDecoration( shape: BoxShape.circle, color: AppColor.white.withOpacity(0.1), ), ), ); }, ), ), Positioned( left: -30, bottom: -30, child: AnimatedBuilder( animation: rotationAnimation, builder: (context, child) { return Transform.rotate( angle: -rotationAnimation.value * 0.5, child: Container( width: 80, height: 80, decoration: BoxDecoration( shape: BoxShape.circle, color: AppColor.white.withOpacity(0.05), ), ), ); }, ), ), Positioned( right: 80, bottom: 30, child: AnimatedBuilder( animation: rotationAnimation, builder: (context, child) { return Transform.rotate( angle: -rotationAnimation.value * 0.2, child: Container( width: 40, height: 40, decoration: BoxDecoration( borderRadius: BorderRadius.circular(8), color: AppColor.white.withOpacity(0.08), ), ), ); }, ), ), ], ), ), ); } }