From 1a4a7f0d0cfe9666322306d2a492d35085d1002f Mon Sep 17 00:00:00 2001 From: Ryan Pandya Date: Sun, 30 Oct 2022 00:47:32 -0700 Subject: [PATCH] Mucking everything up combining users/profiles --- friends/lib/friends_web/live/show.ex | 17 +++++++++++++++-- .../templates/friend/index.html.heex | 3 ++- friends/lib/friends_web/views/live_view.ex | 14 ++++++++++---- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/friends/lib/friends_web/live/show.ex b/friends/lib/friends_web/live/show.ex index 2d9e0cb..bff1446 100644 --- a/friends/lib/friends_web/live/show.ex +++ b/friends/lib/friends_web/live/show.ex @@ -3,9 +3,22 @@ defmodule FriendsWeb.FriendLive.Show do import FriendsWeb.LiveView - def mount(_params, %{"user_token" => user_token}, socket) do + def mount(params, %{"user_token" => user_token}, socket) do {:ok, socket - |> assign_current_user(user_token)} + |> assign_current_user(user_token) + } end + + def mount(%{"slug" => slug}, _token, socket) do + friend = slug |> Friends.Friend.get_by_slug + {:ok, + socket + |> assign_current_user(nil) + |> assign(:friend, friend) + } + end + + + end diff --git a/friends/lib/friends_web/templates/friend/index.html.heex b/friends/lib/friends_web/templates/friend/index.html.heex index 355e334..5083440 100644 --- a/friends/lib/friends_web/templates/friend/index.html.heex +++ b/friends/lib/friends_web/templates/friend/index.html.heex @@ -4,9 +4,10 @@ <%= for f <- @all_friends do %>
  • <.link href={"/friend/#{f.slug}"}><%= f.name %> + <%= if @current_user do %> <%= if f.id == @current_user.profile.id do %> (you) - <% end %> + <% end %><% end %>
  • <% end %> diff --git a/friends/lib/friends_web/views/live_view.ex b/friends/lib/friends_web/views/live_view.ex index e297ab2..8df2cde 100644 --- a/friends/lib/friends_web/views/live_view.ex +++ b/friends/lib/friends_web/views/live_view.ex @@ -2,13 +2,19 @@ defmodule FriendsWeb.LiveView do use FriendsWeb, :live_component def assign_current_user(socket, user_token) do + user = case user_token do + nil -> + nil + _moot -> + user_token + |> Friends.Accounts.get_user_by_session_token() + |> Friends.Repo.preload(:profile) + end socket |> assign( :current_user, - user_token - |> Friends.Accounts.get_user_by_session_token() - |> Friends.Repo.preload(:profile) - ) + user + ) end def title(socket, title) do