first commit

This commit is contained in:
2025-03-03 20:59:42 +03:00
commit 273e68557a
1099 changed files with 17880 additions and 0 deletions

View File

@@ -0,0 +1,56 @@
import 'package:flutter/material.dart';
import 'package:remever/common/resources.dart';
import 'package:remever/components/extensions/context.dart';
import 'package:remever/components/extensions/state.dart';
class PrimaryButton extends StatefulWidget {
const PrimaryButton({
required this.child,
required this.onTap,
super.key,
this.height = 52,
this.width = double.infinity,
});
final Widget child;
final double height;
final double width;
final Function() onTap;
@override
State<PrimaryButton> createState() => _PrimaryButtonState();
}
class _PrimaryButtonState extends State<PrimaryButton> {
bool isLoading = false;
@override
Widget build(BuildContext context) {
return InkWell(
onTap: () async {
safeSetState(() => isLoading = !isLoading);
await widget.onTap();
safeSetState(() => isLoading = !isLoading);
},
child: SizedBox(
height: widget.height.h,
width: widget.width,
child: DecoratedBox(
decoration: BoxDecoration(
borderRadius: const BorderRadius.all(Radius.circular(16)).r,
color: AppColors.primary,
),
child: Center(
child:
isLoading
? const CircularProgressIndicator(
color: AppColors.bg,
backgroundColor: Colors.transparent,
)
: widget.child,
),
),
),
);
}
}