Skip to content

Instantly share code, notes, and snippets.

@tcannonfodder
Created April 3, 2025 14:36
Show Gist options
  • Save tcannonfodder/ac7f3cb369d347f02d71208a65d71eb7 to your computer and use it in GitHub Desktop.
Save tcannonfodder/ac7f3cb369d347f02d71208a65d71eb7 to your computer and use it in GitHub Desktop.
Request variants
# Showing how to set the request variant
def using_web_awesome?
if has_current_organization?
Flipper.enabled?(:web_awesome, current_organization)
else
Flipper.enabled?(:web_awesome, FlipperNoOrganizationActor.instance)
end
end
def set_webawesome_variant
return unless using_web_awesome?
request.variant = :webawesome
end
<!-- sessions/new.html+webawesome.erb -->
<% content_for(:head) do %>
<%= javascript_include_tag "v2-session-form", type: :module %>
<% end %>
<section class="wa-stack">
<%= render "devise/shared/error_messages", resource: resource %>
<%= render Forms::SigninFormComponent.new(
model: resource,
as: resource_name,
url: user_session_url,
challenge_url: new_user_session_challenge_url,
credential_field_name: field_name(resource.model_name.param_key, :passkey_credential)
)
%>
<nav class="wa-cluster" role="list">
<section>
<%= link_to new_user_emergency_passkey_registration_url do %>
<%= icon_text(
icon: icon_set.emergency_passkey_registration_icon,
text: guided_translate(".emergency_passkey_registrations.prompt")
) %>
<% end %>
</section>
<% if Flipper.enabled?(:self_service_user_registration) %>
<section>
<%= link_to new_user_registration_url do %>
<%= icon_text(icon: icon_set.signup_icon, text: guided_translate(".registration.prompt")) %>
<% end %>
</section>
<% end %>
</nav>
</section>
<!-- sessions/new.html.erb -->
<div class="cover" >
<section class="stack-compact">
<%= render "devise/shared/error_messages", resource: resource %>
<% form_component = SigninFormComponent.new(model: resource,
as: resource_name,
url: user_session_url,
challenge_url: new_user_session_challenge_url,
credential_field_name: field_name(resource.model_name.param_key, :passkey_credential)
)
%>
<%= render form_component %>
<nav>
<ul class="fa-ul">
<li>
<span class="fa-li"><%= emergency_passkey_registration_icon %></span>
<span><%= link_to guided_translate(".emergency_passkey_registrations.prompt"), new_user_emergency_passkey_registration_url %></span>
</li>
<% if Flipper.enabled?(:self_service_user_registration) %>
<li>
<span class="fa-li"><%= signup_icon %></span>
<span><%= link_to guided_translate(".registration.prompt"), new_user_registration_url %>
</span>
</li>
<% end %>
</ul>
</nav>
<script type="module">
import {startConditionalMediation, submitFormEvent} from '<%= path_to_javascript("session-form") %>'
let form = document.getElementById("<%=j form_component.form_id %>")
startConditionalMediation(form)
form.addEventListener('submit', submitFormEvent)
</script>
</section>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment