You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RSGDoctorApp/lib/widgets/shared/card_with_bg_widget.dart

74 lines
2.3 KiB
Dart

import 'package:doctor_app_flutter/core/viewModel/project_view_model.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class CardWithBgWidget extends StatelessWidget {
final Widget widget;
final Color? bgColor;
final bool hasBorder;
final double padding;
final double marginLeft;
final double marginSymmetric;
CardWithBgWidget(
{required this.widget,
this.bgColor,
this.hasBorder = true,
this.padding = 15.0,
this.marginLeft = 10.0,
this.marginSymmetric = 10.0});
@override
Widget build(BuildContext context) {
ProjectViewModel projectProvider = Provider.of(context);
return Container(
margin: EdgeInsets.symmetric(vertical: marginSymmetric),
// width: double.infinity,
decoration: BoxDecoration(
borderRadius: BorderRadius.all(
Radius.circular(10.0),
),
border: Border.all(color: hasBorder ? Color(0xFF707070) : Colors.transparent, width: hasBorder ? 0.30 : 0),
),
child: Material(
borderRadius: BorderRadius.all(Radius.circular(10.0)),
child: Stack(
children: [
if (projectProvider.isArabic)
Positioned(
child: Container(
decoration: BoxDecoration(
color: bgColor ?? Color(0xFF58434F),
borderRadius: BorderRadius.only(
topRight: Radius.circular(10),
bottomRight: Radius.circular(10),
),
),
width: 10,
),
bottom: 1,
top: 1,
right: 1,
)
else
Positioned(
child: Container(
decoration: BoxDecoration(
color: bgColor ?? Color(0xFF58434F),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(10),
bottomLeft: Radius.circular(10),),),
width: 7,
),
bottom: 1,
top: 1,
left: 1,
),
Container(padding: EdgeInsets.all(padding), margin: EdgeInsets.only(left: marginLeft), child: widget)
],
),
),
);
}
}