manager-app/lib/Components/common_loader.dart
Thomas Fransolet e16e898140 Map done !
2025-05-15 15:11:21 +02:00

54 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:manager_app/constants.dart';
class CommonLoader extends StatefulWidget {
double? iconSize;
CommonLoader({Key? key, this.iconSize}) : super(key: key);
@override
State<CommonLoader> createState() => _CommonLoaderState();
}
class _CommonLoaderState extends State<CommonLoader> with TickerProviderStateMixin {
AnimationController? _controller;
@override
void initState() {
_controller = AnimationController(
duration: const Duration(milliseconds: 5000),
vsync: this,
)..repeat();
super.initState();
}
@override
void dispose() {
_controller!.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
Size size = MediaQuery.of(context).size;
_controller!.forward(from: 0.0);
_controller!.addListener(() {
if (_controller!.isCompleted) {
_controller!.reverse();
}
if(_controller!.isDismissed){
_controller!.forward();
}
});
return Center(
child: RotationTransition(
turns: Tween(begin: 0.0, end: 3.0).animate(_controller!),
child: Icon(Icons.museum_outlined, color: kPrimaryColor, size: widget.iconSize == null ? size.height*0.1 : widget.iconSize!),
),
);
}
}