Dala.Platform.Settings (dala v0.0.11)

Copy Markdown View Source

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

get(key)

@spec get(String.t()) :: any() | nil

set(socket, key, value)

@spec set(Dala.Ui.Socket.t(), String.t(), any()) :: Dala.Ui.Socket.t()

watch(socket, key)

@spec watch(Dala.Ui.Socket.t(), String.t()) :: Dala.Ui.Socket.t()