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/ionicreact/supabasejs/content.tsx lines 11–113
const ContentFile = ({ projectKeys }: ContentFileProps) => {
return (
<ConnectTabs>
<ConnectTabTriggers>
<ConnectTabTrigger value=".env" />
<ConnectTabTrigger value="src/supabaseClient.tsx" />
<ConnectTabTrigger value="src/App.tsx" />
</ConnectTabTriggers>
<ConnectTabContent value=".env">
<SimpleCodeBlock className="bash" parentClassName="min-h-72">
{`
REACT_APP_SUPABASE_URL=${projectKeys.apiUrl ?? 'your-project-url'}
REACT_APP_SUPABASE_KEY=${projectKeys.publishableKey ?? '<prefer publishable key instead of anon key for mobile or desktop apps>'}
`}
</SimpleCodeBlock>
</ConnectTabContent>
<ConnectTabContent value="src/supabaseClient.tsx">
<SimpleCodeBlock className="ts" parentClassName="min-h-72">
{`
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = process.env.REACT_APP_SUPABASE_URL
const supabaseKey = process.env.REACT_APP_SUPABASE_KEY
export const supabase = createClient(supabaseUrl, supabaseAnonKey)
`}
</SimpleCodeBlock>
</ConnectTabContent>
<ConnectTabContent value="src/App.tsx">
<SimpleCodeBlock className="ts" parentClassName="min-h-72">
{`
import React, { useEffect, useState } from 'react';
import { setupIonicReact, IonApp } from '@ionic/react';
import {
IonContent,
IonHeader,
IonTitle,
IonToolbar,
IonList,
IonItem,
} from '@ionic/react';
/* Core CSS required for Ionic components to work properly */
import '@ionic/react/css/core.css';
/* Theme variables */
import './theme/variables.css';
import { supabase } from './supabaseClient';
setupIonicReact();
export default function App() {
const [todos, setTodos] = useState([]);
useEffect(() => {
getTodos();
}, []);
const getTodos = async () => {
try {
const { data, error } = await supabase.from('todos').select();
if (error) {
console.error('Error fetching todos:', error.message);
return;
}
if (data) {
setTodos(data);
}
} catch (error) {
console.error('Error fetching todos:', error.message);
}
};
return (
<IonApp>
<>
<IonHeader>
<IonToolbar>
<IonTitle>Todos</IonTitle>
</IonToolbar>
</IonHeader>
<IonContent>
<IonList>
{todos.map((todo) => (
<IonItem key={todo.id}>{todo.title}</IonItem>
))}
</IonList>
</IonContent>
</>
</IonApp>
);
}
`}
</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