"""Field name mappings and descriptions for VIN decode results"""

# Mapping from model field names to clean display labels
FIELD_LABELS = {
    # Vehicle Identity
    "vin": "VIN",
    "make": "Make",
    "model": "Model",
    "model_year": "Model Year",
    "manufacturer": "Manufacturer",
    "make_id": "Make ID",
    "model_id": "Model ID",
    "manufacturer_id": "Manufacturer ID",
    # Vehicle Specs
    "body_class": "Body Class",
    "vehicle_type": "Vehicle Type",
    "doors": "Doors",
    "trim": "Trim",
    "trim_alt": "Trim (Alt)",
    "axles": "Axles",
    "axle_configuration": "Axle Configuration",
    "body_cab_type": "Body/Cab Type",
    "bed_type": "Bed Type",
    "bed_length_in": "Bed Length (in)",
    "bus_type": "Bus Type",
    "bus_floor_config": "Bus Floor Configuration",
    "bus_length": "Bus Length (in)",
    "custom_motorcycle_type": "Custom Motorcycle Type",
    # Drivetrain
    "engine_model": "Engine Model",
    "engine_cylinders": "Engine Cylinders",
    "displacement_liters": "Displacement (L)",
    "displacement_cc": "Displacement (cc)",
    "displacement_ci": "Displacement (ci)",
    "fuel_type": "Fuel Type",
    "transmission_style": "Transmission Style",
    "drive_type": "Drive Type",
    # Safety
    "abs": "ABS",
    "esc": "ESC",
    "airbag_locations_front": "Front Airbag Locations",
    "airbag_locations_curtain": "Curtain Airbag Locations",
    "airbag_locations_knee": "Knee Airbag Locations",
    "airbag_locations_seat": "Seat Cushion Airbag Locations",
    "airbag_locations_side": "Side Airbag Locations",
    # Manufacturing
    "plant_city": "Plant City",
    "plant_country": "Plant Country",
    "plant_state": "Plant State",
    "plant_company": "Plant Company",
    # Errors and Suggestions
    "error_code": "Error Code",
    "error_text": "Error Text",
    "additional_error_text": "Additional Error Text",
    "suggested_vin": "Suggested VIN",
    "possible_values": "Possible Values",
}

# Field descriptions for tooltips (extracted from Pydantic model)
FIELD_DESCRIPTIONS = {
    "vin": "Vehicle Identification Number",
    "make": "Vehicle make",
    "model": "Vehicle model",
    "model_year": "Vehicle model year",
    "manufacturer": "Vehicle manufacturer",
    "make_id": "Vehicle make ID",
    "model_id": "Vehicle model ID",
    "manufacturer_id": "Vehicle manufacturer ID",
    "body_class": "Vehicle body class",
    "vehicle_type": "Vehicle type",
    "doors": "Number of doors",
    "trim": "Vehicle trim",
    "trim_alt": "Vehicle trim (alternate)",
    "axles": "Number of axles",
    "axle_configuration": "Axle configuration",
    "body_cab_type": "Body cab type",
    "bed_type": "Bed type",
    "bed_length_in": "Bed length in inches",
    "bus_type": "Bus type",
    "bus_floor_config": "Bus floor configuration",
    "bus_length": "Bus length in inches",
    "custom_motorcycle_type": "Custom motorcycle type",
    "engine_model": "Engine model",
    "engine_cylinders": "Number of engine cylinders",
    "displacement_liters": "Engine displacement in liters",
    "displacement_cc": "Engine displacement in cubic centimeters",
    "displacement_ci": "Engine displacement in cubic inches",
    "fuel_type": "Primary fuel type",
    "transmission_style": "Transmission style",
    "drive_type": "Drive type (FWD, RWD, AWD, etc.)",
    "abs": "Anti-lock braking system (ABS) presence",
    "esc": "Electronic stability control (ESC) presence",
    "airbag_locations_front": "Airbag locations in the front",
    "airbag_locations_curtain": "Curtain airbag locations",
    "airbag_locations_knee": "Knee airbag locations",
    "airbag_locations_seat": "Seat cushion airbag locations",
    "airbag_locations_side": "Side airbag locations",
    "plant_city": "City where vehicle was manufactured",
    "plant_country": "Country where vehicle was manufactured",
    "plant_state": "State where vehicle was manufactured",
    "plant_company": "Company that manufactured the vehicle",
    "error_code": "Error code from NHTSA API",
    "error_text": "Error text from NHTSA API",
    "additional_error_text": "Additional error text from NHTSA API",
    "suggested_vin": "Suggested VIN from NHTSA API for correcting input",
    "possible_values": "Possible values for ambiguous VIN positions",
}

__all__ = ["FIELD_LABELS", "FIELD_DESCRIPTIONS"]
