1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-19 05:09:38 +02:00

Improve password reset flow, normalize translations
Some checks are pending
Publish Docker image / ci (push) Waiting to run
Publish Docker image / Build docker image (push) Blocked by required conditions

This commit is contained in:
Zach Gollwitzer 2024-11-05 17:15:29 -05:00
parent cee9692b35
commit f2739b79fb
22 changed files with 58 additions and 69 deletions

View file

@ -101,7 +101,7 @@
}
.btn {
@apply px-3 py-2 rounded-lg text-sm font-medium cursor-pointer;
@apply px-3 py-2 rounded-lg text-sm font-medium cursor-pointer focus:outline-gray-500;
}
.btn--primary {

View file

@ -16,7 +16,7 @@ class PasswordResetsController < ApplicationController
).password_reset.deliver_later
end
redirect_to root_path, notice: t(".requested")
redirect_to new_password_reset_path(step: "pending")
end
def edit

View file

@ -1,4 +1,4 @@
class ApplicationMailer < ActionMailer::Base
default from: ENV["EMAIL_SENDER"] if ENV["EMAIL_SENDER"].present?
default from: email_address_with_name(ENV.fetch("EMAIL_SENDER", "sender@maybe.local"), "Maybe Finance")
layout "mailer"
end

View file

@ -3,17 +3,8 @@
%>
<%= styled_form_with model: @user, url: password_reset_path(token: params[:token]), method: :patch, class: "space-y-4" do |form| %>
<div class="relative border border-gray-100 bg-gray-25 rounded-xl focus-within:bg-white focus-within:shadow focus-within:opacity-100">
<%= form.label :password, class: "p-4 pb-0 block text-sm font-medium text-gray-700" %>
<%= form.password_field :password, required: "required", class: "p-4 pt-1 bg-transparent border-none opacity-50 focus:outline-none focus:ring-0 focus-within:opacity-100 w-full" %>
</div>
<%= form.password_field :password, required: true, label: true %>
<%= form.password_field :password_confirmation, required: true, label: true %>
<div class="relative border border-gray-100 bg-gray-25 rounded-xl focus-within:bg-white focus-within:shadow focus-within:opacity-100">
<%= form.label :password_confirmation, class: "p-4 pb-0 block text-sm font-medium text-gray-700" %>
<%= form.password_field :password_confirmation, required: "required", class: "p-4 pt-1 bg-transparent border-none opacity-50 focus:outline-none focus:ring-0 focus-within:opacity-100 w-full" %>
</div>
<div>
<%= form.submit t(".submit"), class: "flex justify-center w-full px-4 py-3 text-sm font-medium text-white bg-black rounded-xl hover:bg-black focus:outline-none focus:ring-2 focus:ring-gray-200 shadow" %>
</div>
<%= form.submit %>
<% end %>

View file

@ -1,9 +1,11 @@
<%
header_title t(".title")
%>
<% header_title t(".title") %>
<%= styled_form_with url: password_reset_path, class: "space-y-4" do |form| %>
<% if params[:step] == "pending" %>
<p class="text-sm text-gray-500 text-center"><%= t(".requested") %></p>
<% else %>
<%= styled_form_with url: password_reset_path, class: "space-y-4" do |form| %>
<%= form.email_field :email, label: true, autofocus: false, autocomplete: "email", required: "required", placeholder: "you@example.com" %>
<%= form.submit t(".submit") %>
<% end %>
<% end %>

View file

@ -1,8 +1,5 @@
---
en:
invitation_mailer:
invite_email:
subject: "%{inviter} has invited you to join their household on Maybe!"
greeting: "You've been invited!"
body: "%{inviter} has invited you to join their household '%{family}' as a %{role}."
accept_button: "Accept Invitation"
expiry_notice: "This invitation will expire in %{days} days."

View file

@ -37,11 +37,11 @@ en:
other_accounts: Other accounts
new_account: New account
new:
import_accounts: Import accounts
method_selector:
connected_entry: Link account (coming soon)
manual_entry: Enter account balance
title: How would you like to add it?
import_accounts: Import accounts
title: What would you like to add?
show:
chart:

View file

@ -3,10 +3,10 @@ en:
credit_cards:
create:
success: Credit card account created
edit:
edit: Edit %{account}
destroy:
success: Credit card account deleted
edit:
edit: Edit %{account}
form:
annual_fee: Annual fee
annual_fee_placeholder: '99'

View file

@ -3,11 +3,11 @@ en:
cryptos:
create:
success: Crypto account created
destroy:
success: Crypto account deleted
edit:
edit: Edit %{account}
new:
title: Enter account balance
update:
success: Crypto account updated
destroy:
success: Crypto account deleted

View file

