import 'package:didvan/config/theme_data.dart'; import 'package:didvan/views/widgets/didvan/text.dart'; import 'package:flutter/material.dart'; class DidvanCheckbox extends StatefulWidget { final String title; final bool? value; final double size; final Color? color; final void Function(bool value) onChanged; const DidvanCheckbox({ Key? key, required this.title, required this.value, required this.onChanged, this.size = 15, this.color, }) : super(key: key); @override State createState() => _DidvanCheckboxState(); } class _DidvanCheckboxState extends State { bool _value = false; @override void initState() { if (widget.value != null) { _value = widget.value!; } super.initState(); } @override Widget build(BuildContext context) { Color? color = widget.color; color ??= Theme.of(context).colorScheme.text; return GestureDetector( onTap: () { setState(() { _value = !_value; }); widget.onChanged(_value); }, child: Container( color: Colors.transparent, child: Row( children: [ Transform.scale( scale: widget.size ==15 ? 1 : 0.8, child: Checkbox( activeColor: widget.color, visualDensity: const VisualDensity(horizontal: -4, vertical: -4), side: BorderSide(color: color, width: 1.5), value: _value, onChanged: (value) { setState(() { _value = value ?? false; }); widget.onChanged(_value); }, ), ), DidvanText(widget.title,fontSize: widget.size,color: color, ), ], ), ), ); } }