import { h } from 'preact'; import { ExternalLink, Check } from 'react-feather'; import { useState } from 'preact/hooks'; import { useSelector, useDispatch } from 'react-redux' import { State } from './../store'; import http from '../http'; function OfferLine(offer) { const ws = useSelector((state: State) => state.ws); function setStatus(status) { ws.sendOfferStatusSet(offer.id, status); } const accepted = offer.status === 'Accepted'; const classes = `${accepted ? 'accepted' : ''}`; const btnText = accepted ? offer.status : 'Accept'; const negBtn = accepted ? : ; return (
${offer.total} {negBtn}
) } function OfferPriceBtn(offer) { const ws = useSelector((state: State) => state.ws); const accepted = offer.status === 'Accepted'; const confirmed = offer.status === 'Confirmed'; function setStatus() { if (accepted) return ws.sendOfferStatusSet(offer.id, 'Pending') ws.sendOfferStatusSet(offer.id, 'Accepted'); } const classes = `${accepted ? 'accepted' : ''} ${confirmed ? 'confirmed' : ''}`; const btnText = accepted ? offer.status : 'Accept'; return ( ) } export default function WantOffers(wantOffers) { const ws = useSelector((state: State) => state.ws); const details = wantOffers[0].want.data; return (

{details.artists_sort} - {details.title}

{details.year}
{details.formats.map(f => f.descriptions.join(' ')).join(' ')}
{wantOffers.map(o => OfferPriceBtn(o))}
) }