import React, { useState } from 'react'; import { Offer, Order } from '@duffel/api'; import { Header } from './components/Header'; import { Hero } from './components/Hero'; import { SearchCard } from './examples/SearchCard'; import { BookingCard } from './examples/BookingCard'; import { ConfirmationCard } from './examples/ConfirmationCard'; import { Resource } from './types'; import './index.css'; const ErrorDisplay: React.FC<{ error: Error }> = ({ error }) => (
{error.message}
); function App() { const [offer, setOffer] = useState>(null); const [order, setOrder] = useState>(null); const hasOffer = offer && typeof offer === 'object' && !(offer instanceof Error); const hasOrder = order && typeof order === 'object' && !(order instanceof Error); return (
{!offer && ( setOrder(null)} onSuccess={(offer) => setOffer(offer)} onError={(e) => setOffer(e)} /> )} {hasOffer && !hasOrder && ( setOrder(order)} onError={(e) => { setOrder(e); setOffer(null); }} /> )} {hasOffer && hasOrder && } {offer instanceof Error && } {order instanceof Error && } {offer && ( )}
); } export default App;