import 'dart:convert';
// import 'dart:io' as html;
import 'dart:typed_data'; // Import for Uint8List
import 'package:dropdown_search/dropdown_search.dart';
import 'package:file_picker/file_picker.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:http/http.dart' as http;
import 'package:nhance_partner/core/routing/routes.dart';
import 'package:nhance_partner/presentation/themes/indicators/text_field_theme.dart';
import '../../../../core/config/env.dart';
import '../../../../core/services/api_service.dart';
import '../../../../data/services/auth_service.dart';
import '../../../../data/utils/Pagination.dart';
import '../../../../data/utils/toastNotification.dart';
import '../../../../data/utils/validators.dart';
import '../../../layouts/main_layout.dart';
import '../../../layouts/responsive_layout.dart';
import '../../../providers/manager_provider.dart';
import '../../../providers/userRoleProvider.dart';
import '../../../providers/user_provider.dart';
import '../../../themes/indicators/customizd_file_upload.dart';
import '../../../themes/indicators/export_btn.dart';
import '../../../themes/indicators/input_field_decoration.dart';
import '../../../themes/indicators/search_field_theme.dart';
import '../../../themes/indicators/singleFileUpload.dart';
// import '../../../themes/indicators/upload_doc_theme.dart';
import 'package:universal_html/html.dart' as html;
class Agent extends ConsumerStatefulWidget {
final String? id;
final void Function(String value) onSubmit;
const Agent({super.key, this.id, required this.onSubmit});
@override
ConsumerState createState() => AgentState();
}
class AgentState extends ConsumerState {
final _formKey = GlobalKey();
late ApiService apiService;
List tabHeader = [
'name',
'email',
'mobile',
'code',
'address',
'retenRate',
];
late String isActive = "1";
// html.File? docUploadedFile;
// PlatformFile? passportFile;
String? selectedFileNames;
String? passportFileUrlFromApi;
String? selectedId;
PlatformFile? docUploadedFile;
final GlobalKey>> dropDownKey =
GlobalKey>>();
Map controllers = {};
String? _token;
dynamic userId;
dynamic managerId;
dynamic role;
bool isLoading = false;
dynamic selectedSalesExectv;
List