only show action buttons when appropriate
This commit is contained in:
@ -1,7 +1,7 @@
|
||||
defmodule MemexWeb.NoteLive.Show do
|
||||
use MemexWeb, :live_view
|
||||
|
||||
alias Memex.Notes
|
||||
alias Memex.{Accounts.User, Notes, Notes.Note}
|
||||
|
||||
@impl true
|
||||
def mount(_params, _session, socket) do
|
||||
@ -38,4 +38,13 @@ defmodule MemexWeb.NoteLive.Show do
|
||||
|
||||
defp page_title(:show), do: gettext("show note")
|
||||
defp page_title(:edit), do: gettext("edit note")
|
||||
|
||||
@spec is_owner_or_admin?(Note.t(), User.t()) :: boolean()
|
||||
defp is_owner_or_admin?(%{user_id: user_id}, %{id: user_id}), do: true
|
||||
defp is_owner_or_admin?(_context, %{role: :admin}), do: true
|
||||
defp is_owner_or_admin?(_context, _other_user), do: false
|
||||
|
||||
@spec is_owner?(Note.t(), User.t()) :: boolean()
|
||||
defp is_owner?(%{user_id: user_id}, %{id: user_id}), do: true
|
||||
defp is_owner?(_context, _other_user), do: false
|
||||
end
|
||||
|
Reference in New Issue
Block a user