Module 12 Β· The AI Assistant & Graduation β Lesson 2 of 3 Β· ~9 min
The Chat UI
One screen, three parts
AssistantView is a NavigationStack holding a ZStack: the Brand.canvas color fills the back, and in front sits a VStack of two pieces β transcript (the scrolling bubbles) on top and inputBar (text field + send button) pinned below. A Done toolbar button dismisses the sheet, and .task { await model.loadWalkers() } warms the walker cache the moment the screen appears.
There's one small tool you haven't met: ScrollViewReader. It wraps a ScrollView and hands you a proxy that can jump to any view inside it by ID β exactly what a chat needs to keep the newest bubble in sight.