import 'package:flutter/material.dart'; import '../tema/pluriwave_theme.dart'; class PluriWaveScaffold extends StatelessWidget { const PluriWaveScaffold({ super.key, required this.body, this.appBar, this.bottomNavigationBar, this.floatingActionButton, }); final PreferredSizeWidget? appBar; final Widget body; final Widget? bottomNavigationBar; final Widget? floatingActionButton; @override Widget build(BuildContext context) { final t = context.pluriTokens; return Scaffold( backgroundColor: t.deepViolet, appBar: appBar, bottomNavigationBar: bottomNavigationBar, floatingActionButton: floatingActionButton, extendBody: true, body: DecoratedBox( decoration: BoxDecoration( gradient: LinearGradient( begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ const Color(0xFF070A18), t.deepViolet, const Color(0xFF151033), const Color(0xFF070A18), ], stops: const [0, 0.34, 0.68, 1], ), ), child: Stack( fit: StackFit.expand, children: [ Positioned( left: -120, top: -120, child: _AuroraOrb(size: 300, color: const Color(0xFF20E6FF).withValues(alpha: 0.32)), ), Positioned( right: -150, top: 160, child: _AuroraOrb(size: 340, color: t.electricMagenta.withValues(alpha: 0.26)), ), Positioned( left: -90, bottom: 80, child: _AuroraOrb(size: 260, color: t.warmCoral.withValues(alpha: 0.16)), ), body, ], ), ), ); } } class _AuroraOrb extends StatelessWidget { const _AuroraOrb({required this.size, required this.color}); final double size; final Color color; @override Widget build(BuildContext context) { return IgnorePointer( child: Container( width: size, height: size, decoration: BoxDecoration( shape: BoxShape.circle, gradient: RadialGradient(colors: [color, color.withValues(alpha: 0)]), ), ), ); } }