import 'package:derma_flutter/router/config/route_paths.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; ///勾中协议 class AgreementBox extends StatelessWidget { final bool checked; final Function(bool) onChanged; const AgreementBox({ super.key, this.checked = false, required this.onChanged, }); @override Widget build(BuildContext context) { return Row( children: [ SizedBox( width: 25, child: Transform.scale( scale: 0.8, child: Checkbox( value: checked, shape: CircleBorder(), onChanged: (value) { onChanged(value!); }, ), ), ), RichText( text: TextSpan( style: Theme.of(context).textTheme.labelSmall, children: [ TextSpan( text: "我已阅读并同意", recognizer: TapGestureRecognizer() ..onTap = () { onChanged(!checked); }, ), TextSpan( text: "《用户协议》", style: TextStyle( color: Theme.of(context).primaryColor, ), recognizer: TapGestureRecognizer() ..onTap = () { context.push( RoutePaths.agreement, extra: {"title": "用户协议", "url": "https://keyang2.tuzuu.com/ak-health/agreement/user_agreement.html"}, ); }, ), TextSpan( text: "《隐私协议》", style: TextStyle( color: Theme.of(context).primaryColor, ), recognizer: TapGestureRecognizer() ..onTap = () { context.push( RoutePaths.agreement, extra: {"title": "隐私政策", "url": "https://keyang2.tuzuu.com/ak-health/agreement/privacy_policy.html"}, ); }, ), ], ), ), ], ); } }