This repository has been archived on 2025-03-26. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
brook/lib/helpers/extension_helper.dart
2025-01-05 20:49:45 -05:00

34 lines
982 B
Dart

import 'package:brook/widgets/loading.dart';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
extension BetterWhen<T> on AsyncValue<T> {
Widget betterWhen({
required Widget Function(T) data,
Widget Function() loading = Loading.new,
}) =>
when(
data: data,
error: (error, stackTrace) =>
Text("$error"), // TODO: Better err reporting
loading: loading,
skipLoadingOnRefresh: false,
);
}
extension Capitalize on String {
String toCapitalized() =>
length > 0 ? "${this[0].toUpperCase()}${substring(1).toLowerCase()}" : "";
}
extension GetTheme on ThemeData {
ThemeData tweaked() => copyWith(
textTheme: (brightness == Brightness.light
? ThemeData.light()
: ThemeData.dark())
.textTheme,
navigationRailTheme: NavigationRailThemeData(
backgroundColor: Colors.transparent,
),
);
}