import 'package:cake_wallet/themes/extensions/option_tile_theme.dart'; import 'package:flutter/material.dart'; class OptionTile extends StatelessWidget { const OptionTile({ required this.onPressed, this.image, this.icon, required this.title, required this.description, super.key, }) : assert(image != null || icon != null); final VoidCallback onPressed; final Image? image; final Icon? icon; final String title; final String description; @override Widget build(BuildContext context) { return Container( width: double.infinity, padding: EdgeInsets.only(left: 6, right: 6), alignment: Alignment.center, child: TextButton( style: TextButton.styleFrom( backgroundColor: Theme.of(context).cardColor, shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), padding: EdgeInsets.all(24) ), onPressed: onPressed, child: Row( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.start, children: [ icon ?? image!, Expanded( child: Padding( padding: EdgeInsets.only(left: 16), child: Column( mainAxisSize: MainAxisSize.max, mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( title, style: TextStyle( fontSize: 20, fontWeight: FontWeight.w500, color: Theme.of(context) .extension()! .titleColor, ), ), Padding( padding: EdgeInsets.only(top: 5), child: Text( description, style: TextStyle( fontSize: 14, fontWeight: FontWeight.normal, color: Theme.of(context) .extension()! .descriptionColor, ), ), ) ], ), ), ) ], ), ), ); } }