---
name: fn_app_shell
kind: component
lang: kt
domain: ui
version: "0.1.0"
framework: compose
purity: impure
signature: "@Composable fun FnAppShell(title: String, modifier: Modifier = Modifier, content: @Composable (PaddingValues) -> Unit)"
description: "Scaffold con TopAppBar (titulo) que envuelve el contenido principal de una pantalla. Equivalente de <AppShell> de Mantine."
tags: [compose, android, ui, layout, design-system]
props: []
emits: []
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
output: "Composable del design system @fn_compose. Emite UI con la identidad del registry (paleta Mantine v9 dark + indigo via FnTheme/FnTokens)."
file_path: "kotlin/functions/ui/src/main/kotlin/fn/compose/ui/Layout.kt"
---

## Ejemplo

```kotlin
FnAppShell(title = "Mi App") { padding ->
    FnStack(Modifier.padding(padding)) { /* ... */ }
}
```

## Cuando usarla

Como contenedor raiz de cada pantalla de la app, una vez dentro de FnTheme. Importa desde `fn.compose.ui`; requiere estar dentro de un `FnTheme {}`.
