41 lines
1.7 KiB
Dart
41 lines
1.7 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:google_fonts/google_fonts.dart';
|
|
|
|
class ButtonWidget extends StatelessWidget {
|
|
final String text;
|
|
final VoidCallback onPressed;
|
|
final bool? outline;
|
|
|
|
const ButtonWidget({super.key, required this.text, required this.onPressed, this.outline});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return ElevatedButton(
|
|
style: outline == true
|
|
? OutlinedButton.styleFrom(
|
|
foregroundColor: Color.fromRGBO(0, 0, 0, 1), // text color
|
|
side: const BorderSide(color: Color.fromRGBO(79, 51, 94, 1)), // border color
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(12), // rounded corners
|
|
),
|
|
minimumSize: Size(MediaQuery.of(context).size.width - 96, 44), // minimum size
|
|
padding: EdgeInsets.symmetric(vertical: 10, horizontal: 16),
|
|
)
|
|
: ElevatedButton.styleFrom(
|
|
foregroundColor: Color.fromRGBO(0, 0, 0, 1), // text color
|
|
backgroundColor: const Color.fromRGBO(198, 133, 232, 1), // background color
|
|
side: const BorderSide(color: Color.fromRGBO(79, 51, 94, 1)), // border color
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(12), // rounded corners
|
|
),
|
|
minimumSize: Size(MediaQuery.of(context).size.width - 96, 44), // minimum size
|
|
padding: EdgeInsets.symmetric(vertical: 10, horizontal: 16),
|
|
),
|
|
onPressed: onPressed,
|
|
child: Text(
|
|
text,
|
|
style: GoogleFonts.outfit(textStyle: const TextStyle(fontSize: 14)),
|
|
),
|
|
);
|
|
}
|
|
}
|