diff --git a/lib/pages/videos/gestor_videos_page.dart b/lib/pages/videos/gestor_videos_page.dart index db22386..81b969b 100644 --- a/lib/pages/videos/gestor_videos_page.dart +++ b/lib/pages/videos/gestor_videos_page.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'package:flutter/material.dart'; import 'package:pluto_grid/pluto_grid.dart'; import 'package:provider/provider.dart'; @@ -331,7 +332,14 @@ class _GestorVideosPageState extends State { border: InputBorder.none, contentPadding: const EdgeInsets.all(16), ), - onChanged: (value) => provider.searchVideos(value), + onChanged: (value) { + // Force immediate update in release mode + provider.searchVideos(value); + // Additional setState to ensure UI rebuild + if (mounted) { + setState(() {}); + } + }, ), ); } @@ -772,6 +780,11 @@ class _GestorVideosPageState extends State { _stateManager!.setPageSize(pageSize, notify: true); // Conectar stateManager al provider para actualizaciones directas provider.stateManager = _stateManager; + + // Force initial render in release mode + scheduleMicrotask(() { + _stateManager?.notifyListeners(); + }); }, createFooter: (stateManager) { return PlutoPagination(stateManager); diff --git a/lib/providers/videos_provider.dart b/lib/providers/videos_provider.dart index 72016fc..ed43e54 100644 --- a/lib/providers/videos_provider.dart +++ b/lib/providers/videos_provider.dart @@ -1,3 +1,4 @@ +import 'dart:async'; import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'package:image_picker/image_picker.dart'; @@ -184,6 +185,11 @@ class VideosProvider extends ChangeNotifier { ), ); } + + // Force rebuild after rows are built (important for release mode) + scheduleMicrotask(() { + notifyListeners(); + }); } /// Format duration in seconds to human readable @@ -886,7 +892,10 @@ class VideosProvider extends ChangeNotifier { if (query.isEmpty) { _buildPlutoRows(); gridRebuildKey++; - notifyListeners(); + // Force rebuild in release mode + scheduleMicrotask(() { + notifyListeners(); + }); return; } @@ -925,7 +934,12 @@ class VideosProvider extends ChangeNotifier { } gridRebuildKey++; - notifyListeners(); + // Force rebuild in release mode using scheduleMicrotask + scheduleMicrotask(() { + notifyListeners(); + // Also notify state manager if available + stateManager?.notifyListeners(); + }); } // ========== CLEANUP ==========