Files
eh_downloader_flutter/lib/components/gallery_info_detail.dart

49 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:eh_downloader_flutter/l10n_gen/app_localizations.dart';
import 'package:go_router/go_router.dart';
import 'package:intl/intl.dart';
import '../api/gallery.dart';
import '../dialog/gallery_details_page.dart';
import '../main.dart';
import '../utils/filesize.dart';
import 'rate.dart';
class GalleryInfoDetail extends StatelessWidget {
const GalleryInfoDetail(this.meta, {super.key});
final GMeta meta;
@override
Widget build(BuildContext context) {
final cs = Theme.of(context).colorScheme;
final i18n = AppLocalizations.of(context)!;
final locale = MainApp.of(context).lang.toLocale().toString();
return Container(
alignment: Alignment.center,
margin: const EdgeInsets.symmetric(horizontal: 40),
child: Column(children: [
Container(padding: const EdgeInsets.only(top: 10)),
Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [
Text(i18n.pages(meta.filecount),
style: TextStyle(color: cs.secondary)),
Text(getFileSize(meta.filesize),
style: TextStyle(color: cs.secondary)),
]),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Rate(meta.rating, fontSize: 14),
Text(DateFormat.yMd(locale).add_jms().format(meta.posted.toLocal()),
style: TextStyle(color: cs.secondary)),
],
),
TextButton(
onPressed: () {
context.push('/dialog/gallery/details/${meta.gid}',
extra: GalleryDetailsPageExtra(meta: meta));
},
child: Text(i18n.seeMoreInfo)),
]),
);
}
}