phase3(critical-path): store + main + routes + nav components null-safe
- store/state + reducers: nullable AppState fields & reducer types - main.dart: localeResolutionCallback Locale?, settings.name? guard - routes.dart: fluro 2.0.5 HandlerFunc (BuildContext?) + params['x']! - navigationbar/breadcrumbs/bottom_nav/text_link: nullable optional params/fields
This commit is contained in:
@@ -11,22 +11,22 @@ import '../../routes.dart';
|
||||
class TextLink extends StatelessWidget {
|
||||
final String title;
|
||||
final String url;
|
||||
final Color color;
|
||||
final Color hoverColor;
|
||||
final double paddingHorizontal;
|
||||
final double paddingVertical;
|
||||
final FontWeight fontWeight;
|
||||
final bool selected;
|
||||
final Color? color;
|
||||
final Color? hoverColor;
|
||||
final double? paddingHorizontal;
|
||||
final double? paddingVertical;
|
||||
final FontWeight? fontWeight;
|
||||
final bool? selected;
|
||||
final bool isLink;
|
||||
final bool replace;
|
||||
final bool clearStack;
|
||||
final bool maintainState;
|
||||
final bool rootNavigator;
|
||||
final TransitionType transition;
|
||||
final TransitionType? transition;
|
||||
final bool closeDrawer;
|
||||
final bool isEmail;
|
||||
final bool isPhone;
|
||||
final double fontSize;
|
||||
final double? fontSize;
|
||||
final bool isAddress;
|
||||
final TextOverflow overflow;
|
||||
final int maxLines;
|
||||
@@ -38,19 +38,19 @@ class TextLink extends StatelessWidget {
|
||||
this.paddingVertical,
|
||||
this.fontWeight,
|
||||
this.selected,
|
||||
bool isLink,
|
||||
bool replace,
|
||||
bool clearStack,
|
||||
bool maintainState,
|
||||
bool rootNavigator,
|
||||
bool? isLink,
|
||||
bool? replace,
|
||||
bool? clearStack,
|
||||
bool? maintainState,
|
||||
bool? rootNavigator,
|
||||
this.transition,
|
||||
bool closeDrawer,
|
||||
bool isEmail,
|
||||
bool isPhone,
|
||||
double fontSize,
|
||||
bool isAddress,
|
||||
TextOverflow overflow,
|
||||
int maxLines,
|
||||
bool? closeDrawer,
|
||||
bool? isEmail,
|
||||
bool? isPhone,
|
||||
double? fontSize,
|
||||
bool? isAddress,
|
||||
TextOverflow? overflow,
|
||||
int? maxLines,
|
||||
}) :
|
||||
isLink = isLink ?? false,
|
||||
replace = replace ?? false,
|
||||
@@ -60,7 +60,7 @@ class TextLink extends StatelessWidget {
|
||||
closeDrawer = closeDrawer ?? false,
|
||||
isEmail = isEmail ?? false,
|
||||
isPhone = isPhone ?? false,
|
||||
fontSize = fontSize ?? null,
|
||||
fontSize = fontSize,
|
||||
isAddress = isAddress ?? false,
|
||||
overflow = overflow ?? TextOverflow.ellipsis,
|
||||
maxLines = maxLines ?? 1;
|
||||
@@ -101,7 +101,7 @@ class TextLink extends StatelessWidget {
|
||||
},
|
||||
),
|
||||
decoration: BoxDecoration(
|
||||
border: (selected != null && selected) ? Border(
|
||||
border: (selected == true) ? Border(
|
||||
bottom: BorderSide(
|
||||
color: color ?? Colors.blue,
|
||||
width: 3.0,
|
||||
@@ -110,7 +110,7 @@ class TextLink extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
onTap: () async {
|
||||
if (selected == null || !selected) {
|
||||
if (selected != true) {
|
||||
if (isEmail) {
|
||||
Utils.openEmail(url);
|
||||
} else if (isPhone) {
|
||||
|
||||
Reference in New Issue
Block a user