getItems method
Implementation
Future<List<T>> getItems() async {
final prefs = await SharedPreferences.getInstance();
final String? existingData = prefs.getString(key);
if (existingData == null) return [];
final List<dynamic> jsonList = jsonDecode(existingData);
return jsonList.map((jsonItem) => fromJson(jsonItem)).toList();
}