import 'package:awesome_extensions/awesome_extensions.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_translate/flutter_translate.dart'; import 'package:go_router/go_router.dart'; import '../tools/tools.dart'; class ProfileWidget extends ConsumerWidget { const ProfileWidget({ required this.name, this.title, super.key, }); final String name; final String? title; @override // ignore: prefer_expression_function_bodies Widget build(BuildContext context, WidgetRef ref) { final theme = Theme.of(context); final scale = theme.extension<ScaleScheme>()!; final textTheme = theme.textTheme; return Container( width: double.infinity, decoration: ShapeDecoration( color: scale.primaryScale.subtleBackground, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16), side: BorderSide(color: scale.primaryScale.border))), child: Row(children: [ Column(mainAxisSize: MainAxisSize.min, children: [ Text(name, style: textTheme.headlineSmall).paddingAll(8), if (title != null && title!.isNotEmpty) Text(title!, style: textTheme.bodyMedium).paddingLTRB(8, 0, 8, 8), ]).expanded(), IconButton( icon: const Icon(Icons.settings), tooltip: translate('app_bar.settings_tooltip'), onPressed: () async { context.go('/home/settings'); }) ])).paddingAll(8); } @override void debugFillProperties(DiagnosticPropertiesBuilder properties) { super.debugFillProperties(properties); properties ..add(StringProperty('name', name)) ..add(StringProperty('title', title)); } }