Files
sure/app/views/onboardings/_onboarding_nav.html.erb
tlink 9a9ebb147b Add localization for onboarding goals across multiple languages (#873)
* Add localization for onboarding goals across multiple languages

* Add password requirements localization for multiple languages

* Refactor localization keys for authentication messages

* Add `oidc` localization key for multiple languages

* Add OIDC account localization for multiple languages

* Add localization for trial and profile setup across multiple languages

* Refactor OIDC button label fallback to prioritize label presence over localization key

* Refactor onboarding tests to use I18n for text assertions and button labels

* Linter

* Last test fix?!?

* We keep both `oidc` and `openid_connect` due to contatenation issues

---------

Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
2026-02-03 14:49:21 +01:00

43 lines
1.8 KiB
Plaintext

<%# locals: (user:) %>
<% steps = [
{ name: t("onboardings.header.setup"), path: onboarding_path, is_complete: user.first_name.present?, step_number: 1 },
{ name: t("onboardings.header.preferences"), path: preferences_onboarding_path, is_complete: user.set_onboarding_preferences_at.present?, step_number: 2 },
{ name: t("onboardings.header.goals"), path: goals_onboarding_path, is_complete: user.set_onboarding_goals_at.present?, step_number: 3 },
{ name: t("onboardings.header.start"), path: trial_onboarding_path, is_complete: user.onboarded?, step_number: 4 },
] %>
<%# Don't show last step if self hosted %>
<% steps.pop if self_hosted? %>
<ul class="hidden md:flex items-center gap-2">
<% steps.each_with_index do |step, idx| %>
<li class="flex items-center gap-2 group">
<% is_current = request.path == step[:path] %>
<% text_class = if is_current
"text-primary"
else
step[:is_complete] ? "text-green-600" : "text-secondary"
end %>
<% step_class = if is_current
"bg-surface-inset text-primary"
else
step[:is_complete] ? "bg-green-600/10 border-alpha-black-25" : "bg-container-inset"
end %>
<%= link_to step[:path], class: "flex items-center gap-3" do %>
<div class="flex items-center gap-2 text-sm font-medium <%= text_class %>">
<span class="<%= step_class %> w-7 h-7 rounded-full shrink-0 inline-flex items-center justify-center border border-transparent">
<%= step[:is_complete] && !is_current ? icon("check", size: "sm", color: "current") : idx + 1 %>
</span>
<span><%= step[:name] %></span>
</div>
<% end %>
<hr class="border border-secondary w-12 group-last:hidden">
</li>
<% end %>
</ul>