Emi Matchu
4b9e11fc2a
This logic is copied from DTI 2020! Though I didn't include the part where we highlight trade matches yet!
26 lines
768 B
Ruby
26 lines
768 B
Ruby
module ItemTradesHelper
|
|
def vague_trade_timestamp(last_trade_activity_at)
|
|
if last_trade_activity_at >= 1.week.ago
|
|
translate "item_trades.index.table.last_active.this_week"
|
|
else
|
|
last_trade_activity_at.strftime("%b %Y")
|
|
end
|
|
end
|
|
|
|
def sorted_vaguely_by_trade_activity(trades)
|
|
# First, sort the list in ascending order.
|
|
trades_ascending = trades.sort_by do |trade|
|
|
if trade.user.last_trade_activity_at >= 1.week.ago
|
|
# Sort recent trades in a random order, but still collectively as the
|
|
# most recent. (This discourages spamming updates to game the system!)
|
|
[1, rand]
|
|
else
|
|
# Sort older trades by last trade activity.
|
|
[0, trade.user.last_trade_activity_at]
|
|
end
|
|
end
|
|
|
|
# Then, reverse it!
|
|
trades_ascending.reverse!
|
|
end
|
|
end
|