47 lines
2.1 KiB
Dart
47 lines
2.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:news/data/models/FeatureSectionModel.dart';
|
|
import 'package:news/ui/widgets/customTextLabel.dart';
|
|
import 'package:news/app/routes.dart';
|
|
import 'package:news/utils/uiUtils.dart';
|
|
|
|
Widget commonSectionTitle(FeatureSectionModel model, BuildContext context) {
|
|
return ListTile(
|
|
minVerticalPadding: 5,
|
|
contentPadding: EdgeInsets.zero,
|
|
title: Row(
|
|
mainAxisSize: MainAxisSize.min,
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
children: [
|
|
Flexible(
|
|
child: CustomTextLabel(
|
|
text: model.title!,
|
|
textStyle: Theme.of(context).textTheme.titleMedium!.copyWith(color: UiUtils.getColorScheme(context).primaryContainer, fontWeight: FontWeight.bold),
|
|
softWrap: true,
|
|
maxLines: 1,
|
|
overflow: TextOverflow.ellipsis)),
|
|
GestureDetector(
|
|
onTap: () {
|
|
UiUtils.showInterstitialAds(context: context);
|
|
if ((model.newsType == 'news' || model.newsType == "user_choice") || model.videosType == 'news' && model.newsType != 'breaking_news') {
|
|
Navigator.of(context).pushNamed(Routes.sectionNews, arguments: {"sectionId": model.id!, "title": model.title!});
|
|
} else {
|
|
Navigator.of(context).pushNamed(Routes.sectionBreakNews, arguments: {"sectionId": model.id!, "title": model.title!});
|
|
}
|
|
},
|
|
child: CustomTextLabel(
|
|
text: 'viewMore',
|
|
textStyle: Theme.of(context).textTheme.titleSmall!.copyWith(decoration: TextDecoration.underline, fontWeight: FontWeight.bold, color: UiUtils.getColorScheme(context).outline)),
|
|
)
|
|
],
|
|
),
|
|
subtitle: (model.shortDescription != null)
|
|
? CustomTextLabel(
|
|
text: model.shortDescription!,
|
|
textStyle: Theme.of(context).textTheme.titleSmall!.copyWith(color: UiUtils.getColorScheme(context).primaryContainer.withOpacity(0.6)),
|
|
softWrap: true,
|
|
maxLines: 3,
|
|
overflow: TextOverflow.ellipsis)
|
|
: SizedBox.shrink(),
|
|
);
|
|
}
|