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
20 lines
362 B
Ruby
20 lines
362 B
Ruby
# frozen_string_literal: true
|
|
|
|
class RsScopeListComponent < ViewComponent::Base
|
|
include OauthHelper
|
|
|
|
def initialize(scopes:, root: false, icon_class: nil)
|
|
@scopes = scopes
|
|
@root = root
|
|
@icon_class = icon_class
|
|
end
|
|
|
|
def read_only?
|
|
@scopes.include?(":r")
|
|
end
|
|
|
|
def icon_classes
|
|
["flex-none", @icon_class].compact.join(" ")
|
|
end
|
|
end
|