add share preference item list

This commit is contained in:
Valentin CZERYBA 2024-06-23 20:57:54 +02:00
parent 4df3b2a286
commit bbb1a09697

View File

@ -2,6 +2,7 @@ import 'dart:convert';
import 'package:http/http.dart' as http; import 'package:http/http.dart' as http;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'classes/post.dart'; import 'classes/post.dart';
import 'package:shared_preferences/shared_preferences.dart';
// app starting point // app starting point
void main() { void main() {
@ -35,12 +36,19 @@ class _MyHomePageState extends State<ListItemMenu> {
// function to fetch data from api and return future list of posts // function to fetch data from api and return future list of posts
static Future<List<Post>> getPosts() async { static Future<List<Post>> getPosts() async {
var url = Uri.parse("https://jsonplaceholder.typicode.com/albums/1/photos"); SharedPreferences prefs = await SharedPreferences.getInstance();
var accessToken = prefs.getString("access_token") ?? "";
final List<Post> body = [];
if (accessToken.isNotEmpty) {
var url =
Uri.parse("https://jsonplaceholder.typicode.com/albums/1/photos");
final response = final response =
await http.get(url, headers: {"Content-Type": "application/json"}); await http.get(url, headers: {"Content-Type": "application/json"});
final List body = json.decode(response.body); final List body = json.decode(response.body);
return body.map((e) => Post.fromJson(e)).toList(); return body.map((e) => Post.fromJson(e)).toList();
} }
return body;
}
// build function // build function
@override @override
@ -84,7 +92,6 @@ class _MyHomePageState extends State<ListItemMenu> {
child: Row( child: Row(
children: [ children: [
Expanded(flex: 1, child: Image.network(post.url!)), Expanded(flex: 1, child: Image.network(post.url!)),
SizedBox(width: 10),
Expanded(flex: 3, child: Text(post.title!)), Expanded(flex: 3, child: Text(post.title!)),
], ],
), ),