diff --git a/web/satellite/src/components/onboardingTour/OnboardingTourArea.vue b/web/satellite/src/components/onboardingTour/OnboardingTourArea.vue index eecbd7b67..088ad2501 100644 --- a/web/satellite/src/components/onboardingTour/OnboardingTourArea.vue +++ b/web/satellite/src/components/onboardingTour/OnboardingTourArea.vue @@ -52,22 +52,8 @@ export default class OnboardingTourArea extends Vue { return; } - if (this.userHasProject && !this.userHasAccessGrants) { + if (this.$route.name === RouteConfig.AccessGrant.name) { this.disableInfoBar(); - this.setCreateAccessGrantStep(); - - return; - } - - if (this.$store.state.paymentsModule.creditCards.length > 0) { - this.disableInfoBar(); - this.setCreateAccessGrantStep(); - - return; - } - - if (this.$store.getters.isTransactionProcessing || this.$store.getters.isBalancePositive) { - this.setAddPaymentStep(); } } @@ -78,13 +64,6 @@ export default class OnboardingTourArea extends Vue { return this.$store.state.paymentsModule.isPaywallEnabled; } - /** - * Sets area's state to adding payment method step. - */ - public setAddPaymentStep(): void { - this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.PaymentStep).path); - } - /** * Sets area's state to creating access grant step. */ diff --git a/web/satellite/src/components/onboardingTour/steps/AddPaymentStep.vue b/web/satellite/src/components/onboardingTour/steps/AddPaymentStep.vue index 2c4f03466..01f18db79 100644 --- a/web/satellite/src/components/onboardingTour/steps/AddPaymentStep.vue +++ b/web/satellite/src/components/onboardingTour/steps/AddPaymentStep.vue @@ -5,7 +5,8 @@

Get Started with 50 GB Free

- Adding a payment method ensures your project won’t be interrupted after your free credit is used. + Experience the decentralized cloud for free! If you find our network isn’t for you, cancel + any time before your credit runs out and you won’t be billed.

@@ -32,12 +33,12 @@

Transparent Monthly Pricing

