class FikoYTPageController extends PageController { static final Map _instances = {}; static final Map _lastPages = {}; // Sayfa bilgilerini burada tutuyoruz final String id; FikoYTPageController._(this.id, int initialPage) : super(initialPage: initialPage) { addListener(_updateLastPage); // Sayfa değiştikçe otomatik olarak güncellenir } static FikoYTPageController getInstance(String id) { if (_instances.containsKey(id)) { print("Son Sayfa: ${_lastPages[id] ?? "Henüz kaydedilmedi"}"); return _instances[id]!; } final lastPage = _lastPages[id] ?? 0; // Daha önce kaydedilmişse oradan al final controller = FikoYTPageController._(id, lastPage); _instances[id] = controller; print("$id için yeni instance oluşturuldu. Başlangıç Sayfası: $lastPage"); return controller; } void _updateLastPage() { if (hasClients && page != null) { _lastPages[id] = page!.round(); print("$_id için yeni sayfa kaydedildi: ${_lastPages[id]}"); } } @override void dispose() { _lastPages[id] = page?.round() ?? _lastPages[id] ?? 0; print("$_id için son sayfa kaydedildi: ${_lastPages[id]}"); removeListener(_updateLastPage); super.dispose(); } }