add components RedeemInformation.vue

This commit is contained in:
ogerly 2022-03-21 10:09:28 +01:00
parent 837850c17e
commit bf915a9668
7 changed files with 57 additions and 42 deletions

View File

@ -0,0 +1,21 @@
<template>
<div class="redeem-information">
<b-jumbotron bg-variant="muted" text-variant="dark" border-variant="info">
<h1>
{{ user.firstName }}
{{ $t('transaction-link.send_you') }} {{ amount | GDD }}
</h1>
<b>{{ memo }}</b>
</b-jumbotron>
</div>
</template>
<script>
export default {
name: 'RedeemInformation',
props: {
user: { type: Object, required: true },
amount: { type: String, required: true },
memo: { type: String, required: true, default: '' },
},
}
</script>

View File

@ -1,12 +1,7 @@
<template>
<div class="redeem-logged-out">
<b-jumbotron bg-variant="muted" text-variant="dark" border-variant="info">
<h1>
{{ user.firstName }}
{{ $t('transaction-link.send_you') }} {{ amount | GDD }}
</h1>
<b>{{ memo }}</b>
</b-jumbotron>
<redeem-information :user="user" :amount="amount" :memo="memo" />
<b-jumbotron>
<div class="mb-6">
<h2>{{ $t('gdd_per_link.redeem') }}</h2>
@ -28,8 +23,13 @@
</div>
</template>
<script>
import RedeemInformation from '@/components/LinkInformations/RedeemInformation.vue'
export default {
name: 'RedeemLoggedOut',
components: {
RedeemInformation,
},
props: {
user: { type: Object, required: true },
amount: { type: String, required: true },

View File

@ -1,12 +1,6 @@
<template>
<div class="redeem-self-creator">
<b-jumbotron bg-variant="muted" text-variant="dark" border-variant="info">
<h1>
{{ user.firstName }}
{{ $t('transaction-link.send_you') }} {{ amount | GDD }}
</h1>
<b>{{ memo }}</b>
</b-jumbotron>
<redeem-information :user="user" :amount="amount" :memo="memo" />
<b-jumbotron>
<div class="mb-3 text-center">
@ -21,8 +15,13 @@
</div>
</template>
<script>
import RedeemInformation from '@/components/LinkInformations/RedeemInformation.vue'
export default {
name: 'RedeemSelfCreator',
components: {
RedeemInformation,
},
props: {
user: { type: Object, required: true },
amount: { type: String, required: true },

View File

@ -1,13 +1,6 @@
<template>
<div class="redeem-valid">
<b-jumbotron bg-variant="muted" text-variant="dark" border-variant="info">
<h1>
{{ user.firstName }}
{{ $t('transaction-link.send_you') }} {{ amount | GDD }}
</h1>
<b>{{ memo }}</b>
</b-jumbotron>
<redeem-information :user="user" :amount="amount" :memo="memo" />
<b-jumbotron>
<div class="mb-3 text-center">
<b-button variant="primary" @click="$emit('redeem-link', amount)" size="lg">
@ -18,8 +11,13 @@
</div>
</template>
<script>
import RedeemInformation from '@/components/LinkInformations/RedeemInformation.vue'
export default {
name: 'RedeemValid',
components: {
RedeemInformation,
},
props: {
user: { type: Object, required: false },
amount: { type: String, required: false },

View File

@ -5,7 +5,7 @@
</template>
<script>
export default {
name: 'TransactionLinkInformationItem',
name: 'TransactionLinkItem',
props: {
type: {
type: String,

View File

@ -130,8 +130,7 @@
readonly
id="redeem-code"
type="text"
v-model="redeemCode"
@input="commitStoreRedeemCode(redeemCode)"
v-model="$store.state.redeemCode"
></b-form-input>
</b-input-group>
</div>

View File

@ -2,28 +2,28 @@
<div class="show-transaction-link-informations">
<div class="text-center"><b-img :src="img" fluid alt="logo"></b-img></div>
<b-container class="mt-4">
<transaction-link-information-item :type="itemType">
<template #X1>
<transaction-link-item :type="itemType">
<template #LOGGED_OUT>
<redeem-logged-out v-bind="linkData" />
</template>
<template #X2>
<template #SELF_CREATOR>
<redeem-self-creator v-bind="linkData" />
</template>
<template #X3>
<template #VALID>
<redeem-valid v-bind="linkData" @redeem-link="redeemLink" />
</template>
<template #X4>
<template #TEXT>
<redeemed-text-box :text="redeemedBoxText" />
</template>
</transaction-link-information-item>
</transaction-link-item>
</b-container>
</div>
</template>
<script>
import TransactionLinkInformationItem from '@/components/TransactionLinkInformationItem'
import TransactionLinkItem from '@/components/TransactionLinkItem'
import RedeemLoggedOut from '@/components/LinkInformations/RedeemLoggedOut'
import RedeemSelfCreator from '@/components/LinkInformations/RedeemSelfCreator'
import RedeemValid from '@/components/LinkInformations/RedeemValid'
@ -34,7 +34,7 @@ import { redeemTransactionLink } from '@/graphql/mutations'
export default {
name: 'TransactionLink',
components: {
TransactionLinkInformationItem,
TransactionLinkItem,
RedeemLoggedOut,
RedeemSelfCreator,
RedeemValid,
@ -104,7 +104,7 @@ export default {
this.redeemedBoxText = this.$t('gdd_per_link.link-deleted', {
date: this.linkData.deletedAt,
})
return `X4`
return `TEXT`
} else {
// link ist abgelaufen, nicht gelöscht
if (new Date(this.linkData.validUntil) < new Date()) {
@ -112,7 +112,7 @@ export default {
this.redeemedBoxText = this.$t('gdd_per_link.link-expired', {
date: this.linkData.validUntil,
})
return `X4`
return `TEXT`
}
// der link wurde eingelöst, nicht gelöscht
@ -121,16 +121,14 @@ export default {
this.redeemedBoxText = this.$t('gdd_per_link.redeemed-at', {
date: this.linkData.redeemedAt,
})
return `X4`
return `TEXT`
}
}
if (!this.$store.state.token) {
return `X1`
} else {
if (this.$store.state.token) {
// logged in, nicht berechtigt einzulösen, eigener link
if (this.$store.state.email === this.linkData.user.email) {
return `X2`
return `SELF_CREATOR`
}
// logged in und berechtigt einzulösen
@ -139,11 +137,11 @@ export default {
!this.linkData.redeemedAt &&
!this.linkData.deletedAt
) {
return `X3`
return `VALID`
}
}
return `X`
return `LOGGED_OUT`
},
},
created() {