From e83d71aa3c03d446523ce428abca250567ef467b Mon Sep 17 00:00:00 2001 From: DanSnow Date: Thu, 29 Feb 2024 14:44:04 +0800 Subject: [PATCH] fix: simplify signin --- src/components/EmailForm.vue | 18 +++----- src/components/LeakyPaywall.vue | 24 +--------- src/composables/paywall-mode.ts | 26 ----------- src/composables/subscribe.ts | 78 +++++++-------------------------- src/gql/gql.ts | 9 +--- src/gql/graphql.ts | 58 +++++++++++++++++------- 6 files changed, 67 insertions(+), 146 deletions(-) delete mode 100644 src/composables/paywall-mode.ts diff --git a/src/components/EmailForm.vue b/src/components/EmailForm.vue index 9700b82a..e9ac6e60 100644 --- a/src/components/EmailForm.vue +++ b/src/components/EmailForm.vue @@ -4,12 +4,9 @@ import { Field as FormField, useForm } from 'vee-validate' import { useAutoAnimate } from '@formkit/auto-animate/vue' import * as z from 'zod' import { useModel } from 'vue' -import type { Mode } from '~/composables/paywall-mode' const props = defineProps<{ - mode: Mode email: string - buttonText: string }>() defineEmits<{ @@ -34,15 +31,14 @@ const form = useForm({ }) const emailInput = useModel(props, 'email') -const { subscribe } = useSubscribe(toRef(props, 'mode')) - -const showLoginDialog = ref(false) +const { subscribe } = useSubscribe() const onSubmit = form.handleSubmit(async (values) => { const res = await subscribe(values) - if (res.ok && !res.token) { - showLoginDialog.value = true + if (res.ok && res.token) { + $paywall.setKey('token', res.token) } + // TODO: error handling }) const [formItem, setAnimate] = useAutoAnimate({ duration: 200 }) @@ -75,10 +71,6 @@ onMounted(async () => { - - - + diff --git a/src/components/LeakyPaywall.vue b/src/components/LeakyPaywall.vue index c23eaa37..596b9d8b 100644 --- a/src/components/LeakyPaywall.vue +++ b/src/components/LeakyPaywall.vue @@ -10,8 +10,6 @@ initConfig() const config = useStore($config) const paywall = useStore($paywall) -const { mode, primaryButton, reset, secondaryButton, toggleMode } = usePaywallMode() - const themeConfig = computed(() => ({ '--sp-primary': config.value.primaryColor, })) @@ -95,11 +93,6 @@ onMounted(async () => { const emailInput = ref('') -function switchMode() { - // After this step, the form will be reset - toggleMode() -} - // Unlock scroll if user scroll up useEventListener(window, 'wheel', (event) => { if (event.deltaY <= -5) { @@ -155,15 +148,6 @@ whenever( }, { immediate: true }, ) - -// reset form content after close -whenever( - logicNot(show), - () => { - reset() - }, - { flush: 'post' }, -)