From cf323c412b752359af0df307bc1cfe70f68fab12 Mon Sep 17 00:00:00 2001 From: philipye314 Date: Tue, 8 Oct 2024 23:05:09 -0700 Subject: [PATCH] did some tweaking --- src/screens/HealingResources/index.tsx | 20 ++++-------------- src/screens/SeekHelp/index.tsx | 21 ++++--------------- src/supabase/createClient.ts | 1 - src/supabase/queries/generalQueries.tsx | 27 +++++++++++++++++++++++++ src/types/types.tsx | 4 ++++ 5 files changed, 39 insertions(+), 34 deletions(-) create mode 100644 src/types/types.tsx diff --git a/src/screens/HealingResources/index.tsx b/src/screens/HealingResources/index.tsx index 25898cb..9b55f1b 100644 --- a/src/screens/HealingResources/index.tsx +++ b/src/screens/HealingResources/index.tsx @@ -1,11 +1,7 @@ import React, { useEffect, useState } from 'react'; import { Button, View } from 'react-native'; -import supabase from '../../supabase/createClient'; - -interface Resource { - summary: string; - [key: string]: any; -} +import { Resource } from '@/types/types'; +import { getHealingResourceData } from '../../supabase/queries/generalQueries'; export default function HealingResources() { const [, setSummaries] = useState([]); @@ -16,16 +12,8 @@ export default function HealingResources() { const fetchData = async () => { try { - const { data, error } = await supabase - .from('healing_resources') - .select('*'); - - if (error) { - console.error('Error fetching resources:', error); - return; - } - - setSummaries(data as Resource[]); + const data = await getHealingResourceData(); + setSummaries(data); } catch (error) { console.error('Error fetching data:', error); } diff --git a/src/screens/SeekHelp/index.tsx b/src/screens/SeekHelp/index.tsx index b738352..75226af 100644 --- a/src/screens/SeekHelp/index.tsx +++ b/src/screens/SeekHelp/index.tsx @@ -1,11 +1,7 @@ import React, { useEffect, useState } from 'react'; import { Button, Text, View } from 'react-native'; -import supabase from '../../supabase/createClient'; - -interface Resource { - summary: string; - [key: string]: any; -} +import { getStateResourceData } from '@/supabase/queries/generalQueries'; +import { Resource } from '@/types/types'; export default function SeekHelp() { const [summaries, setSummaries] = useState([]); @@ -16,17 +12,8 @@ export default function SeekHelp() { const fetchData = async () => { try { - const { data, error } = await supabase - .from('state_resources') - .select('*') - .in('state', ['California', 'National']); - - if (error) { - console.error('Error fetching resources:', error); - return; - } - - setSummaries(data as Resource[]); + const data = await getStateResourceData(); + setSummaries(data); } catch (error) { console.error('Error fetching data:', error); } diff --git a/src/supabase/createClient.ts b/src/supabase/createClient.ts index 47000e0..a78d668 100644 --- a/src/supabase/createClient.ts +++ b/src/supabase/createClient.ts @@ -1,6 +1,5 @@ import { createClient } from '@supabase/supabase-js'; -// Create a single supabase client for interacting with your database if ( !process.env.EXPO_PUBLIC_SUPABASE_URL || !process.env.EXPO_PUBLIC_SUPABASE_ANON_KEY diff --git a/src/supabase/queries/generalQueries.tsx b/src/supabase/queries/generalQueries.tsx index e69de29..d2a6422 100644 --- a/src/supabase/queries/generalQueries.tsx +++ b/src/supabase/queries/generalQueries.tsx @@ -0,0 +1,27 @@ +import supabase from '../createClient'; + +interface Resource { + summary: string; + [key: string]: any; +} + +export const getHealingResourceData = async (): Promise => { + const { data, error } = await supabase.from('healing_resources').select('*'); + if (error) { + throw new Error(`Error fetching resources: ${error.message}`); + } + + return data as Resource[]; +}; + +export const getStateResourceData = async (): Promise => { + const { data, error } = await supabase + .from('state_resources') + .select('*') + .in('state', ['California', 'National']); + + if (error) { + throw new Error(`Error fetching resources: ${error.message}`); + } + return data as Resource[]; +}; diff --git a/src/types/types.tsx b/src/types/types.tsx new file mode 100644 index 0000000..75ac80a --- /dev/null +++ b/src/types/types.tsx @@ -0,0 +1,4 @@ +export interface Resource { + summary: string; + [key: string]: any; +}