group status

This commit is contained in:
ntr committed 2022-10-29 11:57:20 +11:00
1 parent f0e366a73d
commit b199ce94c1
6 files changed
+25 -13

No files matched your search

+3 -3
View File
@@ -65,13 +65,13 @@ export default function createEvents(log: Log, pg: Pg, discogs, offers) {
log.info({ event: Events.ListingsUpdated, bundles: bundles.length }); log.info({ event: Events.ListingsUpdated, bundles: bundles.length });
for (const bundle of bundles) { for (const bundle of bundles) {
log.info({ seller: bundle.seller, items: bundle.items.length }, 'generating offers...'); log.debug({ seller: bundle.seller, items: bundle.items.length }, 'generating offers...');
const listingIds = bundle.items.map(i => i.id); const listingIds = bundle.items.map(i => i.id);
const updatedOffers = await offers.generate(listingIds, 100, 30) const updatedOffers = await offers.generate(listingIds, 100, 30)
log.info({ offers: updatedOffers.length }, 'offers set'); log.debug({ offers: updatedOffers.length }, 'offers set');
} }
log.info('offers up to date'); log.trace('offers up to date');
}); });
events.on(Events.Connection, async function onConnection({ ws, id }) { events.on(Events.Connection, async function onConnection({ ws, id }) {
+1 -1
View File
@@ -22,7 +22,7 @@ function sortOffers(o) {
export default function createOffers(log: Log, pg: Pg) { export default function createOffers(log: Log, pg: Pg) {
async function generate(listingIds: DiscogsListing[], bulkShipping: number, baseShipping: number) { async function generate(listingIds: DiscogsListing[], bulkShipping: number, baseShipping: number) {
log.info('generateOffers', { listingIds, bulkShipping, baseShipping }); log.debug('generateOffers', { listingIds, bulkShipping, baseShipping });
const listings = await pg.listingByIds(listingIds); const listings = await pg.listingByIds(listingIds);
// log.info({ listings }, 'creating offers for listings') // log.info({ listings }, 'creating offers for listings')
+4 -3
View File
@@ -59,9 +59,10 @@ export default function createPg(log: Log, prisma: PrismaClient): Pg {
include: { include: {
want: true, want: true,
}, },
orderBy: { orderBy: [
total: 'asc', { total: 'asc' },
}, { listingId: 'asc' },
],
}); });
} }
+8 -5
View File
@@ -26,7 +26,8 @@ function OfferLine(offer) {
return ( return (
<div class="line"> <div class="line">
<span class='number'>${offer.total}</span> <div class='number'>${offer.total}</div>
<div class='number'>{offer.condition}</div>
<button onClick={() => setStatus('Accepted')} disabled={accepted} class={classes} >{btnText}</button> <button onClick={() => setStatus('Accepted')} disabled={accepted} class={classes} >{btnText}</button>
{negBtn} {negBtn}
</div> </div>
@@ -54,17 +55,19 @@ function OfferPriceBtn(offer) {
} }
export default function WantOffers(wantOffers) { export default function WantOffers(wantOffers, i) {
const ws = useSelector((state: State) => state.ws); const ws = useSelector((state: State) => state.ws);
const details = wantOffers[0].want.data; const details = wantOffers[0].want.data;
return ( return (
<div class="offer"> <div class="offer" key={i}>
<section> <section>
<h3>{details.artists_sort} - {details.title} <a href={details.uri} target="_blank"><ExternalLink /></a></h3> <h3>{details.artists_sort} - {details.title} <a href={details.uri} target="_blank"><ExternalLink /></a></h3>
<div class='alt-text' >{details.year}</div> <div class='alt-text details'>
<div class='alt-text'>{details.formats.map(f => f.descriptions.join(' ')).join(' ')}</div> {details.year} - {details.formats.map(f => f.descriptions.join(' ')).join(' ')}
</div>
<div class='alt-text details'>Status: {wantOffers[0].status}</div>
</section> </section>
<img src={details.thumb} /> <img src={details.thumb} />
<div class="lines"> <div class="lines">
+1 -1
View File
@@ -14,7 +14,7 @@ function Home() {
const groups = Object.values(offers); const groups = Object.values(offers);
if (!groups.length) { if (offers && !groups.length) {
route('/search'); route('/search');
} }
+8
View File
@@ -403,6 +403,14 @@ header {
margin: var(--spacing-half); margin: var(--spacing-half);
background: var(--background-1); background: var(--background-1);
.details {
font-size: var(--small-font-size);
}
.status {
margin-top: var(--spacing-half);
}
section { section {
grid-area: details; grid-area: details;
} }