Rumahjo-Android-APP/lib/Ui/screens/Articles/article_details.dart
2024-09-07 07:58:50 +07:00

90 lines
2.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';
import '../../../data/model/article_model.dart';
import '../../../utils/Extensions/extensions.dart';
import '../../../utils/responsiveSize.dart';
import '../../../utils/ui_utils.dart';
import '../widgets/AnimatedRoutes/blur_page_route.dart';
class ArticleDetails extends StatelessWidget {
final ArticleModel article;
const ArticleDetails({super.key, required this.article});
static Route route(RouteSettings settings) {
Map? arguments = settings.arguments as Map;
return BlurredRouter(
builder: (context) {
return ArticleDetails(
article: arguments['model'],
);
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: context.color.primaryColor,
appBar: UiUtils.buildAppBar(
context,
showBackButton: true,
),
body: SingleChildScrollView(
physics: const BouncingScrollPhysics(),
child: Padding(
padding: const EdgeInsets.all(
20.0,
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
ClipRRect(
clipBehavior: Clip.antiAlias,
borderRadius: BorderRadius.circular(
10,
),
child: SizedBox(
width: context.screenWidth,
height: 200.rh(
context,
),
child: UiUtils.getImage(
article.image!,
fit: BoxFit.cover,
),
),
),
SizedBox(
height: 15.rh(context),
),
Text(article.date.toString().formatDate())
.size(context.font.small)
.color(context.color.textLightColor),
const SizedBox(
height: 12,
),
Text(
(article.title ?? "").firstUpperCase(),
)
.size(
context.font.larger,
)
.color(
context.color.textColorDark,
)
.bold(
weight: FontWeight.w500,
),
SizedBox(
height: 4.rh(context),
),
Html(data: article.description ?? "")
],
),
),
),
);
}
}