import "package:flutter/widgets.dart"; import "package:flutter_riverpod/flutter_riverpod.dart"; import "package:nexus/controllers/client.dart"; import "package:nexus/models/open_graph_data.dart"; class UrlPreviewController extends AsyncNotifier { final Uri url; UrlPreviewController(this.url); @override Future build() async { if (url.host == "matrix.to") return null; try { return await ref .watch(ClientController.provider.notifier) .getUrlPreview(url); } catch (error, stackTrace) { debugPrintStack(label: error.toString(), stackTrace: stackTrace); return null; } } static final provider = AsyncNotifierProvider.family( UrlPreviewController.new, ); }