modificacion de colores en el login

This commit is contained in:
Abraham
2026-01-13 15:44:45 -08:00
parent 9533b60906
commit 7bdb9a2d74
6 changed files with 236 additions and 32 deletions

View File

@@ -580,6 +580,57 @@ class VideosProvider extends ChangeNotifier {
}
}
/// Delete video poster only (not the video itself)
Future<bool> deletePoster(int mediaFileId) async {
try {
isLoading = true;
notifyListeners();
// Get current metadata
final response = await supabaseML
.from('media_files')
.select('metadata_json')
.eq('media_file_id', mediaFileId)
.eq('organization_fk', organizationId)
.single();
final metadata = response['metadata_json'] as Map<String, dynamic>? ?? {};
final posterUrl = metadata['poster_url'] as String?;
// Delete poster from storage if exists
if (posterUrl != null && posterUrl.isNotEmpty) {
try {
final uri = Uri.parse(posterUrl);
final pathSegments = uri.pathSegments;
final bucketIndex = pathSegments.indexOf('energymedia');
if (bucketIndex != -1 && bucketIndex < pathSegments.length - 1) {
final posterPath = pathSegments.sublist(bucketIndex + 1).join('/');
await supabaseML.storage.from('energymedia').remove([posterPath]);
}
} catch (e) {
print('Error eliminando poster del storage: $e');
}
}
// Remove poster references from metadata
metadata.remove('poster_url');
metadata.remove('poster_file_name');
// Update metadata
await updateVideoMetadata(mediaFileId, metadata);
isLoading = false;
notifyListeners();
return true;
} catch (e) {
errorMessage = 'Error eliminando portada: $e';
isLoading = false;
notifyListeners();
print('Error en deletePoster: $e');
return false;
}
}
// ========== DELETE METHODS ==========
/// Delete video and its storage files