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/androidkotlin/supabasekt/content.tsx lines 11–81
const ContentFile = ({ projectKeys }: ContentFileProps) => {
return (
<ConnectTabs>
<ConnectTabTriggers>
<ConnectTabTrigger value="MainActivity.kt" />
<ConnectTabTrigger value="TodoItem.kt" />
</ConnectTabTriggers>
<ConnectTabContent value="TodoItem.kt">
<SimpleCodeBlock className="kotlin" parentClassName="min-h-72">
{`
@Serializable
data class TodoItem(val id: Int, val name: String)
`}
</SimpleCodeBlock>
</ConnectTabContent>
<ConnectTabContent value="MainActivity.kt">
<SimpleCodeBlock className="kotlin" parentClassName="min-h-72">
{`
val supabase = createSupabaseClient(
supabaseUrl = "${projectKeys.apiUrl ?? 'your-project-url'}",
supabaseKey = "${projectKeys.publishableKey ?? '<prefer publishable key instead of anon key for mobile apps>'}"
) {
install(Postgrest)
}
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
MaterialTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
TodoList()
}
}
}
}
}
@Composable
fun TodoList() {
var items by remember { mutableStateOf<List<TodoItem>>(listOf()) }
LaunchedEffect(Unit) {
withContext(Dispatchers.IO) {
items = supabase.from("todos")
.select().decodeList<TodoItem>()
}
}
LazyColumn {
items(
items,
key = { item -> item.id },
) { item ->
Text(
item.name,
modifier = Modifier.padding(8.dp),
)
}
}
}
`}
</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