From 8bf2165b4b019f48a65114c280cf164d9726ce84 Mon Sep 17 00:00:00 2001
From: Kerdo Kurs <kerdokurs@gmail.com>
Date: Wed, 13 Nov 2024 16:44:08 +0200
Subject: [PATCH] refactor app layout, disable user email validation for now
 #46

---
 lib/proptrackr/accounts/user.ex               |  2 +-
 .../components/layouts/app.html.heex          | 27 +++++++++----------
 .../controllers/profile_html/index.html.heex  |  6 +----
 lib/proptrackr_web/router.ex                  |  5 +++-
 4 files changed, 18 insertions(+), 22 deletions(-)

diff --git a/lib/proptrackr/accounts/user.ex b/lib/proptrackr/accounts/user.ex
index 03aff24..d3cdcce 100644
--- a/lib/proptrackr/accounts/user.ex
+++ b/lib/proptrackr/accounts/user.ex
@@ -23,7 +23,7 @@ defmodule PropTrackr.Accounts.User do
     |> cast(params, [:name, :surname, :birth_date, :phone_number, :bio, :email, :password, :confirm_password])
     |> validate_required([:name, :surname, :birth_date, :phone_number, :email, :password, :confirm_password])
     |> validate_password_confirmation(:password, :confirm_password)
-    |> validate_unique_email()
+    # |> validate_unique_email()
   end
 
   defp validate_password_confirmation(changeset, field_1, field_2) do
diff --git a/lib/proptrackr_web/components/layouts/app.html.heex b/lib/proptrackr_web/components/layouts/app.html.heex
index a25cfce..a9ed754 100644
--- a/lib/proptrackr_web/components/layouts/app.html.heex
+++ b/lib/proptrackr_web/components/layouts/app.html.heex
@@ -1,21 +1,18 @@
-<header class="header">
-  <ol class="breadcrumb pull-right">
-    <%= if @conn.assigns.current_user do %>
-      <li>Hello <%= @conn.assigns.current_user.name %></li>
-      <button
-        id="logout_button"
-        phx-click={JS.navigate("/logout")}
-        class="text-sm font-semibold leading-6 text-zinc-900 hover:text-zinc-700"
-      >
-        <.icon name="hero-arrow-left-solid" class="h-3 w-3" /> Logout
-      </button>
-    <% else %>
-    <% end %>
-  </ol>
+<header class="header flex flex-row-reverse gap-x-4 px-4 py-1">
+  <%= if @conn.assigns.current_user do %>
+    <button
+      id="logout_button"
+      phx-click={JS.navigate("/logout")}
+      class="text-sm font-semibold leading-6 text-zinc-900 hover:text-zinc-700"
+    >
+      Logout
+      <.icon name="hero-arrow-right-solid" class="h-3 w-3" />
+    </button>
+    <span>Hello, <%= @conn.assigns.current_user.name %>!</span>
+  <% end %>
   <span class="logo"></span>
 </header>
 
-
 <main class="px-4 py-20 sm:px-6 lg:px-8">
   <div class="mx-auto max-w-2xl"><.flash_group flash={@flash} /> <%= @inner_content %></div>
 </main>
diff --git a/lib/proptrackr_web/controllers/profile_html/index.html.heex b/lib/proptrackr_web/controllers/profile_html/index.html.heex
index 81d464a..2633500 100644
--- a/lib/proptrackr_web/controllers/profile_html/index.html.heex
+++ b/lib/proptrackr_web/controllers/profile_html/index.html.heex
@@ -1,5 +1,5 @@
 <.header>
-  Your profile
+  <%= @user.name %> <%= @user.surname %>'s profile
   <:actions>
     <.link href={~p"/me/details"}>
       <.button>Edit details</.button>
@@ -10,10 +10,6 @@
   </:actions>
 </.header>
 
-<p class="italic"><%= @user.name %> <%= @user.surname %></p>
-
-<p><span class="bold">First name:</span> <%= @user.name %></p>
-<p><span class="bold">Last name:</span> <%= @user.surname %></p>
 <p><span class="bold">Birth date:</span> <%= @user.birth_date %></p>
 <p><span class="bold">Phone number:</span> <%= @user.phone_number %></p>
 <p><span class="bold">Email:</span> <%= @user.email %></p>
diff --git a/lib/proptrackr_web/router.ex b/lib/proptrackr_web/router.ex
index 8ac12cd..ce306d3 100644
--- a/lib/proptrackr_web/router.ex
+++ b/lib/proptrackr_web/router.ex
@@ -20,10 +20,13 @@ defmodule PropTrackrWeb.Router do
 
     get "/", PageController, :home
     resources "/users", UserController, only: [:index]
+
+    # Authentication
     resources "/register", RegisterController, only: [:index, :create]
     resources "/login", LoginController, only: [:index, :create]
-    resources "/logout", LogoutController
+    resources "/logout", LogoutController, only: [:index]
 
+    # User profile
     resources "/me", ProfileController, only: [:index]
     resources "/me/details", UpdateController, only: [:index, :create]
     resources "/me/password", PasswordController, only: [:index, :create]
-- 
GitLab