25 lines
631 B
Dart
25 lines
631 B
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|
import '../../../../core/network/dio_client.dart';
|
|
import '../../../../core/domain/user.dart';
|
|
import 'dart:async';
|
|
|
|
final userSearchProvider = FutureProvider.family<List<User>, String>((
|
|
ref,
|
|
query,
|
|
) async {
|
|
if (query.isEmpty) return [];
|
|
|
|
final dio = DioClient().dio;
|
|
final response = await dio.get(
|
|
'/users/search',
|
|
queryParameters: {'q': query},
|
|
);
|
|
|
|
if (response.statusCode == 200) {
|
|
final List data = response.data;
|
|
return data.map((json) => User.fromJson(json)).toList();
|
|
} else {
|
|
throw Exception('Failed to search users');
|
|
}
|
|
});
|