Initial iOS widget target

This commit is contained in:
2024-12-14 18:18:13 +08:00
parent df18370bde
commit 026a4dfb27
22 changed files with 608 additions and 9 deletions

View File

@ -10,6 +10,7 @@ import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:go_router/go_router.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:home_widget/home_widget.dart';
import 'package:provider/provider.dart';
import 'package:relative_time/relative_time.dart';
import 'package:responsive_framework/responsive_framework.dart';
@ -28,6 +29,7 @@ import 'package:surface/providers/theme.dart';
import 'package:surface/providers/user_directory.dart';
import 'package:surface/providers/userinfo.dart';
import 'package:surface/providers/websocket.dart';
import 'package:surface/providers/widget.dart';
import 'package:surface/router.dart';
import 'package:surface/types/chat.dart';
import 'package:surface/types/realm.dart';
@ -87,6 +89,9 @@ class SolianApp extends StatelessWidget {
ChangeNotifierProvider(create: (_) => ThemeProvider()),
ChangeNotifierProvider(create: (ctx) => NavigationProvider()),
// System extensions layer
Provider(create: (ctx) => HomeWidgetProvider(ctx)),
// Data layer
Provider(create: (_) => SnNetworkProvider()),
Provider(create: (ctx) => UserDirectoryProvider(ctx)),
@ -159,6 +164,9 @@ class _AppSplashScreenState extends State<_AppSplashScreen> {
Future<void> _initialize() async {
try {
final home = context.read<HomeWidgetProvider>();
await home.initialize();
if (!mounted) return;
final sn = context.read<SnNetworkProvider>();
await sn.initializeUserAgent();
if (!mounted) return;