248fc5d3e7
* test: update sign_in_as system test helper to be more generic and support fixture users with more than one board * test: backfill a test for the card "back link" when coming from a board filter page * Fix back navigation to filter views from cards When navigating from a filter view to a card, the back link now shows the filter's label and navigates back to the filter URL instead of the card's board. The turbo-navigation Stimulus controller stores the page title alongside the referrer URL in sessionStorage. On the card show page, a referrerBackLink target rewrites the back link's href and label from the stored values. This is scoped only to the card show page to avoid navigation loops in multi-level deep pages. * Add referrer allowlist to prevent stale referrer rewrites The back link is only rewritten when the stored referrer's path matches an allowlist of paths passed via prefer_referrer. This prevents stale referrers from unrelated pages (e.g., settings) from overriding the card's back link. * Move back link navigation tests to dedicated system test file Extract back link tests from smoke_test.rb into their own file since they test specific JavaScript behavior that needs regression coverage. Move sign_in_as helper to ApplicationSystemTestCase for reuse. * Move markdown paste tests to dedicated system test file
43 lines
1.6 KiB
Plaintext
43 lines
1.6 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<%= render "layouts/shared/head" %>
|
|
|
|
<body class="<%= @body_class %>"
|
|
data-controller="local-time timezone-cookie turbo-navigation theme bridge--title bridge--text-size bridge--insets"
|
|
data-action="turbo:morph@window->local-time#refreshAll turbo:before-visit@document->turbo-navigation#rememberLocation"
|
|
data-turbo-navigation-label-value="<%= @page_title %>"
|
|
data-platform="<%= platform.type %>"
|
|
data-bridge-platform="<%= platform.bridge_name %>"
|
|
data-bridge-components="<%= platform.bridge_components %>"
|
|
data-bridge--title-title-value="<%= @page_title %>">
|
|
<div id="global-container" data-controller="bridge--buttons bridge--overflow-menu">
|
|
<header class="header header--mobile-actions-stack <%= @header_class %>" id="header">
|
|
<a href="#main" class="header__skip-navigation btn" data-turbo="false">Skip to main content</a>
|
|
<%= render "my/menu" if Current.user %>
|
|
<%= yield :header %>
|
|
</header>
|
|
|
|
<%= render "layouts/shared/flash" %>
|
|
<%= render "layouts/shared/time_zone" if Current.user %>
|
|
|
|
<main id="main">
|
|
<%= yield %>
|
|
</main>
|
|
</div>
|
|
|
|
<footer id="footer" class="hide-on-native">
|
|
<%= yield :footer %>
|
|
|
|
<% if Current.user && !@hide_footer_frames %>
|
|
<div id="footer_frames" data-turbo-permanent="true">
|
|
<%= render "bar/bar" %>
|
|
<%= render "my/pins/tray" %>
|
|
<%= render "notifications/tray" %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<%= render "layouts/shared/welcome_letter" if flash[:welcome_letter] %>
|
|
</footer>
|
|
</body>
|
|
</html>
|