ContentFile() — supabase Function Reference
Architecture documentation for the ContentFile() function in content.tsx from the supabase codebase.
Entity Profile
Relationship Graph
Source Code
apps/studio/components/interfaces/Connect/content/exporeactnative/supabasejs/content.tsx lines 11–100
const ContentFile = ({ projectKeys }: ContentFileProps) => {
return (
<ConnectTabs>
<ConnectTabTriggers>
<ConnectTabTrigger value=".env.local" />
<ConnectTabTrigger value="utils/supabase.ts" />
<ConnectTabTrigger value="App.tsx" />
</ConnectTabTriggers>
<ConnectTabContent value=".env.local">
<SimpleCodeBlock className="bash" parentClassName="min-h-72">
{`
EXPO_PUBLIC_SUPABASE_URL=${projectKeys.apiUrl ?? 'your-project-url'}
EXPO_PUBLIC_SUPABASE_KEY=${projectKeys.publishableKey ?? '<prefer publishable key instead of anon key for mobile and desktop apps>'}
`}
</SimpleCodeBlock>
</ConnectTabContent>
<ConnectTabContent value="utils/supabase.ts">
<SimpleCodeBlock className="ts" parentClassName="min-h-72">
{`
import 'react-native-url-polyfill/auto'
import AsyncStorage from '@react-native-async-storage/async-storage'
import { createClient, processLock } from '@supabase/supabase-js'
export const supabase = createClient(
process.env.EXPO_PUBLIC_SUPABASE_URL!,
process.env.EXPO_PUBLIC_SUPABASE_KEY!,
{
auth: {
storage: AsyncStorage,
autoRefreshToken: true,
persistSession: true,
detectSessionInUrl: false,
lock: processLock,
},
})
`}
</SimpleCodeBlock>
</ConnectTabContent>
<ConnectTabContent value="App.tsx">
<SimpleCodeBlock className="tsx" parentClassName="min-h-72">
{`
import React, { useState, useEffect } from 'react';
import { View, Text, FlatList } from 'react-native';
import { supabase } from '../utils/supabase';
export default function App() {
const [todos, setTodos] = useState([]);
useEffect(() => {
const getTodos = async () => {
try {
const { data: todos, error } = await supabase.from('todos').select();
if (error) {
console.error('Error fetching todos:', error.message);
return;
}
if (todos && todos.length > 0) {
setTodos(todos);
}
} catch (error) {
console.error('Error fetching todos:', error.message);
}
};
getTodos();
}, []);
return (
<View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
<Text>Todo List</Text>
<FlatList
data={todos}
keyExtractor={(item) => item.id.toString()}
renderItem={({ item }) => <Text key={item.id}>{item.title}</Text>}
/>
</View>
);
};
`}
</SimpleCodeBlock>
</ConnectTabContent>
</ConnectTabs>
)
}
Domain
Subdomains
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free