/*! Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0 */ import { Alert, Heading, Stack } from 'aws-northstar'; import { ApiError } from '@ada/api'; import { isApiError } from '@ada/api/client/types'; import HeadingStripe from '../HeadingStripe'; import React, { ReactNode } from 'react'; export interface PageNotFoundProps { title?: React.ReactChild | React.ReactFragment; description?: React.ReactChild | React.ReactFragment; details?: ReactNode | ApiError; destinationLinksHeading?: string; destinationLinks?: React.ReactNode[]; tipHeading?: string; tip?: ReactNode; } export const PageNotFound: React.FC = ({ children, title = 'Not found', description, details, destinationLinksHeading = 'Alternative destinations', destinationLinks, tipHeading = 'Tip', tip, }) => { if (details && isApiError(details)) { details = ( {details.details} ); } return ( {details || children} {destinationLinks && ( <> {destinationLinksHeading} {destinationLinks} )} {tip && ( {tip} )} ); };