Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions app/assets/stylesheets/partials/_results.scss
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,27 @@
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

// Browzine / LibKey actions wrapper
.libkey-actions {
// Default to underlined link styling for inline display (when paired with other buttons)
a.libkey-link {
@include underlinedLinks;
font-weight: $fw-medium;
font-size: 1.6rem;
}
}

// When libkey-actions is the first button (no other buttons before it),
// display as full-width secondary button
.result-get > .libkey-actions:not(.result-get > a.button ~ .libkey-actions) {
flex: 0 0 100%;

a.libkey-link {
@include buttonSecondary;
}
}

// Make result buttons present as underlined links
Expand Down
8 changes: 5 additions & 3 deletions app/views/search/_result_primo.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -97,16 +97,18 @@
<%= render(partial: 'trigger_openalex_setup', locals: { doi: result[:doi], pmid: result[:pmid] }) %>
<% end %>

<% if result[:availability].present? && result[:format].downcase != 'journal' %>
<span class="availability">
<% if result[:availability].present? %>
<div class="availability">
<% if result[:links]&.find { |link| link['kind'] == 'full record' } %>
<%= link_to(availability(result[:availability], result[:location], result[:other_availability]), result[:links].find { |link| link['kind'] == 'full record' }['url']) %>
<% else %>
<%= availability(result[:availability], result[:location], result[:other_availability]) %>
<% end %>
</span>
</div>
<% end %>

<%# Trigger BrowZine lookup (render inside result-get so injected HTML
is part of the flex `.result-get` area and receives expected styles) %>
<% if ThirdIron.enabled? && result[:format].downcase == 'journal' && result[:issn].present? %>
<%= render(partial: 'trigger_browzine', locals: { issn: result[:issn] }) %>
<% end %>
Expand Down
4 changes: 3 additions & 1 deletion app/views/thirdiron/browzine.html.erb
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
<% if ThirdIron.enabled? && @browzine.present? %>
<% if @browzine[:browzine_link].present? %>
<%= link_to( @browzine[:browzine_link][:text], @browzine[:browzine_link][:link], class: 'button libkey-link' ) %>
<div class="libkey-actions">
<%= link_to @browzine[:browzine_link][:text], @browzine[:browzine_link][:link], class: 'button libkey-link' %>
</div>
<% end %>
<% end %>
4 changes: 3 additions & 1 deletion app/views/thirdiron/libkey.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,9 @@

<%# Display browzine link if available. This should always display if we have it regardless of other links. %>
<% if @libkey[:browzine_link].present? %>
<%= link_to( @libkey[:browzine_link][:text], @libkey[:browzine_link][:link], class: 'button libkey-link' ) %>
<div class="libkey-actions">
<%= link_to @libkey[:browzine_link][:text], @libkey[:browzine_link][:link], class: 'button libkey-link' %>
</div>
<% end %>

<%# If we didn't get data back from LibKey, we try OpenAlex unless OA_ALWAYS is enabled at which point we would have already requested data from OpenAlex in parallel to LibKey %>
Expand Down