flutter-vienna-hackathon-25/wien_talks/wien_talks_flutter/lib/widgets/screen_widget.dart
2025-08-17 02:28:19 +02:00

60 lines
1.8 KiB
Dart

import 'dart:math';
import 'package:flutter/material.dart';
import 'package:flutter_spinkit/flutter_spinkit.dart';
import 'package:loader_overlay/loader_overlay.dart';
import 'package:wien_talks_flutter/widgets/add_quote_fab.dart';
class ScreenWidget extends StatelessWidget {
final Widget child;
const ScreenWidget({super.key, required this.child});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('FunMap'),
),
floatingActionButton: AddQuoteFab(),
body: SafeArea(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: LoaderOverlay(
overlayWidgetBuilder: (_) {
switch (Random().nextInt(5)) {
case 0:
return Center(
child: CircularProgressIndicator(),
);
case 1:
return Center(
child: SpinKitCubeGrid(
size: 50, color: Theme.of(context).primaryColor),
);
case 2:
return Center(
child: SpinKitWave(color: Theme.of(context).primaryColor),
);
case 3:
return Center(
child:
SpinKitHourGlass(color: Theme.of(context).primaryColor),
);
case 4:
return Center(
child: SpinKitFadingCircle(
color: Theme.of(context).primaryColor),
);
default:
return Center(
child: SpinKitPulsingGrid(
color: Theme.of(context).primaryColor),
);
}
},
child: child),
)),
);
}
}