mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-07 22:45:20 +02:00
Since the very first 0.1.0-alpha.1 release, we've been moving quickly to add new features to the Maybe app. In doing so, some parts of the codebase have become outdated, unnecessary, or overly-complex as a natural result of this feature prioritization. Now that "core" Maybe is complete, we're moving into a second phase of development where we'll be working hard to improve the accuracy of existing features and build additional features on top of "core". This PR is a quick overhaul of the existing codebase aimed to: - Establish the brand new and simplified dashboard view (pictured above) - Establish and move towards the conventions introduced in Cursor rules and project design overview #1788 - Consolidate layouts and improve the performance of layout queries - Organize the core models of the Maybe domain (i.e. Account::Entry, Account::Transaction, etc.) and break out specific traits of each model into dedicated concerns for better readability - Remove stale / dead code from codebase - Remove overly complex code paths in favor of simpler ones
42 lines
1.7 KiB
Text
42 lines
1.7 KiB
Text
<div class="bg-gray-25 h-screen flex flex-col justify-between">
|
|
<%= render "onboardings/header" %>
|
|
|
|
<div class="grow max-w-lg w-full mx-auto bg-gray-25 flex flex-col justify-center">
|
|
<div>
|
|
<div class="space-y-1 mb-6">
|
|
<h1 class="text-2xl font-medium"><%= t(".title") %></h1>
|
|
<p class="text-secondary text-sm"><%= t(".subtitle") %></p>
|
|
</div>
|
|
|
|
<%= styled_form_with model: @user do |form| %>
|
|
<%= form.hidden_field :redirect_to, value: @invitation ? "home" : "onboarding_preferences" %>
|
|
<%= form.hidden_field :onboarded_at, value: Time.current if @invitation %>
|
|
|
|
<div class="space-y-4 mb-4">
|
|
<p class="text-secondary text-xs"><%= t(".profile_image") %></p>
|
|
<%= render "settings/user_avatar_field", form: form, user: @user %>
|
|
</div>
|
|
|
|
<div class="flex justify-between items-center gap-4 mb-4">
|
|
<%= form.text_field :first_name, placeholder: t(".first_name"), label: t(".first_name"), container_class: "bg-white w-1/2", required: true %>
|
|
<%= form.text_field :last_name, placeholder: t(".last_name"), label: t(".last_name"), container_class: "bg-white w-1/2", required: true %>
|
|
</div>
|
|
<% unless @invitation %>
|
|
<div class="space-y-4 mb-4">
|
|
<%= form.fields_for :family do |family_form| %>
|
|
<%= family_form.text_field :name, placeholder: t(".household_name"), label: t(".household_name") %>
|
|
|
|
<%= family_form.select :country,
|
|
country_options,
|
|
{ label: t(".country") }, required: true %>
|
|
<% end %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<%= form.submit t(".submit") %>
|
|
<% end %>
|
|
</div>
|
|
</div>
|
|
|
|
<%= render "layouts/shared/footer" %>
|
|
</div>
|