✨ Post recommendation widget
This commit is contained in:
@ -15,18 +15,22 @@ class HomeWidgetProvider {
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> saveWidgetData(String id, dynamic data) async {
|
||||
Future<void> saveWidgetData(String id, dynamic data, {bool update = true}) async {
|
||||
if (kIsWeb || !(Platform.isAndroid || Platform.isIOS)) return;
|
||||
await HomeWidget.saveWidgetData(id, jsonEncode(data));
|
||||
if (update) await updateWidget();
|
||||
}
|
||||
|
||||
Future<void> updateWidget() async {
|
||||
if (kIsWeb || !(Platform.isAndroid || Platform.isIOS)) return;
|
||||
await HomeWidget.updateWidget(
|
||||
name: "SolarWidget",
|
||||
iOSName: "SolarWidget",
|
||||
androidName: "com.solsynth.solian.SolarWidget",
|
||||
qualifiedAndroidName: "group.solsynth.solian.SolarWidget",
|
||||
);
|
||||
const widgets = ["SolarFeaturedPostWidget", "SolarCheckInWidget"];
|
||||
for(final widget in widgets) {
|
||||
await HomeWidget.updateWidget(
|
||||
name: widget,
|
||||
iOSName: widget,
|
||||
androidName: "com.solsynth.solian.$widget",
|
||||
qualifiedAndroidName: "group.solsynth.solian.$widget",
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,6 @@ import 'package:flutter_staggered_grid_view/flutter_staggered_grid_view.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:home_widget/home_widget.dart';
|
||||
import 'package:material_symbols_icons/symbols.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:styled_widget/styled_widget.dart';
|
||||
@ -428,7 +427,9 @@ class _HomeDashRecommendationPostWidgetState extends State<_HomeDashRecommendati
|
||||
setState(() => _isBusy = true);
|
||||
try {
|
||||
final pt = context.read<SnPostContentProvider>();
|
||||
final home = context.read<HomeWidgetProvider>();
|
||||
_posts = await pt.listRecommendations();
|
||||
home.saveWidgetData('post_featured', _posts!.map((e) => e.toJson()).toList());
|
||||
} catch (err) {
|
||||
if (!mounted) return;
|
||||
context.showErrorDialog(err);
|
||||
|
Reference in New Issue
Block a user