/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0 */ import React, { useState, useCallback } from "react"; import { Dashboard } from "../models"; import { useDateTimeFormatter, useSettings } from "../hooks"; import Search from "./Search"; import Link from "./Link"; import Table from "./Table"; import { useTranslation } from "react-i18next"; interface Props { dashboards: Array; } function ArchivedTab(props: Props) { const [filter, setFilter] = useState(""); const [, setSelected] = useState>([]); const { settings } = useSettings(); const dateFormatter = useDateTimeFormatter(); const { dashboards } = props; const { t } = useTranslation(); const onSearch = (query: string) => { setFilter(query); }; const onSelect = useCallback((selectedDashboards: Array) => { setSelected(selectedDashboards); }, []); return (

{t("ArchivedTabDescription")}

dashboards, [dashboards])} screenReaderField="name" onSelection={onSelect} width="100%" pageSize={10} columns={React.useMemo( () => [ { Header: t("DashboardName"), accessor: "name", Cell: (props: any) => { const dashboard = props.row.original as Dashboard; return ( {dashboard.name} ); }, }, { Header: settings.topicAreaLabels.singular, accessor: "topicAreaName", }, { Header: t("LastUpdatedLabel"), accessor: "updatedAt", Cell: (props: any) => dateFormatter(props.value), }, { Header: t("ArchivedBy"), accessor: "archivedBy", }, ], [dateFormatter, settings, t], )} /> ); } export default ArchivedTab;