@@ -8,7 +8,7 @@ import {state} from 'lit/decorators.js';
88import { Observe } from '../../utils/observers' ;
99
1010import '../common/ui/steam-button' ;
11- import { AppId , ContextId } from '../../types/steam_constants' ;
11+ import { AppId , ContextId , TradeOfferState } from '../../types/steam_constants' ;
1212import { HasPermissions } from '../../bridge/handlers/has_permissions' ;
1313import { hasQueryParameter } from '../../utils/browser' ;
1414
@@ -115,6 +115,15 @@ export class AutoFill extends FloatElement {
115115 return html `` ;
116116 }
117117
118+ if (
119+ [ TradeOfferState . Active , TradeOfferState . Accepted , TradeOfferState . CreatedNeedsConfirmation ] . includes (
120+ trade . steam_offer ?. state
121+ )
122+ ) {
123+ // Already had a trade offer created
124+ return html `` ;
125+ }
126+
118127 const item = trade . contract . item ;
119128
120129 if ( g_rgCurrentTradeStatus . me . assets . find ( ( a ) => a . assetid === item . asset_id ) ) {
@@ -148,7 +157,20 @@ export class AutoFill extends FloatElement {
148157 . filter (
149158 ( trade ) => ! g_rgCurrentTradeStatus . me . assets . find ( ( a ) => a . assetid === trade . contract . item . asset_id )
150159 )
151- . filter ( ( trade ) => trade . state === TradeState . PENDING ) ;
160+ . filter ( ( trade ) => trade . state === TradeState . PENDING )
161+ . filter ( ( trade ) => {
162+ if ( ! trade . steam_offer ?. id ) {
163+ // Trade offer hasn't been created yet
164+ return true ;
165+ }
166+
167+ // Only include trades with previous "non-active" trade offers
168+ return ! [
169+ TradeOfferState . Active ,
170+ TradeOfferState . Accepted ,
171+ TradeOfferState . CreatedNeedsConfirmation ,
172+ ] . includes ( trade . steam_offer ?. state ) ;
173+ } ) ;
152174
153175 // Bulk implies > 1
154176 if ( fTrades . length <= 1 ) {
0 commit comments