revanced-manager/lib/ui/widgets/application_item.dart

58 lines
1.4 KiB
Dart
Raw Normal View History

2022-08-01 17:00:06 +05:30
import 'package:flutter/material.dart';
2022-08-07 00:37:12 +01:00
import 'package:flutter_i18n/flutter_i18n.dart';
2022-08-01 17:00:06 +05:30
import 'package:flutter_svg/flutter_svg.dart';
import 'package:google_fonts/google_fonts.dart';
2022-08-06 22:35:35 +01:00
import 'package:revanced_manager/constants.dart';
import 'package:revanced_manager/ui/widgets/patch_text_button.dart';
2022-08-01 17:00:06 +05:30
2022-08-01 23:45:55 +05:30
class ApplicationItem extends StatelessWidget {
2022-08-01 17:00:06 +05:30
final String asset;
final String name;
final String releaseDate;
2022-08-01 17:54:05 +05:30
final Function()? onPressed;
2022-08-01 17:00:06 +05:30
2022-08-01 23:45:55 +05:30
const ApplicationItem({
2022-08-01 17:00:06 +05:30
Key? key,
required this.asset,
required this.name,
required this.releaseDate,
2022-08-01 17:54:05 +05:30
required this.onPressed,
2022-08-01 17:00:06 +05:30
}) : super(key: key);
@override
Widget build(BuildContext context) {
2022-08-07 00:37:12 +01:00
final isSVG = asset.endsWith('.svg');
2022-08-01 17:00:06 +05:30
return ListTile(
horizontalTitleGap: 12.0,
leading: isSVG
? SvgPicture.asset(
asset,
2022-08-01 17:54:05 +05:30
height: 26,
width: 26,
2022-08-01 17:00:06 +05:30
)
: Image.asset(
asset,
height: 39,
width: 39,
),
title: Text(
name,
style: GoogleFonts.roboto(
color: const Color(0xff7792BA),
),
),
subtitle: Text(
releaseDate,
style: robotoTextStyle,
),
trailing: PatchTextButton(
2022-08-07 00:37:12 +01:00
text: FlutterI18n.translate(
context,
'applicationItem.patchButton',
),
2022-08-01 17:54:05 +05:30
onPressed: onPressed,
2022-08-01 17:00:06 +05:30
),
);
}
}