Pagination
This commit is contained in:
@@ -4,6 +4,39 @@ import 'package:supabase_flutter/supabase_flutter.dart';
|
||||
import 'supabase_provider.dart';
|
||||
import '../utils/app_time.dart';
|
||||
|
||||
/// Admin user query parameters for server-side pagination.
|
||||
class AdminUserQuery {
|
||||
/// Creates admin user query parameters.
|
||||
const AdminUserQuery({
|
||||
this.offset = 0,
|
||||
this.limit = 50,
|
||||
this.searchQuery = '',
|
||||
});
|
||||
|
||||
/// Offset for pagination.
|
||||
final int offset;
|
||||
|
||||
/// Number of items per page (default: 50).
|
||||
final int limit;
|
||||
|
||||
/// Full text search query.
|
||||
final String searchQuery;
|
||||
|
||||
AdminUserQuery copyWith({
|
||||
int? offset,
|
||||
int? limit,
|
||||
String? searchQuery,
|
||||
}) {
|
||||
return AdminUserQuery(
|
||||
offset: offset ?? this.offset,
|
||||
limit: limit ?? this.limit,
|
||||
searchQuery: searchQuery ?? this.searchQuery,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
final adminUserQueryProvider = StateProvider<AdminUserQuery>((ref) => const AdminUserQuery());
|
||||
|
||||
final adminUserControllerProvider = Provider<AdminUserController>((ref) {
|
||||
final client = ref.watch(supabaseClientProvider);
|
||||
return AdminUserController(client);
|
||||
|
||||
Reference in New Issue
Block a user