// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance // with the License. A copy of the License is located at // // http://aws.amazon.com/apache2.0/ // // or in the "LICENSE.txt" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES // OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions and // limitations under the License. import {ImageBuildStatus, ImageInfoSummary} from '../../types/images' import React, {useCallback} from 'react' import {setState, getState, useState} from '../../store' import {GetCustomImageConfiguration} from '../../model' import {useCollection} from '@cloudscape-design/collection-hooks' import {useTranslation} from 'react-i18next' import Tabs from '@cloudscape-design/components/tabs' import { Button, ColumnLayout, Container, Header, Pagination, Link, Popover, SpaceBetween, StatusIndicator, Table, TextFilter, } from '@cloudscape-design/components' import Loading from '../../components/Loading' import DateView from '../../components/date/DateView' import CustomImageStackEvents from './CustomImageStackEvents' import {ValueWithLabel} from '../../components/ValueWithLabel' import EmptyState from '../../components/EmptyState' import {truncate} from 'lodash' const customImagesPath = ['app', 'customImages'] function CustomImageConfiguration() { const configuration = useState([...customImagesPath, 'config']) React.useEffect(() => { const imageId = getState([...customImagesPath, 'selected']) GetCustomImageConfiguration(imageId, (configuration: any) => { setState([...customImagesPath, 'config'], configuration) }) }, []) return configuration ? (