File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2424
2525<script setup>
2626import { ref } from ' vue'
27- import { supabase } from ' ../lib/supabaseClient'
2827
2928const email = ref (' ' )
3029const loading = ref (false )
@@ -34,19 +33,26 @@ const messageType = ref('')
3433const handleSubmit = async () => {
3534 loading .value = true
3635 message .value = ' '
37-
36+
3837 try {
39- const { error } = await supabase
40- .from (' newsletter_subscribers' )
41- .insert ([{ email: email .value }])
38+ const response = await fetch (' https://api.bareuptime.co/subscriber' , {
39+ method: ' POST' ,
40+ headers: {
41+ ' Content-Type' : ' application/json' ,
42+ },
43+ body: JSON .stringify ({ email: email .value }),
44+ })
4245
43- if (error) throw error
46+ if (! response .ok ) {
47+ const data = await response .json ().catch (() => ({}))
48+ throw new Error (data .message || ` Request failed with status ${ response .status } ` )
49+ }
4450
4551 message .value = ' Thank you for subscribing!'
4652 messageType .value = ' success'
4753 email .value = ' '
4854 } catch (error) {
49- message .value = error .message === ' duplicate key value violates unique constraint "newsletter_subscribers_email_key" '
55+ message .value = error .message ? . toLowerCase (). includes ( ' already ' )
5056 ? ' You are already subscribed!'
5157 : ' Something went wrong. Please try again.'
5258 messageType .value = ' error'
You can’t perform that action at this time.
0 commit comments