Skip to content

Commit 74e676d

Browse files
committed
Fix some code organization. Fix error cta issue with non-link ctas
1 parent 59fbeef commit 74e676d

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

src/lib/components/inventory/list_item_modal.ts

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ export class ListItemModal extends FloatElement {
7070
async connectedCallback() {
7171
super.connectedCallback();
7272

73+
// Prevent background scrolling
74+
document.body.style.overflow = 'hidden';
75+
document.body.style.paddingRight = 'var(--scrollbar-width)';
76+
7377
try {
7478
this.isInitialLoading = true;
7579
const isLoggedIn = await isLoggedIntoCSFloat();
@@ -85,10 +89,6 @@ export class ListItemModal extends FloatElement {
8589
};
8690
}
8791

88-
// Prevent background scrolling
89-
document.body.style.overflow = 'hidden';
90-
document.body.style.paddingRight = 'var(--scrollbar-width)';
91-
9292
try {
9393
await this.fetchRecommendedPrice();
9494
if (!this.recommendedPrice) {
@@ -99,7 +99,7 @@ export class ListItemModal extends FloatElement {
9999
} finally {
100100
this.isInitialLoading = false;
101101

102-
// Set initial slider progress
102+
// Set initial slider progress after initial loading is done
103103
requestAnimationFrame(() => {
104104
const slider = this.shadowRoot?.querySelector('.percentage-slider') as HTMLInputElement;
105105
if (slider) {
@@ -138,6 +138,7 @@ export class ListItemModal extends FloatElement {
138138
} catch (error: unknown) {
139139
this.error = {
140140
message: error instanceof Error ? error.message : 'Failed to fetch price. Please try again later.',
141+
cta: 'Done',
141142
};
142143
throw error; // Re-throw to handle in connectedCallback
143144
}
@@ -369,13 +370,19 @@ export class ListItemModal extends FloatElement {
369370
${this.error
370371
? html`<div class="error-container">
371372
<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``}
379386
</div>`
380387
: html``}
381388
${this.error?.cta

0 commit comments

Comments
 (0)