diff --git a/website/client/components/challenges/challengeDetail.vue b/website/client/components/challenges/challengeDetail.vue index 1df8dadd7b..b3744a7c2f 100644 --- a/website/client/components/challenges/challengeDetail.vue +++ b/website/client/components/challenges/challengeDetail.vue @@ -365,9 +365,9 @@ export default { this.$root.$emit('bv::show::modal', 'close-challenge-modal'); }, edit () { - // @TODO: set working challenge - this.$store.state.challengeOptions.workingChallenge = Object.assign({}, this.$store.state.challengeOptions.workingChallenge, this.challenge); - this.$root.$emit('bv::show::modal', 'challenge-modal'); + this.$root.$emit('habitica:update-challenge', { + challenge: this.challenge, + }); }, // @TODO: view members updatedChallenge (eventData) { diff --git a/website/client/components/challenges/challengeModal.vue b/website/client/components/challenges/challengeModal.vue index bcfc54d958..0b4637505b 100644 --- a/website/client/components/challenges/challengeModal.vue +++ b/website/client/components/challenges/challengeModal.vue @@ -241,6 +241,12 @@ export default { this.$store.state.challengeOptions.workingChallenge = Object.assign({}, this.$store.state.challengeOptions.workingChallenge, data.challenge); this.$root.$emit('bv::show::modal', 'challenge-modal'); }); + this.$root.$on('habitica:update-challenge', (data) => { + if (!data.challenge) return; + this.cloning = false; + this.$store.state.challengeOptions.workingChallenge = Object.assign({}, this.$store.state.challengeOptions.workingChallenge, data.challenge); + this.$root.$emit('bv::show::modal', 'challenge-modal'); + }); }, beforeDestroy () { this.$root.$off('habitica:clone-challenge');