The Settings screen is ChefDash’s preferences panel, exposing the one system-level control available to players: a toggle for tactile haptic feedback. There is no separateDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ImLukzy/ChefDash/llms.txt
Use this file to discover all available pages before exploring further.
SettingsView.swift file — the setting is backed entirely by gameState.isHapticsEnabled, a @Published Bool on GameState. The screen becomes active when gameState.activeTab is set to "settings".
Reaching the Settings Screen
Settings is opened from HomeView by tapping the gear icon (gearshape.fill) in the top-right corner of the HUD bar:
The Haptics Toggle
The only setting on this screen controlsgameState.isHapticsEnabled:
| Property | Type | Default |
|---|---|---|
isHapticsEnabled | Bool | true |
isHapticsEnabled is declared as a @Published property on GameState:
@Published, toggling the setting takes effect immediately across every screen — no restart or re-navigation is required.
Where Haptics Fire
WhenisHapticsEnabled is true, a UIImpactFeedbackGenerator fires at the following interactions throughout the app:
| Screen | Interaction | Haptic Style |
|---|---|---|
| HomeView | Tap the ¡INICIAR PARTIDA! Start Game button | .heavy |
| MainMapView | Tap an unlocked level node | .medium |
| ShopView | Tap the COMPRAR button on any item | .medium |
| VictoryView | Tap the post-round action button | .medium |
isHapticsEnabled to false silences all of the above interactions simultaneously.
isHapticsEnabled is stored in memory on the GameState instance and is not persisted to disk in the current implementation. It resets to true on every app launch.