class SongModel { final String mid; final String name; final String artist; final String album; final String? albumPic; final int duration; final bool isFavorite; SongModel({ required this.mid, required this.name, required this.artist, required this.album, this.albumPic, required this.duration, this.isFavorite = false, }); factory SongModel.fromJson(Map json) { return SongModel( mid: json['mid'] ?? '', name: json['name'] ?? '', artist: json['artist'] ?? '', album: json['album'] ?? '', albumPic: json['albumPic'], duration: json['duration'] ?? 0, isFavorite: json['isFavorite'] ?? false, ); } Map toJson() { return { 'mid': mid, 'name': name, 'artist': artist, 'album': album, 'albumPic': albumPic, 'duration': duration, 'isFavorite': isFavorite, }; } String get durationText { final minutes = duration ~/ 60; final seconds = duration % 60; return '${minutes.toString().padLeft(2, '0')}:${seconds.toString().padLeft(2, '0')}'; } }