import 'package:base_project/BuilderField/shared/fields/number_field.dart';
import 'package:base_project/BuilderField/shared/fields/password_field.dart';
import 'package:base_project/BuilderField/shared/fields/phone_field.dart';
import 'package:base_project/BuilderField/shared/fields/custom_text_field.dart';

import '../../../../BuilderField/shared/fields/base_field.dart';

import '../../../../BuilderField/shared/fields/date_field.dart';
import '../../../../BuilderField/shared/fields/datetime_field.dart';
import '../../../../BuilderField/shared/fields/email_field.dart';
import 'package:base_project/BuilderField/shared/fields/url_field.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

import '../../../../BuilderField/shared/fields/custom_text_field.dart' as shared_text;
import '../../../../BuilderField/shared/fields/one_to_one_relation_field.dart';
import '../../../../BuilderField/shared/fields/calculated_field.dart';
import '../../../../BuilderField/shared/fields/one_to_many_field.dart';
import '../../../../BuilderField/shared/fields/value_list_picker_field.dart';
import '../../../../BuilderField/shared/fields/captcha_field.dart';
import '../../../../BuilderField/shared/fields/switch_field.dart';
import '../../../../BuilderField/shared/fields/url_field.dart';

import '../../../../BuilderField/shared/fields/audio_upload_field.dart';
import '../../../../BuilderField/shared/fields/checkbox_field.dart';
import '../../../../BuilderField/shared/fields/file_upload_field.dart';
import '../../../../BuilderField/shared/fields/image_upload_field.dart';
import '../../../../BuilderField/shared/fields/radio_field.dart';
import '../../../../BuilderField/shared/fields/video_upload_field.dart';

import '../../../../BuilderField/shared/fields/autocomplete_dropdown_field.dart';
import '../../../../BuilderField/shared/fields/autocomplete_multiselect_field.dart';
import '../../../../BuilderField/shared/fields/one_to_one_relation_field.dart';
import '../../../../BuilderField/shared/fields/data_grid_field.dart';
import '../../../../BuilderField/shared/fields/dropdown_field.dart';
import '../../../../BuilderField/shared/fields/dynamic_dropdown_field.dart';
import '../../../../BuilderField/shared/fields/dynamic_multiselect_dropdown_field.dart';
import '../../../../BuilderField/shared/fields/static_multiselect_field.dart';
import '../../../../BuilderField/shared/fields/currency_field.dart';
import '../../../../BuilderField/shared/fields/field_group_field.dart';
import '../../../../BuilderField/shared/fields/qr_code_field.dart';
import '../../../../BuilderField/shared/fields/barcode_field.dart';
import '../../../../BuilderField/shared/fields/dependent_dropdown_field.dart';
 import '../Basicp3_viewModel/Basicp3_view_model_screen.dart';/// Field definitions for Basicp3 entity
/// This defines the structure and validation for Basicp3 forms
class Basicp3Fields {
  /// Get field definitions for Basicp3 entity
  static List<BaseField> getFields(BuildContext context) {
    final viewModel =
        Provider.of<Basicp3ViewModelScreen>(context, listen: false);
    return [
      // Basic Information
 SwitchField(
        fieldKey: 'toggle_switch',
        label: 'Toggle Switch',
      ),

 SwitchField(
        fieldKey: 'toggle_switch2',
        label: 'Toggle Switch2',
      ),

 UrlField(
        fieldKey: 'url_field',
        label: 'Url Field',
        hint: 'Enter Url Field',
      ),

 UrlField(
        fieldKey: 'url_field2',
        label: 'Url Field2',
        hint: 'Enter Url Field2',
      ),

 NumberField(
        fieldKey: 'decimal_field',
        label: 'Decimal Field',
        hint: '0.00',
        isRequired: false,
        decimalPlaces: 2,
      ),

 NumberField(
        fieldKey: 'decimal_field2',
        label: 'Decimal Field2',
        hint: '0.00',
        isRequired: false,
        decimalPlaces: 2,
      ),

  // Number Fields
      NumberField(
        fieldKey: 'percentage_field',
        label: 'Percentage Field',
        hint: 'Enter Percentage Field',
        isRequired: false,
        min: 0,
        decimalPlaces: 0,
      ),

  // Number Fields
      NumberField(
        fieldKey: 'percentage_field2',
        label: 'Percentage Field2',
        hint: 'Enter Percentage Field2',
        isRequired: false,
        min: 0,
        decimalPlaces: 0,
      ),





 CaptchaField(
        fieldKey: 'recaptcha',
        label: 'recaptcha',
        length: 6,
      ),



 CaptchaField(
        fieldKey: 'recaptcha2',
        label: 'recaptcha2',
        length: 6,
      ),

    ];
  }
}
