mirror of
https://github.com/gskinnerTeam/flutter-wonderous-app.git
synced 2025-05-31 13:36:08 +08:00
Initial public commit
This commit is contained in:
38
lib/ui/common/controls/checkbox.dart
Normal file
38
lib/ui/common/controls/checkbox.dart
Normal file
@ -0,0 +1,38 @@
|
||||
import 'package:wonders/common_libs.dart';
|
||||
import 'package:wonders/ui/common/utils/app_haptics.dart';
|
||||
|
||||
class SimpleCheckbox extends StatelessWidget {
|
||||
const SimpleCheckbox({Key? key, required this.active, required this.onToggled, required this.label})
|
||||
: super(key: key);
|
||||
final bool active;
|
||||
final String label;
|
||||
final Function(bool? onToggle) onToggled;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Container(
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.all(Radius.circular($styles.corners.sm)),
|
||||
),
|
||||
child: Checkbox(
|
||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.all(Radius.circular($styles.corners.sm))),
|
||||
value: active,
|
||||
visualDensity: VisualDensity(horizontal: 0.5, vertical: 0.5),
|
||||
checkColor: $styles.colors.black.withOpacity(0.75),
|
||||
activeColor: $styles.colors.white.withOpacity(0.75),
|
||||
onChanged: (bool? active) {
|
||||
AppHaptics.mediumImpact();
|
||||
onToggled.call(active);
|
||||
}),
|
||||
),
|
||||
Gap($styles.insets.xs),
|
||||
Text(label, style: $styles.text.body.copyWith(color: $styles.colors.offWhite)),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user