add last data

This commit is contained in:
Valentin CZERYBA 2025-05-25 23:39:37 +02:00
parent 7468c5f24c
commit 6c1c650fa1

View File

@ -50,6 +50,7 @@ class _MyHomePageState extends State<ListItemMenu> {
final AuthService _authService = AuthService(); final AuthService _authService = AuthService();
late ScrollController _scrollController; late ScrollController _scrollController;
int _fetchCount = 0; int _fetchCount = 0;
bool _last = false;
bool _isLoading = false; bool _isLoading = false;
Future<List<Events>> postsFuture = getPosts(); Future<List<Events>> postsFuture = getPosts();
@ -470,13 +471,16 @@ class _MyHomePageState extends State<ListItemMenu> {
if ((body.isNotEmpty) || (_fetchCount > 0)) { if ((body.isNotEmpty) || (_fetchCount > 0)) {
if (body.isEmpty) { if (body.isEmpty) {
_fetchCount--; _fetchCount--;
_last = true;
} }
// If we have results, map them to Events // If we have results, map them to Events
filteredPosts.addAll( if (!_last) {
body filteredPosts.addAll(
.map((e) => Events.fromJson(e as Map<String, dynamic>)) body
.toList(), .map((e) => Events.fromJson(e as Map<String, dynamic>))
); .toList(),
);
}
} else { } else {
// If no results, clear filteredPosts // If no results, clear filteredPosts
filteredPosts.clear(); filteredPosts.clear();
@ -619,6 +623,7 @@ class _MyHomePageState extends State<ListItemMenu> {
labelText: 'Search by item', labelText: 'Search by item',
onChanged: (value) { onChanged: (value) {
_fetchCount = 0; _fetchCount = 0;
_last = false;
if (value.isNotEmpty) { if (value.isNotEmpty) {
setState(() { setState(() {
itemName = value; itemName = value;
@ -637,6 +642,7 @@ class _MyHomePageState extends State<ListItemMenu> {
}, },
onClear: () { onClear: () {
_fetchCount = 0; _fetchCount = 0;
_last = false;
setState(() { setState(() {
inputItem.clear(); inputItem.clear();
itemName = ''; itemName = '';
@ -649,7 +655,7 @@ class _MyHomePageState extends State<ListItemMenu> {
suggestions: suggestionsItem, suggestions: suggestionsItem,
onSuggestionTap: (suggestion) async { onSuggestionTap: (suggestion) async {
_fetchCount = 0; _fetchCount = 0;
_last = false;
setState(() { setState(() {
itemName = suggestion['name']; itemName = suggestion['name'];
inputItem.text = itemName; inputItem.text = itemName;
@ -666,7 +672,7 @@ class _MyHomePageState extends State<ListItemMenu> {
labelText: 'Search by tags', labelText: 'Search by tags',
onChanged: (value) { onChanged: (value) {
_fetchCount = 0; _fetchCount = 0;
_last = false;
if (value.isNotEmpty) { if (value.isNotEmpty) {
setState(() { setState(() {
itemTags = value; itemTags = value;
@ -693,6 +699,7 @@ class _MyHomePageState extends State<ListItemMenu> {
suggestions: suggestionsTags, suggestions: suggestionsTags,
onSuggestionTap: (suggestion) async { onSuggestionTap: (suggestion) async {
_fetchCount = 0; _fetchCount = 0;
_last = false;
setState(() { setState(() {
itemTags = suggestion['name']; itemTags = suggestion['name'];
@ -718,6 +725,7 @@ class _MyHomePageState extends State<ListItemMenu> {
labelText: 'Search by geographical zone', labelText: 'Search by geographical zone',
onChanged: (value) async { onChanged: (value) async {
_fetchCount = 0; _fetchCount = 0;
_last = false;
if (value.isNotEmpty) { if (value.isNotEmpty) {
setState(() { setState(() {
@ -741,7 +749,7 @@ class _MyHomePageState extends State<ListItemMenu> {
}, },
onClear: () async { onClear: () async {
_fetchCount = 0; _fetchCount = 0;
_last = false;
final prefs = await SharedPreferences.getInstance(); final prefs = await SharedPreferences.getInstance();
prefs.remove("city_lat"); prefs.remove("city_lat");
prefs.remove("city_long"); prefs.remove("city_long");
@ -758,6 +766,7 @@ class _MyHomePageState extends State<ListItemMenu> {
suggestions: suggestionsGeo, suggestions: suggestionsGeo,
onSuggestionTap: (suggestion) async { onSuggestionTap: (suggestion) async {
_fetchCount = 0; _fetchCount = 0;
_last = false;
final latitude = suggestion['geometry']['coordinates'][1]; final latitude = suggestion['geometry']['coordinates'][1];
final longitude = suggestion['geometry']['coordinates'][0]; final longitude = suggestion['geometry']['coordinates'][0];