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 '../Basicp2_viewModel/Basicp2_view_model_screen.dart';/// Field definitions for Basicp2 entity
/// This defines the structure and validation for Basicp2 forms
class Basicp2Fields {
  /// Get field definitions for Basicp2 entity
  static List<BaseField> getFields(BuildContext context) {
    final viewModel =
        Provider.of<Basicp2ViewModelScreen>(context, listen: false);
    return [
      // Basic Information
CustomTextField(
        fieldKey: 'about',
        label: 'about',
        hint: 'Enter about',
        isRequired: false,
        maxLength: 1000,
      ),

CustomTextField(
        fieldKey: 'textarea2',
        label: 'Textarea2',
        hint: 'Enter Textarea2',
        isRequired: false,
        maxLength: 1000,
      ),

 DateField(
        fieldKey: 'date_field',
        label: 'Date Field',
        hint: 'Select Date Field',
        isRequired: false,
      ),

 DateField(
        fieldKey: 'date_field2',
        label: 'Date Field2',
        hint: 'Select Date Field2',
        isRequired: false,
      ),

 CustomTextField(
        fieldKey: 'datetime_field',
        label: 'Datetime Field',
        hint: 'Enter Datetime Field',
        isRequired: true,
        maxLength: 50,
      ),

 CustomTextField(
        fieldKey: 'datetime_field2',
        label: 'Datetime Field2',
        hint: 'Enter Datetime Field2',
        isRequired: true,
        maxLength: 50,
      ),

EmailField(
        fieldKey: 'email_field',
        label: 'Email Field',
        hint: 'Enter Email Field',
        isRequired: false,
      ),

EmailField(
        fieldKey: 'email_field2',
        label: 'Email Field2',
        hint: 'Enter Email Field2',
        isRequired: false,
      ),

 CustomTextField(
        fieldKey: 'userid_field',
        label: 'UserId Field',
        hint: 'Enter UserId Field',
        isRequired: true,
        maxLength: 50,
      ),

    ];
  }
}
