adguard-home-manager/lib/widgets/master_switch.dart
2024-01-28 20:39:42 +01:00

52 lines
No EOL
1.3 KiB
Dart

import 'package:flutter/material.dart';
class MasterSwitch extends StatelessWidget {
final String label;
final bool value;
final void Function(bool) onChange;
final EdgeInsets? margin;
const MasterSwitch({
super.key,
required this.label,
required this.value,
required this.onChange,
this.margin
});
@override
Widget build(BuildContext context) {
return Padding(
padding: margin ?? const EdgeInsets.symmetric(horizontal: 16),
child: Material(
color: Theme.of(context).colorScheme.primary.withOpacity(0.1),
borderRadius: BorderRadius.circular(28),
child: InkWell(
onTap: () => onChange(!value),
borderRadius: BorderRadius.circular(28),
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 20,
vertical: 8
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
label,
style: const TextStyle(
fontSize: 18,
),
),
Switch(
value: value,
onChanged: onChange,
)
],
),
),
),
),
);
}
}