@@ -84,6 +85,7 @@ import { Component, Vue } from 'vue-property-decorator'; import AddCardState from '@/components/onboardingTour/steps/paymentStates/AddCardState.vue'; import AddStorjState from '@/components/onboardingTour/steps/paymentStates/AddStorjState.vue'; +import { RouteConfig } from '@/router'; import { AddingPaymentState } from '@/utils/constants/onboardingTourEnums'; @Component({ @@ -102,6 +104,12 @@ export default class AddPaymentStep extends Vue { * Sets area to needed state. */ public mounted(): void { + if (this.userHasProject) { + this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.AccessGrant).path); + + return; + } + if (this.$store.getters.isTransactionProcessing || this.$store.getters.isBalancePositive) { this.setAddStorjState(); } @@ -143,10 +151,17 @@ export default class AddPaymentStep extends Vue { } /** - * Sets tour area to creating project state. + * Sets tour area to creating access grant state. */ - public setProjectState(): void { - this.$emit('setProjectState'); + public setCreateGrantStep(): void { + this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.AccessGrant).path); + } + + /** + * Indicates if user has at least one project. + */ + private get userHasProject(): boolean { + return this.$store.state.projectsModule.projects.length > 0; } } @@ -169,6 +184,7 @@ export default class AddPaymentStep extends Vue { position: relative; &__title { + font-family: 'font_bold', sans-serif; font-size: 32px; line-height: 39px; color: #1b2533; @@ -182,6 +198,10 @@ export default class AddPaymentStep extends Vue { margin-bottom: 35px; text-align: center; word-break: break-word; + + .bold { + font-family: 'font_medium', sans-serif; + } } &__methods-container { diff --git a/web/satellite/src/components/onboardingTour/steps/OverviewStep.vue b/web/satellite/src/components/onboardingTour/steps/OverviewStep.vue index 527d88375..f76c0e663 100644 --- a/web/satellite/src/components/onboardingTour/steps/OverviewStep.vue +++ b/web/satellite/src/components/onboardingTour/steps/OverviewStep.vue @@ -9,6 +9,13 @@ import { Component, Vue } from 'vue-property-decorator'; import VButton from '@/components/common/VButton.vue'; import { RouteConfig } from '@/router'; +import { API_KEYS_ACTIONS } from '@/store/modules/apiKeys'; +import { BUCKET_ACTIONS } from '@/store/modules/buckets'; +import { PAYMENTS_ACTIONS } from '@/store/modules/payments'; +import { PROJECTS_ACTIONS } from '@/store/modules/projects'; +import { ProjectFields } from '@/types/projects'; +import { PM_ACTIONS } from '@/utils/constants/actionNames'; +import { SegmentEvent } from '@/utils/constants/analyticsEventNames'; @Component({ components: { @@ -16,6 +23,24 @@ import { RouteConfig } from '@/router'; }, }) export default class OverviewStep extends Vue { + public isLoading: boolean = false; + + /** + * Lifecycle hook after initial render. + * Sets area to needed state. + */ + public mounted(): void { + if (this.userHasProject || this.$store.state.paymentsModule.creditCards.length > 0) { + this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.AccessGrant).path); + + return; + } + + if (this.$store.getters.isTransactionProcessing || this.$store.getters.isBalancePositive) { + this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.PaymentStep).path); + } + } + /** * Holds button click logic. * Redirects to next step (adding payment method). @@ -26,10 +51,46 @@ export default class OverviewStep extends Vue { /** * Holds button click logic. - * Redirects to next step (creating access grant). + * Creates untitled project and redirects to next step (creating access grant). */ - public onCreateGrantClick(): void { - this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.AccessGrant).path); + public async onCreateGrantClick(): Promise { + if (this.isLoading) return; + + this.isLoading = true; + + try { + const FIRST_PAGE = 1; + const UNTITLED_PROJECT_NAME = 'Untitled Project'; + const UNTITLED_PROJECT_DESCRIPTION = '___'; + const project = new ProjectFields( + UNTITLED_PROJECT_NAME, + UNTITLED_PROJECT_DESCRIPTION, + this.$store.getters.user.id, + ); + const createdProject = await this.$store.dispatch(PROJECTS_ACTIONS.CREATE, project); + const createdProjectId = createdProject.id; + + this.$segment.track(SegmentEvent.PROJECT_CREATED, { + project_id: createdProjectId, + }); + + await this.$store.dispatch(PROJECTS_ACTIONS.SELECT, createdProjectId); + await this.$store.dispatch(PM_ACTIONS.CLEAR); + await this.$store.dispatch(PM_ACTIONS.FETCH, FIRST_PAGE); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_PAYMENTS_HISTORY); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_BALANCE); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_PROJECT_USAGE_AND_CHARGES_CURRENT_ROLLUP); + await this.$store.dispatch(PROJECTS_ACTIONS.GET_LIMITS, createdProjectId); + await this.$store.dispatch(API_KEYS_ACTIONS.CLEAR); + await this.$store.dispatch(BUCKET_ACTIONS.CLEAR); + + this.isLoading = false; + + await this.$router.push(RouteConfig.OnboardingTour.with(RouteConfig.AccessGrant).path); + } catch (error) { + await this.$notify.error(error.message); + this.isLoading = false; + } } /** @@ -38,6 +99,13 @@ export default class OverviewStep extends Vue { public get isPaywallEnabled(): boolean { return this.$store.state.paymentsModule.isPaywallEnabled; } + + /** + * Indicates if user has at least one project. + */ + private get userHasProject(): boolean { + return this.$store.state.projectsModule.projects.length > 0; + } } diff --git a/web/satellite/src/components/onboardingTour/steps/overviewStep.html b/web/satellite/src/components/onboardingTour/steps/overviewStep.html index 1a09a5b21..37ed80ae0 100644 --- a/web/satellite/src/components/onboardingTour/steps/overviewStep.html +++ b/web/satellite/src/components/onboardingTour/steps/overviewStep.html @@ -35,6 +35,7 @@ label="Add a Payment Method" width="252px" height="48px" + :is-disabled="isLoading" :on-press="onAddPaymentClick" />

diff --git a/web/satellite/src/components/onboardingTour/steps/paymentStates/AddCardState.vue b/web/satellite/src/components/onboardingTour/steps/paymentStates/AddCardState.vue index 1e9d230b0..568de3436 100644 --- a/web/satellite/src/components/onboardingTour/steps/paymentStates/AddCardState.vue +++ b/web/satellite/src/components/onboardingTour/steps/paymentStates/AddCardState.vue @@ -16,15 +16,14 @@ Your card is secured by 128-bit SSL and AES-256 encryption. Your information is secure.
-
- loading gif - {{ isLoading ? 'Adding' : 'Add Payment' }} -
+

Next

+
@@ -32,10 +31,16 @@ import { Component, Vue } from 'vue-property-decorator'; import StripeCardInput from '@/components/account/billing/paymentMethods/StripeCardInput.vue'; +import VButton from '@/components/common/VButton.vue'; import LockImage from '@/../static/images/account/billing/lock.svg'; +import { API_KEYS_ACTIONS } from '@/store/modules/apiKeys'; +import { BUCKET_ACTIONS } from '@/store/modules/buckets'; import { PAYMENTS_ACTIONS } from '@/store/modules/payments'; +import { PROJECTS_ACTIONS } from '@/store/modules/projects'; +import { ProjectFields } from '@/types/projects'; +import { PM_ACTIONS } from '@/utils/constants/actionNames'; import { SegmentEvent } from '@/utils/constants/analyticsEventNames'; const { @@ -52,25 +57,67 @@ interface StripeForm { components: { StripeCardInput, LockImage, + VButton, }, }) export default class AddCardState extends Vue { - public isLoading: boolean = false; + private readonly TOGGLE_IS_LOADING: string = 'toggleIsLoading'; + private readonly SET_CREATE_GRANT_STEP: string = 'setCreateGrantStep'; + public isLoading: boolean = false; public $refs!: { stripeCardInput: StripeCardInput & StripeForm; }; /** - * Provides card information to Stripe. + * Provides card information to Stripe, creates untitled project and redirects to next step. */ - public async onConfirmAddStripe(): Promise { - await this.$refs.stripeCardInput.onSubmit(); + public async onCreateGrantClick(): Promise { + if (this.isLoading) return; - this.$segment.track(SegmentEvent.PAYMENT_METHOD_ADDED, { - project_id: this.$store.getters.selectedProject.id, - }); + this.isLoading = true; + + this.$emit(this.TOGGLE_IS_LOADING); + + try { + await this.$refs.stripeCardInput.onSubmit(); + + const FIRST_PAGE = 1; + const UNTITLED_PROJECT_NAME = 'Untitled Project'; + const UNTITLED_PROJECT_DESCRIPTION = '___'; + const project = new ProjectFields( + UNTITLED_PROJECT_NAME, + UNTITLED_PROJECT_DESCRIPTION, + this.$store.getters.user.id, + ); + const createdProject = await this.$store.dispatch(PROJECTS_ACTIONS.CREATE, project); + const createdProjectId = createdProject.id; + + this.$segment.track(SegmentEvent.PROJECT_CREATED, { + project_id: createdProjectId, + }); + this.$segment.track(SegmentEvent.PAYMENT_METHOD_ADDED, { + project_id: createdProjectId, + }); + + await this.$store.dispatch(PROJECTS_ACTIONS.SELECT, createdProjectId); + await this.$store.dispatch(PM_ACTIONS.CLEAR); + await this.$store.dispatch(PM_ACTIONS.FETCH, FIRST_PAGE); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_PAYMENTS_HISTORY); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_BALANCE); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_PROJECT_USAGE_AND_CHARGES_CURRENT_ROLLUP); + await this.$store.dispatch(PROJECTS_ACTIONS.GET_LIMITS, createdProjectId); + await this.$store.dispatch(API_KEYS_ACTIONS.CLEAR); + await this.$store.dispatch(BUCKET_ACTIONS.CLEAR); + + this.setDefaultState(); + + this.$emit(this.SET_CREATE_GRANT_STEP); + } catch (error) { + await this.$notify.error(error.message); + this.setDefaultState(); + } } /** @@ -79,11 +126,6 @@ export default class AddCardState extends Vue { * @param token from Stripe */ public async addCard(token: string) { - if (this.isLoading) return; - - this.isLoading = true; - this.$emit('toggleIsLoading'); - try { await this.$store.dispatch(ADD_CREDIT_CARD, token); } catch (error) { @@ -98,11 +140,8 @@ export default class AddCardState extends Vue { await this.$store.dispatch(GET_CREDIT_CARDS); } catch (error) { await this.$notify.error(error.message); + this.setDefaultState(); } - - this.setDefaultState(); - - this.$emit('setProjectState'); } /** @@ -110,7 +149,7 @@ export default class AddCardState extends Vue { */ private setDefaultState(): void { this.isLoading = false; - this.$emit('toggleIsLoading'); + this.$emit(this.TOGGLE_IS_LOADING); } } @@ -147,7 +186,6 @@ export default class AddCardState extends Vue { padding: 15px 35px; background-color: #cef0e3; border-radius: 0 0 8px 8px; - margin-bottom: 45px; display: flex; align-items: center; justify-content: center; @@ -160,34 +198,12 @@ export default class AddCardState extends Vue { } } - &__button { - display: flex; - justify-content: center; - align-items: center; - width: 156px; - height: 48px; - cursor: pointer; - border-radius: 6px; - background-color: #2683ff; - - &__loading-image { - margin-right: 5px; - width: 18px; - height: 18px; - } - - &__label { - font-family: 'font_medium', sans-serif; - font-size: 16px; - line-height: 23px; - color: #fff; - word-break: keep-all; - white-space: nowrap; - } - - &:hover { - background-color: #0059d0; - } + &__next-label { + font-weight: normal; + font-size: 16px; + line-height: 26px; + color: #768394; + margin: 35px 0; } } diff --git a/web/satellite/src/components/onboardingTour/steps/paymentStates/AddStorjState.vue b/web/satellite/src/components/onboardingTour/steps/paymentStates/AddStorjState.vue index f72856f5c..5f1937394 100644 --- a/web/satellite/src/components/onboardingTour/steps/paymentStates/AddStorjState.vue +++ b/web/satellite/src/components/onboardingTour/steps/paymentStates/AddStorjState.vue @@ -34,11 +34,12 @@
+

Next

@@ -52,6 +53,13 @@ import PayingStep from '@/components/onboardingTour/steps/paymentStates/tokenSub import VerifiedStep from '@/components/onboardingTour/steps/paymentStates/tokenSubSteps/VerifiedStep.vue'; import VerifyingStep from '@/components/onboardingTour/steps/paymentStates/tokenSubSteps/VerifyingStep.vue'; +import { API_KEYS_ACTIONS } from '@/store/modules/apiKeys'; +import { BUCKET_ACTIONS } from '@/store/modules/buckets'; +import { PAYMENTS_ACTIONS } from '@/store/modules/payments'; +import { PROJECTS_ACTIONS } from '@/store/modules/projects'; +import { ProjectFields } from '@/types/projects'; +import { PM_ACTIONS } from '@/utils/constants/actionNames'; +import { SegmentEvent } from '@/utils/constants/analyticsEventNames'; import { AddingStorjState } from '@/utils/constants/onboardingTourEnums'; @Component({ @@ -64,6 +72,9 @@ import { AddingStorjState } from '@/utils/constants/onboardingTourEnums'; }) export default class AddStorjState extends Vue { + private readonly TOGGLE_IS_LOADING: string = 'toggleIsLoading'; + private readonly SET_CREATE_GRANT_STEP: string = 'setCreateGrantStep'; + public isLoading: boolean = false; public addingTokenState: number = AddingStorjState.DEFAULT; @@ -86,6 +97,78 @@ export default class AddStorjState extends Vue { } } + /** + * Create untitled project and starts creating access grant process. + */ + public async createAccessGrant(): Promise { + if (this.isLoading) return; + + this.toggleIsLoading(); + + try { + const FIRST_PAGE = 1; + const UNTITLED_PROJECT_NAME = 'Untitled Project'; + const UNTITLED_PROJECT_DESCRIPTION = '___'; + const project = new ProjectFields( + UNTITLED_PROJECT_NAME, + UNTITLED_PROJECT_DESCRIPTION, + this.$store.getters.user.id, + ); + const createdProject = await this.$store.dispatch(PROJECTS_ACTIONS.CREATE, project); + const createdProjectId = createdProject.id; + + this.$segment.track(SegmentEvent.PROJECT_CREATED, { + project_id: createdProjectId, + }); + + await this.$store.dispatch(PROJECTS_ACTIONS.SELECT, createdProjectId); + await this.$store.dispatch(PM_ACTIONS.CLEAR); + await this.$store.dispatch(PM_ACTIONS.FETCH, FIRST_PAGE); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_PAYMENTS_HISTORY); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_BALANCE); + await this.$store.dispatch(PAYMENTS_ACTIONS.GET_PROJECT_USAGE_AND_CHARGES_CURRENT_ROLLUP); + await this.$store.dispatch(PROJECTS_ACTIONS.GET_LIMITS, createdProjectId); + await this.$store.dispatch(API_KEYS_ACTIONS.CLEAR); + await this.$store.dispatch(BUCKET_ACTIONS.CLEAR); + + this.toggleIsLoading(); + + this.$emit(this.SET_CREATE_GRANT_STEP); + } catch (error) { + await this.$notify.error(error.message); + this.toggleIsLoading(); + } + } + + /** + * Sets area to default state. + */ + public setDefaultState(): void { + this.addingTokenState = AddingStorjState.DEFAULT; + } + + /** + * Sets area to verifying state. + */ + public setVerifyingState(): void { + this.addingTokenState = AddingStorjState.VERIFYING; + } + + /** + * Sets area to verified state. + */ + public setVerifiedState(): void { + this.addingTokenState = AddingStorjState.VERIFIED; + } + + /** + * Toggles area's loading state. + */ + public toggleIsLoading(): void { + this.isLoading = !this.isLoading; + this.$emit(this.TOGGLE_IS_LOADING); + } + /** * Indicates if area is in default state. */ @@ -113,42 +196,6 @@ export default class AddStorjState extends Vue { public get isButtonDisabled(): boolean { return !this.$store.getters.canUserCreateFirstProject; } - - /** - * Sets area to default state. - */ - public setDefaultState(): void { - this.addingTokenState = AddingStorjState.DEFAULT; - } - - /** - * Sets area to verifying state. - */ - public setVerifyingState(): void { - this.addingTokenState = AddingStorjState.VERIFYING; - } - - /** - * Sets area to verified state. - */ - public setVerifiedState(): void { - this.addingTokenState = AddingStorjState.VERIFIED; - } - - /** - * Toggles area's loading state. - */ - public toggleIsLoading(): void { - this.isLoading = !this.isLoading; - this.$emit('toggleIsLoading'); - } - - /** - * Starts creating project process. - */ - public createProject(): void { - this.$emit('setProjectState'); - } } @@ -172,7 +219,6 @@ export default class AddStorjState extends Vue { padding: 20px 45px 45px 45px; background-color: #fff; border-radius: 0 0 8px 8px; - margin-bottom: 35px; position: relative; &__bonus-info { @@ -218,5 +264,13 @@ export default class AddStorjState extends Vue { z-index: 100; } } + + &__next-label { + font-weight: normal; + font-size: 16px; + line-height: 26px; + color: #768394; + margin: 35px 0; + } } \ No newline at end of file diff --git a/web/satellite/src/components/onboardingTour/steps/paymentStates/tokenSubSteps/PayingStep.vue b/web/satellite/src/components/onboardingTour/steps/paymentStates/tokenSubSteps/PayingStep.vue index aa93b8790..d1c95340c 100644 --- a/web/satellite/src/components/onboardingTour/steps/paymentStates/tokenSubSteps/PayingStep.vue +++ b/web/satellite/src/components/onboardingTour/steps/paymentStates/tokenSubSteps/PayingStep.vue @@ -20,7 +20,7 @@ @onChangeTokenValue="onChangeTokenValue" />

Verifying Payment

- Verification may take up to an hour. In the meantime, see how easy it is to get started visiting documentation - page, or check coin payment status. + Verification may take up to a few hours. In the meantime, see how easy it is to get started visiting + documentation page, or check coin payment status.
{ it('renders correctly', async (): Promise => { diff --git a/web/satellite/tests/unit/onboardingTour/steps/OverviewStep.spec.ts b/web/satellite/tests/unit/onboardingTour/steps/OverviewStep.spec.ts index f7a95cae9..386283edb 100644 --- a/web/satellite/tests/unit/onboardingTour/steps/OverviewStep.spec.ts +++ b/web/satellite/tests/unit/onboardingTour/steps/OverviewStep.spec.ts @@ -8,16 +8,24 @@ import OverviewStep from '@/components/onboardingTour/steps/OverviewStep.vue'; import { PaymentsHttpApi } from '@/api/payments'; import { router } from '@/router'; import { makePaymentsModule, PAYMENTS_MUTATIONS } from '@/store/modules/payments'; -import { mount } from '@vue/test-utils'; +import { makeProjectsModule } from '@/store/modules/projects'; +import { createLocalVue, mount } from '@vue/test-utils'; +import { ProjectsApiMock } from '../../mock/api/projects'; + +const localVue = createLocalVue(); +localVue.use(Vuex); +const projectsApi = new ProjectsApiMock(); +const projectsModule = makeProjectsModule(projectsApi); const paymentsApi = new PaymentsHttpApi(); const paymentsModule = makePaymentsModule(paymentsApi); -const store = new Vuex.Store({ modules: { paymentsModule }}); +const store = new Vuex.Store({ modules: { projectsModule, paymentsModule }}); describe('OverviewStep.vue', (): void => { it('renders correctly', async (): Promise => { const wrapper = mount(OverviewStep, { + localVue, router, store, }); diff --git a/web/satellite/tests/unit/onboardingTour/steps/__snapshots__/AddPaymentStep.spec.ts.snap b/web/satellite/tests/unit/onboardingTour/steps/__snapshots__/AddPaymentStep.spec.ts.snap index 3c5d946ac..25aef4957 100644 --- a/web/satellite/tests/unit/onboardingTour/steps/__snapshots__/AddPaymentStep.spec.ts.snap +++ b/web/satellite/tests/unit/onboardingTour/steps/__snapshots__/AddPaymentStep.spec.ts.snap @@ -4,8 +4,8 @@ exports[`AddPaymentStep.vue renders correctly 1`] = `

Get Started with 50 GB Free

- Adding a payment method ensures your project won’t be interrupted after your free credit is used. -

+ Experience the decentralized cloud for free! If you find our network isn’t for you, cancel + any time before your credit runs out and you won’t be billed.

Payment Method

@@ -44,8 +44,8 @@ exports[`AddPaymentStep.vue renders correctly 2`] = `

Get Started with 50 GB Free

- Adding a payment method ensures your project won’t be interrupted after your free credit is used. -

+ Experience the decentralized cloud for free! If you find our network isn’t for you, cancel + any time before your credit runs out and you won’t be billed.

Payment Method

diff --git a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddCardState.spec.ts.snap b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddCardState.spec.ts.snap index 85f1be7fe..bd192ae36 100644 --- a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddCardState.spec.ts.snap +++ b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddCardState.spec.ts.snap @@ -11,8 +11,7 @@ exports[`AddCardState.vue renders correctly 1`] = ` Your card is secured by 128-bit SSL and AES-256 encryption. Your information is secure.
-
- Add Payment -
+

Next

+
`; diff --git a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddStorjState.spec.ts.snap b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddStorjState.spec.ts.snap index 8a0c81a02..15a8d9313 100644 --- a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddStorjState.spec.ts.snap +++ b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/__snapshots__/AddStorjState.spec.ts.snap @@ -20,7 +20,8 @@ exports[`AddStorjState.vue renders correctly 1`] = `
- +

Next

+
`; @@ -44,7 +45,8 @@ exports[`AddStorjState.vue renders correctly with completed transaction 1`] = `
- +

Next

+ `; @@ -68,6 +70,7 @@ exports[`AddStorjState.vue renders correctly with pending transaction 1`] = ` - +

Next

+ `; diff --git a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/PayingStep.spec.ts.snap b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/PayingStep.spec.ts.snap index 9f40fe6de..22cba8aaa 100644 --- a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/PayingStep.spec.ts.snap +++ b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/PayingStep.spec.ts.snap @@ -9,6 +9,6 @@ exports[`PayingStep.vue renders correctly 1`] = ` - + `; diff --git a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/VerifyingStep.spec.ts.snap b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/VerifyingStep.spec.ts.snap index 2f75642fc..0c768cacd 100644 --- a/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/VerifyingStep.spec.ts.snap +++ b/web/satellite/tests/unit/onboardingTour/steps/paymentStates/tokenSubSteps/__snapshots__/VerifyingStep.spec.ts.snap @@ -4,8 +4,8 @@ exports[`VerifyingStep.vue renders correctly 1`] = `