// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import { I18n } from '@aws-amplify/core'; import React from 'react'; import Form from 'react-bootstrap/Form'; import { CreatedBy, FormControlElement, GreengrassCoreDeviceDomIds, UserGreengrassCoreDevice } from '../../util/types'; type GreengrassCoreDeviceInputFormRequest = { createdBy: CreatedBy; domIds: GreengrassCoreDeviceDomIds; greengrassCoreDeviceName: string; greengrassCoreDevices: UserGreengrassCoreDevice[]; handleValueChange: (event: React.ChangeEvent) => void; isGreengrassCoreDeviceNameValid: boolean; }; /** * Renders the Greengrass core device input form. * @param props The Greengrass core device input properties * @returns The Greengrass core device input form */ export default function GreengrassCoreDeviceInputForm(props: GreengrassCoreDeviceInputFormRequest): JSX.Element { const { createdBy, domIds, greengrassCoreDeviceName, greengrassCoreDevices, handleValueChange, isGreengrassCoreDeviceNameValid } = props; return ( {I18n.get('greengrass.core.device.name')} * {createdBy === CreatedBy.SYSTEM && ( <> {I18n.get('description.greengrass.core.device.name')} {I18n.get('invalid.greengrass.core.device.name')} )} {createdBy === CreatedBy.USER && ( <> {I18n.get('description.existing.greengrass.core.device.name')} {greengrassCoreDevices.length === 0 && } {greengrassCoreDevices.length > 0 && greengrassCoreDevices.map((greengrassCoreDevice: UserGreengrassCoreDevice) => ( ))} )} ); }