Map<String, dynamic> toJson() { return { 'type': type.name, 'heroTag': heroTag, 'image': image?.toJson(), 'video': video?.toJson(), }; }