import 'package:flutter/material.dart';

import 'package:cached_network_image/cached_network_image.dart';
import 'package:go_router/go_router.dart';

import 'package:f0ckapp/models/mediaitem_model.dart';

class MediaTile extends StatelessWidget {
  final MediaItem item;

  const MediaTile({super.key, required this.item});

  @override
  Widget build(BuildContext context) {
    return InkWell(
      onTap: () {
        context.push('/${item.id}', extra: true);
      },
      child: Stack(
        fit: StackFit.expand,
        children: [
          Hero(
            tag: 'media-${item.id}',
            child: CachedNetworkImage(
              imageUrl: item.thumbnailUrl,
              fit: BoxFit.cover,
              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,
            ),
          ),
        ],
      ),
    );
  }
}