@ -3,6 +3,8 @@ en:
depositories:
create:
success: Depository account created
destroy:
success: Depository account deleted
edit:
edit: Edit %{account}
form:
@ -12,5 +14,3 @@ en:
title: Enter account balance
update:
success: Depository account updated
destroy:
success: Depository account deleted

View file

@ -3,6 +3,8 @@ en:
investments:
create:
success: Investment account created
destroy:
success: Investment account deleted
edit:
edit: Edit %{account}
form:
@ -14,8 +16,6 @@ en:
chart_title: Total value
update:
success: Investment account updated
destroy:
success: Investment account deleted
value_tooltip:
cash: Cash
holdings: Holdings

View file

@ -1,7 +1,8 @@
---
en:
invitation_mailer:
invite_email:
greeting: "Welcome to Maybe!"
accept_button: Accept Invitation
body: "%{inviter} has invited you to join the %{family} family on Maybe!"
accept_button: "Accept Invitation"
expiry_notice: "This invitation will expire in %{days} days"
expiry_notice: This invitation will expire in %{days} days
greeting: Welcome to Maybe!

View file

@ -1,14 +1,15 @@
---
en:
invitations:
create:
success: "Invitation sent successfully"
failure: "Could not send invitation"
failure: Could not send invitation
success: Invitation sent successfully
new:
title: Invite Someone
subtitle: Send an invitation to join your family account on Maybe
email_placeholder: Enter email address
email_label: Email Address
role_member: Member
email_placeholder: Enter email address
role_admin: Administrator
role_label: Role
role_member: Member
submit: Send Invitation
subtitle: Send an invitation to join your family account on Maybe
title: Invite Someone

View file

@ -3,10 +3,10 @@ en:
loans:
create:
success: Loan account created
edit:
edit: Edit %{account}
destroy:
success: Loan account deleted
edit:
edit: Edit %{account}
form:
interest_rate: Interest rate
interest_rate_placeholder: '5.25'

View file

@ -3,10 +3,10 @@ en:
other_assets:
create:
success: Other asset account created
edit:
edit: Edit %{account}
destroy:
success: Other asset account deleted
edit:
edit: Edit %{account}
new:
title: Enter asset details
update:

View file

@ -3,10 +3,10 @@ en:
other_liabilities:
create:
success: Other liability account created
edit:
edit: Edit %{account}
destroy:
success: Other liability account deleted
edit:
edit: Edit %{account}
new:
title: Enter liability details
update:

View file

@ -1,13 +1,10 @@
---
en:
password_resets:
create:
requested: If an account with that email exists, we have sent a link to reset
your password.
edit:
submit: Update Password
title: Reset password
new:
requested: Please check your email for a link to reset your password.
submit: Reset password
title: Reset password
update:

View file

@ -3,10 +3,10 @@ en:
properties:
create:
success: Property account created
edit:
edit: Edit %{account}
destroy:
success: Property account deleted
edit:
edit: Edit %{account}
form:
address_line1: Street address
address_line1_placeholder: 123 Main St

View file

@ -12,12 +12,12 @@ en:
invalid_invite_code: Invalid invite code, please try again.
success: You have signed up successfully.
new:
invitation_message: "%{inviter} has invited you to join as a %{role}"
join_family_title: Join %{family}
role_admin: administrator
role_member: member
submit: Create account
title: Create your account
join_family_title: "Join %{family}"
invitation_message: "%{inviter} has invited you to join as a %{role}"
role_member: "member"
role_admin: "administrator"
welcome_body: To get started, you must sign up for a new account. You will
then be able to configure additional settings within the app.
welcome_title: Welcome to Self Hosted Maybe!

View file

@ -41,7 +41,6 @@ en:
theme_title: Theme
profiles:
show:
invite_member: "Add member"
confirm_delete:
body: Are you sure you want to permanently delete your account? This action
is irreversible.
@ -56,13 +55,14 @@ en:
household_subtitle: Invite family members, partners and other inviduals. Invitees
can login to your household and access your shared accounts.
household_title: Household
invitation_link: Invitation link
invite_member: Add member
last_name: Last Name
page_title: Account
pending: Pending
profile_subtitle: Customize how you appear on Maybe
profile_title: Profile
save: Save
pending: Pending
invitation_link: Invitation link
user_avatar_field:
accepted_formats: JPG or PNG. 5MB max.
choose: Choose

View file

@ -3,10 +3,10 @@ en:
vehicles:
create:
success: Vehicle account created
edit:
edit: Edit %{account}
destroy:
success: Vehicle account deleted
edit:
edit: Edit %{account}
form:
make: Make
make_placeholder: Toyota

View file

@ -13,7 +13,7 @@ class PasswordResetsControllerTest < ActionDispatch::IntegrationTest
test "create" do
assert_enqueued_emails 1 do
post password_reset_path, params: { email: @user.email }
assert_redirected_to root_url
assert_redirected_to new_password_reset_url(step: "pending")
end
end