fApp/lib/widgets/media_tile.dart
Flummi 0d792fdf46
All checks were successful
Flutter Schmutter / build (push) Successful in 5m30s
v1.3.4+60
2025-06-18 04:48:19 +02:00

50 lines
1.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:get/get.dart';
import 'package:f0ckapp/models/media_item.dart';
class MediaTile extends StatelessWidget {
final MediaItem item;
const MediaTile({super.key, required this.item});
@override
Widget build(BuildContext context) {
return RepaintBoundary(
child: InkWell(
onTap: () {
Get.toNamed('/${item.id}');
},
child: Stack(
fit: StackFit.expand,
children: [
Hero(
tag: 'media-${item.id}',
child: CachedNetworkImage(
imageUrl: item.thumbnailUrl,
fit: BoxFit.cover,
placeholder: (content, url) => Container(color: Colors.grey[900]),
errorWidget: (context, url, error) => const Icon(Icons.error),
),
),
Align(
alignment: Alignment.bottomRight,
child: Icon(
Icons.square,
color: switch (item.mode) {
1 => Colors.green,
2 => Colors.red,
_ => Colors.yellow,
},
size: 15.0,
),
),
],
),
),
);
}
}