Persistent app settings (UserDefaults on iOS, SharedPreferences on Android).
Examples
# Get a setting value
Dala.Settings.get("theme")
# Set a setting value
socket = Dala.Settings.set(socket, "theme", "dark")
# Watch a key for changes (messages arrive via handle_info)
socket = Dala.Settings.watch(socket, "theme")Incoming change messages are delivered to screens via handle_info/2:
def handle_info({:settings, :changed, {key, value}}, socket) do
# React to setting change
{:noreply, socket}
end
Summary
Functions
@spec set(Dala.Ui.Socket.t(), String.t(), any()) :: Dala.Ui.Socket.t()
@spec watch(Dala.Ui.Socket.t(), String.t()) :: Dala.Ui.Socket.t()