mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-02 20:15:22 +02:00
Fix profile page on fresh install (#684)
This commit is contained in:
parent
e7fe1b5a4b
commit
93953499a6
4 changed files with 50 additions and 11 deletions
|
@ -7,12 +7,22 @@ class User < ApplicationRecord
|
|||
validates :email, presence: true, uniqueness: true
|
||||
normalizes :email, with: ->(email) { email.strip.downcase }
|
||||
|
||||
normalizes :first_name, :last_name, with: ->(value) { value.strip.presence }
|
||||
|
||||
enum :role, { member: "member", admin: "admin" }, validate: true
|
||||
|
||||
generates_token_for :password_reset, expires_in: 15.minutes do
|
||||
password_salt&.last(10)
|
||||
end
|
||||
|
||||
def display_name
|
||||
[ first_name, last_name ].compact.join(" ").presence || email
|
||||
end
|
||||
|
||||
def initial
|
||||
(display_name&.first || email.first).upcase
|
||||
end
|
||||
|
||||
def acknowledge_upgrade_prompt(commit_sha)
|
||||
update!(last_prompted_upgrade_commit_sha: commit_sha)
|
||||
end
|
||||
|
|
|
@ -4,14 +4,16 @@
|
|||
<% end %>
|
||||
<div id="user-menu" data-controller="menu">
|
||||
<button data-menu-target="button">
|
||||
<div class="text-white w-9 h-9 bg-gray-400 rounded-full flex items-center justify-center text-lg uppercase"><%= Current.user.email.first %></div>
|
||||
<div class="text-white w-9 h-9 bg-gray-400 rounded-full flex items-center justify-center text-lg uppercase"><%= Current.user.initial %></div>
|
||||
</button>
|
||||
<div data-menu-target="content" class="hidden absolute w-[240px] z-10 top-10 left-[255px] top-[72px] bg-white rounded-sm shadow-xs border border-alpha-black-25">
|
||||
<div class="p-3 flex items-center gap-3">
|
||||
<div class="text-white shrink-0 w-9 h-9 bg-gray-400 rounded-full flex items-center justify-center text-lg uppercase"><%= Current.user.email.first %></div>
|
||||
<div class="text-white shrink-0 w-9 h-9 bg-gray-400 rounded-full flex items-center justify-center text-lg uppercase"><%= Current.user.initial %></div>
|
||||
<div>
|
||||
<span class="text-gray-900 font-medium text-sm"><%= Current.user.first_name %> <%= Current.user.last_name %></span>
|
||||
<span class="text-gray-500 text-sm"><%= Current.user.email %></span>
|
||||
<span class="text-gray-900 font-medium text-sm"><%= Current.user.display_name %></span>
|
||||
<% if Current.user.display_name != Current.user.email %>
|
||||
<span class="text-gray-500 text-sm"><%= Current.user.email %></span>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="border-t border-b border-alpha-black-100 p-1">
|
||||
|
|
|
@ -39,9 +39,9 @@
|
|||
</div>
|
||||
<div class="flex gap-2 items-center bg-white p-4 border border-alpha-black-25 rounded-lg">
|
||||
<div class="mr-1 flex justify-center items-center bg-gray-50 w-8 h-8 rounded-full border border-alpha-black-25">
|
||||
<p class="uppercase text-xs text-gray-500"><%= Current.user.first_name.first %></p>
|
||||
<p class="uppercase text-xs text-gray-500"><%= Current.user.initial %></p>
|
||||
</div>
|
||||
<p class="text-gray-900 font-medium text-sm"><%= Current.user.first_name %> <%= Current.user.last_name %></p>
|
||||
<p class="text-gray-900 font-medium text-sm"><%= Current.user.display_name %></p>
|
||||
<div class="rounded-md bg-gray-100 px-1.5 py-0.5">
|
||||
<p class="uppercase text-gray-500 font-medium text-xs"><%= Current.user.role %></p>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue