feat(server): cleaned up boilerplate & using injected ref for consent tracking in fe register panel.

This commit is contained in:
Dimitrie Stefanescu
2023-06-16 15:57:33 +01:00
parent d98f0fa9f9
commit 56ea1bc843
5 changed files with 15 additions and 9 deletions
@@ -63,6 +63,10 @@ graphql(`
}
`)
const newsletterConsent = ref(false)
provide('newsletterconsent', newsletterConsent)
const { result } = useQuery(loginServerInfoQuery)
const { appId, challenge, inviteToken } = useLoginOrRegisterUtils()
@@ -113,9 +113,11 @@ const password = ref('')
const emailRules = [isEmail]
const nameRules = [isRequired]
const { signUpWithEmail, inviteToken, newsletterConsent } = useAuthManager()
const { signUpWithEmail, inviteToken } = useAuthManager()
const { triggerNotification } = useGlobalToast()
const newsletterConsent = inject<Ref<boolean>>('newsletterconsent')
const pwdFocused = ref(false)
const finalLoginRoute = computed(() => {
@@ -134,7 +136,7 @@ const onSubmit = handleSubmit(async (fullUser) => {
user,
challenge: props.challenge,
inviteToken: inviteToken.value,
newsletter: newsletterConsent.value
newsletter: newsletterConsent?.value
})
} catch (e) {
triggerNotification({
@@ -48,7 +48,9 @@ const {
public: { apiOrigin }
} = useRuntimeConfig()
const mixpanel = useMixpanel()
const { inviteToken, newsletterConsent } = useAuthManager()
const { inviteToken } = useAuthManager()
const newsletterConsent = inject<Ref<boolean>>('newsletterconsent')
const NuxtLink = resolveComponent('NuxtLink')
const GoogleButton = resolveComponent('AuthThirdPartyLoginButtonGoogle')
@@ -68,10 +70,11 @@ const buildAuthUrl = (strat: StrategyType) => {
url.searchParams.set('token', inviteToken.value)
}
if (newsletterConsent.value) {
if (newsletterConsent?.value) {
url.searchParams.set('newsletter', 'true')
}
console.log(url)
return url.toString()
}
@@ -282,16 +282,13 @@ export const useAuthManager = () => {
goToLogin()
}
const newsletterConsent = ref(false)
return {
authToken,
loginWithEmail,
signUpWithEmail,
logout,
watchAuthQueryString,
inviteToken,
newsletterConsent
inviteToken
}
}
@@ -28,7 +28,7 @@ async function addToMailchimpAudience(userId: string) {
// NOTE: using setListMember (NOT addListMember) to prevent errors for previously
// registered members.
await mailchimp.lists.setListMember(config.listId + 'fail', subscriberHash, {
await mailchimp.lists.setListMember(config.listId, subscriberHash, {
status_if_new: 'subscribed',
email_address: user.email,
merge_fields: {