import 'package:flutter/material.dart'; class FikoYTPageController extends PageController { static final Map _instances = {}; final String id; int _lastPage; // Son sayfayı instance içinde saklıyor FikoYTPageController._(this.id, this._lastPage) : super(initialPage: _lastPage) { addListener(_saveCurrentPage); } static FikoYTPageController getInstance(String id) { if (_instances.containsKey(id)) { return _instances[id]!; } final controller = FikoYTPageController._(id, 0); // Varsayılan olarak 0. sayfa _instances[id] = controller; return controller; } void _saveCurrentPage() { if (hasClients && page != null) { _lastPage = page!.round(); // Sayfa değiştikçe sakla } } int get lastPage => _lastPage; // Dışarıdan son sayfa alınabilir @override void dispose() { removeListener(_saveCurrentPage); // Instance'ı temizleme, çünkü sayfa bilgisini unutmamalı super.dispose(); } }