account management update

This commit is contained in:
Christien Rioux 2024-07-31 12:04:43 -05:00
parent 01c6490ec4
commit 5e4f47d5a1
42 changed files with 1663 additions and 831 deletions

View file

@ -41,6 +41,44 @@ extension ModalProgressExt on Widget {
}
}
extension LabelExt on Widget {
Widget decoratorLabel(BuildContext context, String label,
{ScaleColor? scale}) {
final theme = Theme.of(context);
final scaleScheme = theme.extension<ScaleScheme>()!;
final scaleConfig = theme.extension<ScaleConfig>()!;
scale = scale ?? scaleScheme.primaryScale;
final border = scale.border;
final disabledBorder = scaleScheme.grayScale.border;
final hoverBorder = scale.hoverBorder;
final focusedErrorBorder = scaleScheme.errorScale.border;
final errorBorder = scaleScheme.errorScale.primary;
OutlineInputBorder makeBorder(Color color) => OutlineInputBorder(
borderRadius:
BorderRadius.circular(8 * scaleConfig.borderRadiusScale),
borderSide: BorderSide(color: color),
);
OutlineInputBorder makeFocusedBorder(Color color) => OutlineInputBorder(
borderRadius:
BorderRadius.circular(8 * scaleConfig.borderRadiusScale),
borderSide: BorderSide(width: 2, color: color),
);
return InputDecorator(
decoration: InputDecoration(
labelText: label,
floatingLabelStyle: TextStyle(color: hoverBorder),
border: makeBorder(border),
enabledBorder: makeBorder(border),
disabledBorder: makeBorder(disabledBorder),
focusedBorder: makeFocusedBorder(hoverBorder),
errorBorder: makeBorder(errorBorder),
focusedErrorBorder: makeFocusedBorder(focusedErrorBorder),
),
child: this);
}
}
Widget buildProgressIndicator() => Builder(builder: (context) {
final theme = Theme.of(context);
final scale = theme.extension<ScaleScheme>()!;
@ -292,6 +330,23 @@ Widget styledExpandingSliver(
));
}
Widget styledHeader({required BuildContext context, required Widget child}) {
final theme = Theme.of(context);
final scale = theme.extension<ScaleScheme>()!;
final scaleConfig = theme.extension<ScaleConfig>()!;
// final textTheme = theme.textTheme;
return DecoratedBox(
decoration: ShapeDecoration(
color: scale.primaryScale.border,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.only(
topLeft: Radius.circular(12 * scaleConfig.borderRadiusScale),
topRight:
Radius.circular(12 * scaleConfig.borderRadiusScale)))),
child: child);
}
Widget styledTitleContainer({
required BuildContext context,
required String title,