From fce519bde49c867e054f470a07bdeec8ba8628ba Mon Sep 17 00:00:00 2001 From: Eddie Ferrer Date: Tue, 12 Oct 2021 12:34:38 -0700 Subject: [PATCH 1/2] feat: Hide page elements based on query param * Hides global promo, nav menu and secondary menu if query param kivaAppReferral=true exists GD-139 --- src/api/localResolvers/kivaAppReferral.js | 13 +++++ src/api/localSchema.graphql | 1 + .../WwwFrame/LendMenu/TheLendMenu.vue | 2 +- src/components/WwwFrame/TheHeader.vue | 2 +- src/components/WwwFrame/WwwPage.vue | 49 +++++++++++++++---- .../query/shared/isKivaAppReferral.graphql | 3 ++ 6 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 src/api/localResolvers/kivaAppReferral.js create mode 100644 src/graphql/query/shared/isKivaAppReferral.graphql diff --git a/src/api/localResolvers/kivaAppReferral.js b/src/api/localResolvers/kivaAppReferral.js new file mode 100644 index 0000000000..10756c2e02 --- /dev/null +++ b/src/api/localResolvers/kivaAppReferral.js @@ -0,0 +1,13 @@ +export default () => { + return { + resolvers: { + Query: { + isKivaAppReferral(obj, args) { + // Takes an argument of the query param value + // and returns a boolean if it is present and equal to true + return args?.kivaAppReferralQueryParam === 'true'; + }, + } + }, + }; +}; diff --git a/src/api/localSchema.graphql b/src/api/localSchema.graphql index fbe4129af8..e11e33a1e5 100644 --- a/src/api/localSchema.graphql +++ b/src/api/localSchema.graphql @@ -45,6 +45,7 @@ extend type Query { autolending: Autolending verificationLightbox: VerificationLightbox hasEverLoggedIn: Boolean + isKivaAppReferral(kivaAppReferralQueryParam: String): Boolean } extend type My { diff --git a/src/components/WwwFrame/LendMenu/TheLendMenu.vue b/src/components/WwwFrame/LendMenu/TheLendMenu.vue index e5c1468e55..2bb8ae9347 100644 --- a/src/components/WwwFrame/LendMenu/TheLendMenu.vue +++ b/src/components/WwwFrame/LendMenu/TheLendMenu.vue @@ -113,7 +113,7 @@ export default { }, methods: { onOpen() { - this.$refs.mega.onOpen(); + this.$refs?.mega?.onOpen?.(); }, onClose() { this.$refs.list.onClose(); diff --git a/src/components/WwwFrame/TheHeader.vue b/src/components/WwwFrame/TheHeader.vue index 972216627c..a8967d2c5f 100755 --- a/src/components/WwwFrame/TheHeader.vue +++ b/src/components/WwwFrame/TheHeader.vue @@ -572,7 +572,7 @@ export default { }, onLendMenuShow() { if (this.mgHighlightInNavVersion !== 'shown') { - this.$refs.lendMenu.onOpen(); + this.$refs?.lendMenu?.onOpen?.(); } this.$kvTrackEvent('TopNav', 'hover-Lend-menu', 'Lend'); }, diff --git a/src/components/WwwFrame/WwwPage.vue b/src/components/WwwFrame/WwwPage.vue index c9d4cbd6fa..d13d40072b 100644 --- a/src/components/WwwFrame/WwwPage.vue +++ b/src/components/WwwFrame/WwwPage.vue @@ -1,11 +1,13 @@