# Modal Sheet Debugger

> Fix SwiftUI sheet presentation issues in Leavn - competing sheets, dismissal patterns, binding synchronization, enum-based consolidation

- Skill: `majiayu000/modal-sheet-debugger` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/modal-sheet-debugger`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/modal-sheet-debugger/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/modal-sheet-debugger

---


# Modal Sheet Debugger

Fix sheet presentation issues:

1. **Find competing sheets**: Multiple `.sheet()` modifiers on same view
2. **Consolidate pattern**:
   ```swift
   enum SheetType: Identifiable {
       case optionA, optionB
       var id: String { ... }
   }
   @State var activeSheet: SheetType?
   .sheet(item: $activeSheet) { type in
       switch type { ... }
   }
   ```

3. **Fix dismissal**: Update binding before dismiss()
4. **Check bindings**: Ensure parent and environment in sync

Use when: Multiple sheets conflict, dismissal bugs, sheet state issues

