diff --git a/api/resolvers/item.js b/api/resolvers/item.js index 5ff729d3..ac169d11 100644 --- a/api/resolvers/item.js +++ b/api/resolvers/item.js @@ -26,7 +26,7 @@ import { verifyHmac } from './wallet' function commentsOrderByClause (me, models, sort) { if (sort === 'recent') { - return 'ORDER BY ("Item"."deletedAt" IS NULL) DESC, ("Item".cost > 0 OR "Item"."weightedVotes" - "Item"."weightedDownVotes" > 0) DESC, "Item".created_at DESC, "Item".id DESC' + return 'ORDER BY ("Item"."deletedAt" IS NULL) DESC, ("Item".cost > 0 OR "Item"."weightedVotes" - "Item"."weightedDownVotes" > 0) DESC, COALESCE("Item"."invoicePaidAt", "Item".created_at) DESC, "Item".id DESC' } if (me && sort === 'hot') { @@ -412,10 +412,10 @@ export default { typeClause(type), muteClause(me) )} - ORDER BY "Item".created_at DESC + ORDER BY COALESCE("Item"."invoicePaidAt", "Item".created_at) DESC OFFSET $2 LIMIT $3`, - orderBy: 'ORDER BY "Item"."createdAt" DESC' + orderBy: 'ORDER BY COALESCE("Item"."invoicePaidAt", "Item".created_at) DESC' }, decodedCursor.time, decodedCursor.offset, limit, ...subArr) break case 'top': diff --git a/api/typeDefs/item.js b/api/typeDefs/item.js index e44eca24..f817e340 100644 --- a/api/typeDefs/item.js +++ b/api/typeDefs/item.js @@ -107,6 +107,7 @@ export default gql` id: ID! createdAt: Date! updatedAt: Date! + invoicePaidAt: Date deletedAt: Date deleteScheduledAt: Date reminderScheduledAt: Date diff --git a/components/item-info.js b/components/item-info.js index f7301789..ad0ed310 100644 --- a/components/item-info.js +++ b/components/item-info.js @@ -135,8 +135,8 @@ export default function ItemInfo ({ {embellishUser} } - - {timeSince(new Date(item.createdAt))} + + {timeSince(new Date(item.invoicePaidAt || item.createdAt))} {item.prior && <> @@ -250,6 +250,11 @@ function InfoDropdownItem ({ item }) {