47 lines
1.8 KiB
Dart
47 lines
1.8 KiB
Dart
import 'package:home_widget/home_widget.dart';
|
|
import 'package:persian_number_utility/persian_number_utility.dart';
|
|
|
|
import '../../models/widget_response.dart';
|
|
import '../network/request.dart';
|
|
import '../network/request_helper.dart';
|
|
|
|
class HomeWidgetRepository {
|
|
Future<void> fetchWidget() async {
|
|
if (RequestService.token != null && RequestService.token.isNotEmpty) {
|
|
final service = RequestService(
|
|
RequestHelper.widgetNews(),
|
|
);
|
|
await service.httpGet();
|
|
List<WidgetResponse> responseList = [];
|
|
if (service.isSuccess) {
|
|
final favourites = service.data('content');
|
|
HomeWidget.saveWidgetData("token", RequestService.token.toString());
|
|
for (var i = 0; i < favourites.length; i++) {
|
|
HomeWidget.saveWidgetData("id${i + 1}",
|
|
WidgetResponse.fromJson(favourites[i]).id.toString());
|
|
HomeWidget.saveWidgetData("title${i + 1}",
|
|
WidgetResponse.fromJson(favourites[i]).title.toString());
|
|
HomeWidget.saveWidgetData(
|
|
"createdAt${i + 1}",
|
|
DateTime.parse(WidgetResponse.fromJson(favourites[i])
|
|
.createdAt
|
|
.toString())
|
|
.toPersianDateStr());
|
|
HomeWidget.saveWidgetData("type${i + 1}",
|
|
WidgetResponse.fromJson(favourites[i]).type.toString());
|
|
HomeWidget.saveWidgetData("link${i + 1}",
|
|
WidgetResponse.fromJson(favourites[i]).link.toString());
|
|
HomeWidget.saveWidgetData("category${i + 1}",
|
|
WidgetResponse.fromJson(favourites[i]).category.toString());
|
|
HomeWidget.saveWidgetData("image${i + 1}",
|
|
WidgetResponse.fromJson(favourites[i]).image.toString());
|
|
}
|
|
|
|
HomeWidget.updateWidget(
|
|
androidName: "FavWidget",
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|