Current section

Files

Jump to
mob lib mob share.ex
Raw

lib/mob/share.ex

defmodule Mob.Share do
@moduledoc """
System share sheet. Opens the OS share dialog with a piece of content.
Fire-and-forget — no response arrives in the BEAM.
## Usage
def handle_event("share", _params, socket) do
Mob.Share.text(socket, "Check out Mob: https://github.com/genericjam/mob")
{:noreply, socket}
end
iOS: `UIActivityViewController`
Android: `Intent.ACTION_SEND` via `Intent.createChooser`
"""
@doc """
Open the share sheet with plain text. Returns the socket unchanged.
"""
@spec text(Mob.Socket.t(), binary()) :: Mob.Socket.t()
def text(socket, content) when is_binary(content) do
:mob_nif.share_text(content)
socket
end
end