import 'package:flutter/material.dart'; import 'package:cloud_firestore/cloud_firestore.dart'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:onsolgo/core/constants.dart'; import 'package:onsolgo/screens/library/series_detail.dart'; class TrendingList extends StatelessWidget { const TrendingList({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text("🔥 WHAT'S HOT", style: TextStyle(letterSpacing: 2, fontWeight: FontWeight.bold)), backgroundColor: Colors.black, centerTitle: true, ), body: StreamBuilder( stream: FirebaseFirestore.instance.collection('manga').orderBy('reads', descending: true).snapshots(), builder: (context, snapshot) { if (!snapshot.hasData) return const Center(child: CircularProgressIndicator()); final docs = snapshot.data!.docs; return ListView.builder( itemCount: docs.length, padding: const EdgeInsets.all(16), itemBuilder: (context, index) { final m = docs[index]; Color medalColor = (index == 0) ? kOnsolGold : (index == 1) ? const Color(0xFFC0C0C0) : (index == 2) ? const Color(0xFFCD7F32) : Colors.transparent; return Container( margin: const EdgeInsets.only(bottom: 12), decoration: BoxDecoration( borderRadius: BorderRadius.circular(12), border: medalColor != Colors.transparent ? Border.all(color: medalColor, width: 2) : null ), child: Card( color: Colors.grey[900], margin: EdgeInsets.zero, child: ListTile( leading: ClipRRect(borderRadius: BorderRadius.circular(4), child: CachedNetworkImage(imageUrl: m['coverUrl'], width: 50, height: 70, fit: BoxFit.cover, alignment: Alignment.topCenter)), title: Text(m['title'] ?? '', style: const TextStyle(fontWeight: FontWeight.bold)), subtitle: Text("${m['reads'] ?? 0} Readers"), trailing: Text("#${index + 1}", style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold, color: medalColor != Colors.transparent ? medalColor : Colors.white)), onTap: () => Navigator.push(context, MaterialPageRoute(builder: (context) => SeriesDetail(manga: m))), ), ), ); }, ); }, ), ); } }