Update skill card + top navigation bar #173
@ -33,8 +33,28 @@ class NavigationItem extends StatelessWidget {
 | 
			
		||||
        children: [
 | 
			
		||||
          if (selected)
 | 
			
		||||
            Container(
 | 
			
		||||
              height: 5,
 | 
			
		||||
              width: 70,
 | 
			
		||||
              height: ThemeHelper.getThemeElement<double, double>(
 | 
			
		||||
                [
 | 
			
		||||
                  context
 | 
			
		||||
                      .themeExtension<TopBarThemeExtension>()
 | 
			
		||||
                      ?.selectedIndicatorHeight,
 | 
			
		||||
                  // TODO: move default value
 | 
			
		||||
                  5,
 | 
			
		||||
                ],
 | 
			
		||||
                valueValidator: (value) => value != null,
 | 
			
		||||
                transform: (value) => value,
 | 
			
		||||
              ),
 | 
			
		||||
              width: ThemeHelper.getThemeElement<double, double>(
 | 
			
		||||
                [
 | 
			
		||||
                  context
 | 
			
		||||
                      .themeExtension<TopBarThemeExtension>()
 | 
			
		||||
                      ?.selectedIndicatorWidth,
 | 
			
		||||
                  // TODO: move default value
 | 
			
		||||
                  70,
 | 
			
		||||
                ],
 | 
			
		||||
                valueValidator: (value) => value != null,
 | 
			
		||||
                transform: (value) => value,
 | 
			
		||||
              ),
 | 
			
		||||
              decoration: BoxDecoration(
 | 
			
		||||
                borderRadius: BorderRadius.circular(100),
 | 
			
		||||
                color: ThemeHelper.getThemeElement<Color, Color>(
 | 
			
		||||
@ -49,22 +69,37 @@ class NavigationItem extends StatelessWidget {
 | 
			
		||||
                ),
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
          SizedBox(
 | 
			
		||||
            height: 50,
 | 
			
		||||
            child: Center(
 | 
			
		||||
              child: Text(
 | 
			
		||||
                item.data,
 | 
			
		||||
                style: ThemeHelper.getThemeElement<TextStyle, TextStyle>(
 | 
			
		||||
                  [
 | 
			
		||||
                    context.textTheme.titleMedium,
 | 
			
		||||
                    context
 | 
			
		||||
                        .themeExtension<TopBarThemeExtension>()
 | 
			
		||||
                        ?.subTitleStyle,
 | 
			
		||||
                    item.style,
 | 
			
		||||
                  ],
 | 
			
		||||
                  combine: (value, element) => value?.merge(element),
 | 
			
		||||
                  valueValidator: (value) => value != null,
 | 
			
		||||
                  transform: (value) => value,
 | 
			
		||||
          ConstrainedBox(
 | 
			
		||||
            constraints: BoxConstraints(
 | 
			
		||||
              minWidth: ThemeHelper.getThemeElement<double, double>(
 | 
			
		||||
                [
 | 
			
		||||
                  context
 | 
			
		||||
                      .themeExtension<TopBarThemeExtension>()
 | 
			
		||||
                      ?.selectedIndicatorWidth,
 | 
			
		||||
                  // TODO: move default value
 | 
			
		||||
                  70,
 | 
			
		||||
                ],
 | 
			
		||||
                valueValidator: (value) => value != null,
 | 
			
		||||
                transform: (value) => value,
 | 
			
		||||
              ) ?? double.infinity,
 | 
			
		||||
            ),
 | 
			
		||||
            child: SizedBox(
 | 
			
		||||
              height: 50,
 | 
			
		||||
              child: Center(
 | 
			
		||||
                child: Text(
 | 
			
		||||
                  item.data,
 | 
			
		||||
                  style: ThemeHelper.getThemeElement<TextStyle, TextStyle>(
 | 
			
		||||
                    [
 | 
			
		||||
                      context.textTheme.titleMedium,
 | 
			
		||||
                      context
 | 
			
		||||
                          .themeExtension<TopBarThemeExtension>()
 | 
			
		||||
                          ?.subTitleStyle,
 | 
			
		||||
                      item.style,
 | 
			
		||||
                    ],
 | 
			
		||||
                    combine: (value, element) => value?.merge(element),
 | 
			
		||||
                    valueValidator: (value) => value != null,
 | 
			
		||||
                    transform: (value) => value,
 | 
			
		||||
                  ),
 | 
			
		||||
                ),
 | 
			
		||||
              ),
 | 
			
		||||
            ),
 | 
			
		||||
 | 
			
		||||
@ -25,6 +25,8 @@ abstract class TopBarThemeExtension
 | 
			
		||||
    this.secondaryColor,
 | 
			
		||||
    this.titleStyle,
 | 
			
		||||
    this.subTitleStyle,
 | 
			
		||||
    this.selectedIndicatorHeight,
 | 
			
		||||
    this.selectedIndicatorWidth,
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  final MultiColor? backgroundColors;
 | 
			
		||||
@ -33,4 +35,7 @@ abstract class TopBarThemeExtension
 | 
			
		||||
 | 
			
		||||
  final TextStyle? titleStyle;
 | 
			
		||||
  final TextStyle? subTitleStyle;
 | 
			
		||||
 | 
			
		||||
  final double? selectedIndicatorHeight;
 | 
			
		||||
  final double? selectedIndicatorWidth;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user