CI / Test (pull_request) Successful in 44s
Visual refinement pass on the connected-apps dashboard introduced for #254. Card: - Restructure into a header row (app icon, name, host, chevron) with the device/category summary as a full-width footer, so the icon aligns with the name and the metrics sit on a consistent baseline - Always show the host alongside the app name, except when it is identical - Render the icon fallback as a neutral rounded tile instead of a faint watermark, and stop distorting real icons (object-contain) - Summarise the union of the app's scopes, with monitor/folder icons Details modal: - Replace the duplicated blue buttons with a secondary Close and a primary Launch app, split 50:50 on desktop like the consent dialog - Tighten the header, section spacing and device rows; hide a redundant host - Add exact date/time tooltips to the connected and expiry labels - Align the scope-list folder icons with their labels Misc: - Use fewer near-identical grays across the cards and modal - Drop the redundant top margin on the app grid Part of #254
23 lines
809 B
ERB
23 lines
809 B
ERB
<div class="space-y-2">
|
|
<% if @root %>
|
|
<p class="scope mb-0 flex items-center gap-2 text-lg">
|
|
<%= render partial: "icons/alert-triangle",
|
|
locals: { custom_class: "#{icon_classes} text-red-700" } %>
|
|
<span class="text-red-700">All categories and files</span>
|
|
<% if read_only? %>
|
|
<span class="text-sm text-gray-500">(read only)</span>
|
|
<% end %>
|
|
</p>
|
|
<% else %>
|
|
<% @scopes.each do |scope| %>
|
|
<p class="scope mb-0 flex items-center gap-2 text-gray-600">
|
|
<%= render partial: "icons/folder", locals: { custom_class: icon_classes } %>
|
|
<span class="text-lg"><%= scope_name(scope) %></span>
|
|
<% if scope_permissions(scope) == "r" %>
|
|
<span>(read only)</span>
|
|
<% end %>
|
|
</p>
|
|
<% end %>
|
|
<% end %>
|
|
</div>
|