buildNavigationRow static method

Widget buildNavigationRow({
  1. required BuildContext context,
  2. required String title,
  3. String? subtitle,
  4. String? value,
  5. VoidCallback? onTap,
})

Implementation

static Widget buildNavigationRow({
  required BuildContext context,
  required String title,
  String? subtitle,
  String? value,
  VoidCallback? onTap,
}) {
  final colorsTheme = BaseThemeProvider.colorsOf(context);

  return GestureDetector(
    onTap: onTap,
    behavior: HitTestBehavior.opaque,
    child: Container(
      padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 12),
      child: Row(
        children: [
          Expanded(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Text(
                  title,
                  style: TextStyle(
                    fontSize: 16,
                    fontWeight: FontWeight.w400,
                    color: colorsTheme.textColorPrimary,
                  ),
                ),
                if (subtitle != null) const SizedBox(height: 4),
                if (subtitle != null)
                  Text(
                    subtitle,
                    style: TextStyle(
                      fontSize: 14,
                      color: colorsTheme.textColorSecondary,
                    ),
                  ),
              ],
            ),
          ),
          if (value != null)
            Text(
              value,
              style: TextStyle(
                fontSize: 16,
                color: colorsTheme.textColorPrimary,
              ),
            ),
          if (onTap != null) const SizedBox(width: 8),
          if (onTap != null)
            SvgPicture.asset(
              'chat_assets/icon/chevron_right.svg',
              package: 'tuikit_atomic_x',
              width: 12,
              height: 24,
              colorFilter: ColorFilter.mode(colorsTheme.textColorPrimary, BlendMode.srcIn),
            ),
        ],
      ),
    ),
  );
}