import 'package:flutter_dotenv/flutter_dotenv.dart'; class Favorite { final String id; // MongoDB ObjectID as string final String mediaId; final String mediaType; // "movie" or "tv" final String title; final String posterPath; final DateTime? createdAt; Favorite({ required this.id, required this.mediaId, required this.mediaType, required this.title, required this.posterPath, this.createdAt, }); factory Favorite.fromJson(Map json) { return Favorite( id: json['id'] as String? ?? '', mediaId: json['mediaId'] as String? ?? '', mediaType: json['mediaType'] as String? ?? 'movie', title: json['title'] as String? ?? '', posterPath: json['posterPath'] as String? ?? '', createdAt: json['createdAt'] != null ? DateTime.tryParse(json['createdAt'] as String) : null, ); } String get fullPosterUrl { final baseUrl = dotenv.env['API_URL']!; if (posterPath.isEmpty) { return '$baseUrl/images/w500/placeholder.jpg'; } final cleanPath = posterPath.startsWith('/') ? posterPath.substring(1) : posterPath; return '$baseUrl/images/w500/$cleanPath'; } }