JezK
Edit File: sc-subscription-reactivate2.js.map
{"file":"sc-subscription-reactivate2.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2PAiDyH,UAAE;;;;;;;;;;;;;;;;;;;2PAiBF,UAAE;;;;;;;;;;;iTAqBxG,UAAE,wRAUgC,UAAE,kCACpC,UAAE;+CACF,UAAE;;;;;iBAUF,UAAE,2WAKF,UAAE,iLAGF,UAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/controllers/dashboard/subscription-reactivate/sc-subscription-reactivate.tsx"],"sourcesContent":["import { Component, Event, EventEmitter, Fragment, Prop, State, Watch, h } from '@stencil/core';\nimport { __ } from '@wordpress/i18n';\nimport { Checkout, Period, Subscription } from 'src/types';\nimport apiFetch from '../../../../functions/fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n@Component({\n tag: 'sc-subscription-reactivate',\n shadow: true,\n})\nexport class ScSubscriptionReactivate {\n /** Whether it is open */\n @Prop() open: boolean;\n\n /** The subscription to reactivate */\n @Prop() subscription: Subscription;\n\n /** Reactivate modal closed */\n @Event({ cancelable: true }) scRequestClose: EventEmitter<'close-button' | 'keyboard' | 'overlay'>;\n\n /** Refresh subscriptions */\n @Event() scRefresh: EventEmitter<void>;\n\n @State() busy: boolean;\n @State() error: string;\n @State() upcomingPeriod: Period;\n @State() loading: boolean = false;\n\n @Watch('open')\n openChanged() {\n if (this.open) {\n this.fetchUpcoming();\n }\n }\n\n async fetchUpcoming() {\n this.loading = true;\n try {\n this.upcomingPeriod = await apiFetch({\n method: 'PATCH',\n path: addQueryArgs(`surecart/v1/subscriptions/${this.subscription?.id}/upcoming_period`, {\n skip_product_group_validation: true,\n expand: ['period.checkout'],\n }),\n data: {\n purge_pending_update: false,\n },\n });\n } catch (e) {\n this.error = e?.additional_errors?.length ? e.additional_errors.map(err => err.message).join(', ') : e?.message || __('Something went wrong', 'surecart');\n } finally {\n this.loading = false;\n }\n }\n\n async reactivateSubscription() {\n try {\n this.error = '';\n this.busy = true;\n await apiFetch({\n path: `surecart/v1/subscriptions/${this.subscription?.id}/restore`,\n method: 'PATCH',\n });\n this.scRefresh.emit();\n this.scRequestClose.emit('close-button');\n } catch (e) {\n this.error = e?.additional_errors?.length ? e.additional_errors.map(err => err.message).join(', ') : e?.message || __('Something went wrong', 'surecart');\n } finally {\n this.busy = false;\n }\n }\n\n renderLoading() {\n return (\n <sc-flex flexDirection=\"column\" style={{ gap: '1em' }}>\n <sc-skeleton style={{ width: '20%', display: 'inline-block' }}></sc-skeleton>\n <sc-skeleton style={{ width: '60%', display: 'inline-block' }}></sc-skeleton>\n <sc-skeleton style={{ width: '40%', display: 'inline-block' }}></sc-skeleton>\n </sc-flex>\n );\n }\n\n render() {\n return (\n <sc-dialog noHeader open={this.open} style={{ '--width': '600px', '--body-spacing': 'var(--sc-spacing-xxx-large)' }}>\n <sc-dashboard-module\n loading={this.loading}\n heading={__('Resubscribe', 'surecart')}\n class=\"subscription-reactivate\"\n error={this.error}\n style={{ '--sc-dashboard-module-spacing': '1em' }}\n >\n {this.loading ? (\n this.renderLoading()\n ) : (\n <Fragment>\n <div slot=\"description\">\n <sc-alert open type=\"warning\" title={__('Confirm Charge', 'surecart')}>\n {__('You will be charged', 'surecart')} {(this.upcomingPeriod?.checkout as Checkout)?.amount_due_display_amount}{' '}\n {__('immediately for your subscription.', 'surecart')}\n </sc-alert>\n <sc-text\n style={{\n '--font-size': 'var(--sc-font-size-medium)',\n '--color': 'var(--sc-input-label-color)',\n '--line-height': 'var(--sc-line-height-dense)',\n 'margin-top': 'var(--sc-spacing-medium)',\n }}\n >\n {__('Your subscription will be reactivated and will renew automatically on', 'surecart')} <strong>{this.upcomingPeriod?.end_at_date}</strong>\n </sc-text>\n </div>\n <sc-flex justifyContent=\"flex-start\">\n <sc-button type=\"primary\" loading={this.busy} disabled={this.busy} onClick={() => this.reactivateSubscription()}>\n {__('Yes, Reactivate', 'surecart')}\n </sc-button>\n <sc-button disabled={this.busy} style={{ color: 'var(--sc-color-gray-500)' }} type=\"text\" onClick={() => this.scRequestClose.emit()}>\n {__('No, Keep Inactive', 'surecart')}\n </sc-button>\n </sc-flex>\n </Fragment>\n )}\n {this.busy && <sc-block-ui></sc-block-ui>}\n </sc-dashboard-module>\n </sc-dialog>\n );\n }\n}\n"],"version":3}