Files
YungR1otz/lib/core/widgets/riotz_scaffold.dart
Lucas Saburido cabf2025cd first commit
2026-05-13 16:26:45 +01:00

69 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import '../theme/app_colors.dart';
class RiotzScaffold extends StatelessWidget {
const RiotzScaffold({
required this.body,
this.appBar,
this.bottomNavigationBar,
this.floatingActionButton,
this.useSafeArea = true,
super.key,
});
final Widget body;
final PreferredSizeWidget? appBar;
final Widget? bottomNavigationBar;
final Widget? floatingActionButton;
final bool useSafeArea;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: appBar,
body: Stack(
children: [
// Base Layer: Deep Black
Container(color: AppColors.black),
// Aesthetic Layer: Subtle Brutalist Gradient
Positioned.fill(
child: Container(
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [
AppColors.black,
AppColors.deepRed.withOpacity(0.05),
AppColors.black,
],
),
),
),
),
// Texture Layer: Grunge Overlay
// Note: Add 'assets/textures/noise.png' to pubspec and uncomment below
/*
Positioned.fill(
child: Opacity(
opacity: 0.03,
child: Image.asset(
'assets/textures/noise.png',
repeat: ImageRepeat.repeat,
),
),
),
*/
// Content Layer
useSafeArea ? SafeArea(child: body) : body,
],
),
bottomNavigationBar: bottomNavigationBar,
floatingActionButton: floatingActionButton,
);
}
}