diff --git a/app/assets/stylesheets/dividers.css b/app/assets/stylesheets/dividers.css index 3b755ae36..83759c1ba 100644 --- a/app/assets/stylesheets/dividers.css +++ b/app/assets/stylesheets/dividers.css @@ -1,19 +1,17 @@ @layer components { .divider { - --divider-padding: var(--inline-space); --divider-color: var(--color-ink-light); align-items: center; display: flex; - margin-inline: calc(var(--divider-padding) * -1); - + gap: var(--inline-space); + &:before, &:after { background: var(--divider-color); block-size: var(--divider-size, 1px); content: ""; flex: 1; - margin: 0 var(--divider-padding); } } -} \ No newline at end of file +} diff --git a/app/assets/stylesheets/panels.css b/app/assets/stylesheets/panels.css index 63eeafe0a..9770cf2f8 100644 --- a/app/assets/stylesheets/panels.css +++ b/app/assets/stylesheets/panels.css @@ -8,20 +8,4 @@ max-inline-size: 100%; padding: var(--panel-padding, calc(var(--block-space) * 2)); } - - .panels--two-up { - --panel-size: auto; - - display: flex; - flex-wrap: wrap; - gap: var(--block-space-double); - align-content: start; - max-inline-size: min(100ch, 100%); - margin: auto; - - .panel { - flex: 1 1 33%; - min-inline-size: 36ch; - } - } } diff --git a/app/assets/stylesheets/settings.css b/app/assets/stylesheets/settings.css new file mode 100644 index 000000000..03986bc45 --- /dev/null +++ b/app/assets/stylesheets/settings.css @@ -0,0 +1,74 @@ +@layer components { + .settings { + --settings-spacer: var(--block-space); + + display: grid; + gap: calc(var(--settings-spacer) * 2); + margin: var(--block-space) auto 0; + max-inline-size: min(100ch, 100%); + + @media (min-width: 960px) { + grid-template-columns: repeat(2, 1fr); + } + } + + .settings__panel { + --panel-size: 100%; + --panel-padding: calc(var(--settings-spacer) / 1); + + display: flex; + flex-direction: column; + gap: var(--settings-spacer); + min-block-size: 100%; + + @media (min-width: 960px) { + --panel-padding: calc(var(--settings-spacer) * 2); + } + } + + .settings__panel--users { + max-height: 80dvh; + + @media (min-width: 960px) { + max-height: calc(100dvh - 12rem); + } + } + + /* Users + /* ------------------------------------------------------------------------ */ + + .settings__user-filter { + --btn-size: 3.5ch; + --avatar-size: var(--btn-size); + + display: flex; + flex-direction: column; + gap: var(--settings-spacer); + min-height: 0; + } + + .settings__user-filter--bg { + background-color: var(--color-ink-lightest); + border-radius: 0.5em; + padding: var(--settings-spacer); + } + + .settings__user-list { + flex: 1 1 auto; + inline-size: 100%; + list-style: none; + margin: calc(var(--settings-spacer) / -4) 0; + padding: 0; + overflow: auto; + + a { + padding-block: calc(var(--settings-spacer) / 4); + + @media(any-hover: hover) { + &:hover { + text-decoration: underline; + } + } + } + } +} diff --git a/app/assets/stylesheets/users.css b/app/assets/stylesheets/users.css deleted file mode 100644 index 32de82ac2..000000000 --- a/app/assets/stylesheets/users.css +++ /dev/null @@ -1,9 +0,0 @@ -.users-list { - max-block-size: 40dvh; - overflow: auto; - padding-block: 1ch; - - li + li { - margin-block-start: 1ch; - } -} diff --git a/app/assets/stylesheets/utilities.css b/app/assets/stylesheets/utilities.css index 1b87d121a..44e6a3afb 100644 --- a/app/assets/stylesheets/utilities.css +++ b/app/assets/stylesheets/utilities.css @@ -134,6 +134,7 @@ .margin-block-half { margin-block: var(--block-space-half); } .margin-block-start { margin-block-start: var(--block-space); } .margin-block-start-half { margin-block-start: var(--block-space-half); } + .margin-block-start-auto { margin-block-start: auto; } .margin-block-end { margin-block-end: var(--block-space); } .margin-block-end-half { margin-block-end: var(--block-space-half); } .margin-block-double { margin-block: var(--block-space-double); } @@ -191,17 +192,7 @@ /* Lists */ :where(.list-style-none) { margin: 0 auto; - min-inline-size: 0; padding: 0; - - li { - display: block; - margin: 0; - max-inline-size: 100%; - min-inline-size: 0; - padding: 0; - text-align: start; - } } /* Accessibility */ diff --git a/app/helpers/accesses_helper.rb b/app/helpers/accesses_helper.rb index d7f442114..b46f459c7 100644 --- a/app/helpers/accesses_helper.rb +++ b/app/helpers/accesses_helper.rb @@ -1,6 +1,6 @@ module AccessesHelper - def access_menu_tag(collection, &) - tag.menu class: [ "flex flex-column gap-half unpad margin-none txt-medium", { "toggler--toggled": collection.all_access? } ], data: { + def access_menu_tag(collection, **options, &) + tag.menu class: [ options[:class], { "toggler--toggled": collection.all_access? } ], data: { controller: "filter toggle-class", toggle_class_toggle_class: "toggler--toggled" }, & end diff --git a/app/views/accounts/_user.html.erb b/app/views/accounts/_user.html.erb index f176236c3..32e0c66ed 100644 --- a/app/views/accounts/_user.html.erb +++ b/app/views/accounts/_user.html.erb @@ -1,14 +1,13 @@ -
  • - <%= avatar_tag user, hidden_for_screen_reader: true %> - - - <%= link_to user.name, user, class: "txt-ink btn btn--plain" %> - +
  • + <%= link_to user, class: "txt-ink flex gap-half align-center min-width" do %> + <%= avatar_preview_tag user, hidden_for_screen_reader: true %> + <%= user.name %> + <% end %> <%= form_with model: user, url: user_role_path(user), data: { controller: "form" }, method: :patch do | form | %> -