show.ex (1451B)
1 defmodule DailyTrackerWeb.EntryLive.Show do 2 use DailyTrackerWeb, :live_view 3 4 alias DailyTracker.Tracker 5 6 @impl true 7 def render(assigns) do 8 ~H""" 9 <Layouts.app flash={@flash}> 10 <.header> 11 Entry {@entry.id} 12 <:subtitle>This is a entry record from your database.</:subtitle> 13 <:actions> 14 <.button navigate={~p"/entries"}> 15 <.icon name="hero-arrow-left" /> 16 </.button> 17 <.button variant="primary" navigate={~p"/entries/#{@entry}/edit?return_to=show"}> 18 <.icon name="hero-pencil-square" /> Edit entry 19 </.button> 20 </:actions> 21 </.header> 22 23 <.list> 24 <:item title="Date">{@entry.date}</:item> 25 <:item title="Mood">{@entry.mood}</:item> 26 <:item title="Headache">{@entry.headache}</:item> 27 <:item title="Water glasses">{@entry.water_glasses}</:item> 28 <:item title="Worked out">{@entry.worked_out}</:item> 29 <:item title="Bowel movement">{@entry.bowel_movement}</:item> 30 <:item title="Hunger level">{@entry.hunger_level}</:item> 31 <:item title="Period">{@entry.period}</:item> 32 <:item title="Notes">{@entry.notes}</:item> 33 </.list> 34 </Layouts.app> 35 """ 36 end 37 38 @impl true 39 def mount(%{"id" => id}, _session, socket) do 40 {:ok, 41 socket 42 |> assign(:page_title, "Show Entry") 43 |> assign(:entry, Tracker.get_entry!(socket.assigns.current_scope, id))} 44 end 45 end