@@ -70,6 +70,10 @@ export class ListItemModal extends FloatElement {
70
70
async connectedCallback ( ) {
71
71
super . connectedCallback ( ) ;
72
72
73
+ // Prevent background scrolling
74
+ document . body . style . overflow = 'hidden' ;
75
+ document . body . style . paddingRight = 'var(--scrollbar-width)' ;
76
+
73
77
try {
74
78
this . isInitialLoading = true ;
75
79
const isLoggedIn = await isLoggedIntoCSFloat ( ) ;
@@ -85,10 +89,6 @@ export class ListItemModal extends FloatElement {
85
89
} ;
86
90
}
87
91
88
- // Prevent background scrolling
89
- document . body . style . overflow = 'hidden' ;
90
- document . body . style . paddingRight = 'var(--scrollbar-width)' ;
91
-
92
92
try {
93
93
await this . fetchRecommendedPrice ( ) ;
94
94
if ( ! this . recommendedPrice ) {
@@ -99,7 +99,7 @@ export class ListItemModal extends FloatElement {
99
99
} finally {
100
100
this . isInitialLoading = false ;
101
101
102
- // Set initial slider progress
102
+ // Set initial slider progress after initial loading is done
103
103
requestAnimationFrame ( ( ) => {
104
104
const slider = this . shadowRoot ?. querySelector ( '.percentage-slider' ) as HTMLInputElement ;
105
105
if ( slider ) {
@@ -138,6 +138,7 @@ export class ListItemModal extends FloatElement {
138
138
} catch ( error : unknown ) {
139
139
this . error = {
140
140
message : error instanceof Error ? error . message : 'Failed to fetch price. Please try again later.' ,
141
+ cta : 'Done' ,
141
142
} ;
142
143
throw error ; // Re-throw to handle in connectedCallback
143
144
}
@@ -369,13 +370,19 @@ export class ListItemModal extends FloatElement {
369
370
${ this . error
370
371
? html `< div class ="error-container ">
371
372
< div class ="error-message "> ${ this . error . message } </ div >
372
- < a
373
- href ="${ this . error . ctaHref } "
374
- class ="base-button primary-button error-cta "
375
- target ="_blank "
376
- rel ="noopener noreferrer "
377
- > ${ this . error . cta } </ a
378
- >
373
+ ${ this . error . cta
374
+ ? html `< button
375
+ @click ="${ ( ) => {
376
+ if ( this . error ?. ctaHref ) {
377
+ window . open ( this . error ?. ctaHref , '_blank' ) ;
378
+ }
379
+ this . handleClose ( ) ;
380
+ } } "
381
+ class ="base-button primary-button error-cta "
382
+ >
383
+ ${ this . error . cta }
384
+ </ button > `
385
+ : html `` }
379
386
</ div > `
380
387
: html `` }
381
388
${ this . error ?. cta
0 commit comments