@@ -5,20 +5,25 @@ defmodule WikWeb.Page.ShowLive do
55 require Logger
66
77 @ impl true
8- def mount ( _params , session , socket ) do
9- user = session [ "user" ] || % { }
10-
8+ def mount ( % { "group_slug" => group_slug , "slug" => page_slug } , session , socket ) do
119 Phoenix.PubSub . subscribe ( Wik.PubSub , "pages" )
1210
11+ user = session [ "user" ]
12+ group_name = Wik . get_group_name ( group_slug )
13+
1314 { :ok ,
1415 socket
1516 |> assign ( :user , user )
16- |> assign ( :backlinks , [ ] ) }
17+ |> assign ( :page_slug , page_slug )
18+ |> assign ( :page_title , "#{ page_slug } | #{ group_name } " )
19+ |> assign ( :backlinks , Page . backlinks ( group_slug , page_slug ) )
20+ |> assign ( :group_slug , group_slug )
21+ |> assign ( :group_name , Wik . get_group_name ( group_slug ) ) }
1722 end
1823
1924 @ impl true
2025 def handle_params ( % { "group_slug" => group_slug , "slug" => page_slug } , _uri , socket ) do
21- { page_title , content } =
26+ { _page_title , content } =
2227 case Page . load ( group_slug , page_slug ) do
2328 { :ok , { _metadata , body } } ->
2429 { page_slug , Page . render ( group_slug , body ) }
@@ -29,11 +34,6 @@ defmodule WikWeb.Page.ShowLive do
2934
3035 { :noreply ,
3136 socket
32- |> assign ( group_slug: group_slug )
33- |> assign ( slug: page_slug )
34- |> assign ( group_name: Wik . get_group_name ( group_slug ) )
35- |> assign ( :backlinks , Page . backlinks ( group_slug , page_slug ) )
36- |> assign ( :page_title , page_title )
3737 |> assign ( :content , content ) }
3838 end
3939
@@ -67,16 +67,17 @@ defmodule WikWeb.Page.ShowLive do
6767
6868 <: menu >
6969 < div class = "flex justify-between items-end " >
70- < Layouts . page_slug group_slug = { @ group_slug } page_slug = { @ page_title } />
70+ < Layouts . page_slug group_slug = { @ group_slug } page_slug = { @ page_slug } />
7171
7272 < div class = "flex gap-2 " >
7373 < Components . shortcut key = "r " >
74- < . link href = { ~p" /#{ @ group_slug } /wiki/#{ @ slug } /revisions" } class = "btn btn-ghost " >
74+ < . link href = { ~p" /#{ @ group_slug } /wiki/#{ @ page_slug } /revisions" } class = "btn btn-ghost " >
7575 Revisions
7676 </ . link >
7777 </ Components . shortcut >
78+
7879 < Components . shortcut key = "e " >
79- < . link href = { ~p" /#{ @ group_slug } /wiki/#{ @ slug } /edit" } class = "btn btn-primary " >
80+ < . link href = { ~p" /#{ @ group_slug } /wiki/#{ @ page_slug } /edit" } class = "btn btn-primary " >
8081 Edit
8182 </ . link >
8283 </ Components . shortcut >
@@ -92,6 +93,7 @@ defmodule WikWeb.Page.ShowLive do
9293 class = "float-right bg-white border p-6 py-5 rounded space-y-2 ml-8 mb-8 max-w-52 overflow-hidden "
9394 >
9495 < h2 class = "text-xs font-semibold text-slate-500 " > Backlinks</ h2 >
96+
9597 < ul class = "text-sm space-y-2 " >
9698 <%= for { slug , metadata } <- @ backlinks do %>
9799 < li >
@@ -105,9 +107,9 @@ defmodule WikWeb.Page.ShowLive do
105107 <% end %>
106108 </ ul >
107109 </ div >
108- < Components . prose >
109- { raw ( @ content ) }
110- </ Components . prose >
110+
111+ < Components . prose > { raw ( @ content ) } </ Components . prose >
112+
111113 < div class = "clear-both " > </ div >
112114 </ div >
113115 </ div >
0 commit comments