spotube/lib/provider/metadata_plugin/core/user.dart

18 lines
637 B
Dart

import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:spotube/models/metadata/metadata.dart';
import 'package:spotube/provider/metadata_plugin/core/auth.dart';
import 'package:spotube/provider/metadata_plugin/metadata_plugin_provider.dart';
final metadataPluginUserProvider = FutureProvider<SpotubeUserObject?>(
(ref) async {
final metadataPlugin = await ref.watch(metadataPluginProvider.future);
final authenticated =
await ref.watch(metadataPluginAuthenticatedProvider.future);
if (!authenticated || metadataPlugin == null) {
return null;
}
return metadataPlugin.user.me();
},
);