UX: Display full-page user search in a grid (#14636)
Two reasons for this change: 1. Better utilization of the screen space (i.e. displaying more than 5 entries on a 13" display) 2. Making user link elements smaller fixes user-card positioning (it no longer displays far to the right, away from the user name/avatar)
This commit is contained in:
parent
6275658e3d
commit
70634198a4
|
@ -114,7 +114,7 @@
|
||||||
highlightQuery=highlightQuery
|
highlightQuery=highlightQuery
|
||||||
}}
|
}}
|
||||||
|
|
||||||
{{#conditional-loading-spinner condition=loading }}
|
{{#conditional-loading-spinner condition=loading}}
|
||||||
{{#unless hasResults}}
|
{{#unless hasResults}}
|
||||||
{{#if searchActive}}
|
{{#if searchActive}}
|
||||||
<h3>{{i18n "search.no_results"}}</h3>
|
<h3>{{i18n "search.no_results"}}</h3>
|
||||||
|
@ -144,21 +144,19 @@
|
||||||
{{/unless}}
|
{{/unless}}
|
||||||
|
|
||||||
{{#if hasResults}}
|
{{#if hasResults}}
|
||||||
{{#unless loading}}
|
<h3 class="search-footer">
|
||||||
<h3 class="search-footer">
|
{{#if model.grouped_search_result.more_full_page_results}}
|
||||||
{{#if model.grouped_search_result.more_full_page_results}}
|
{{#if isLastPage}}
|
||||||
{{#if isLastPage }}
|
{{i18n "search.more_results"}}
|
||||||
{{i18n "search.more_results"}}
|
|
||||||
{{/if}}
|
|
||||||
{{else}}
|
|
||||||
{{i18n "search.no_more_results"}}
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</h3>
|
{{else}}
|
||||||
{{/unless}}
|
{{i18n "search.no_more_results"}}
|
||||||
|
{{/if}}
|
||||||
|
</h3>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/conditional-loading-spinner}}
|
{{/conditional-loading-spinner}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{#conditional-loading-spinner condition=loading }}
|
{{#conditional-loading-spinner condition=loading}}
|
||||||
{{#if hasResults}}
|
{{#if hasResults}}
|
||||||
{{#if model.categories.length}}
|
{{#if model.categories.length}}
|
||||||
<h4 class="category-heading">
|
<h4 class="category-heading">
|
||||||
|
@ -175,6 +173,7 @@
|
||||||
<h4 class="tag-heading">
|
<h4 class="tag-heading">
|
||||||
{{i18n "search.tags"}}
|
{{i18n "search.tags"}}
|
||||||
</h4>
|
</h4>
|
||||||
|
|
||||||
<div class="tag-items">
|
<div class="tag-items">
|
||||||
{{#each model.tags as |tag|}}
|
{{#each model.tags as |tag|}}
|
||||||
<div class="fps-tag-item">
|
<div class="fps-tag-item">
|
||||||
|
@ -187,28 +186,31 @@
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if model.users}}
|
{{#if model.users}}
|
||||||
{{#each model.users as |user|}}
|
<div class="user-items">
|
||||||
{{#user-link user=user class="fps-user-item"}}
|
{{#each model.users as |user|}}
|
||||||
{{avatar user imageSize="large"}}
|
{{#user-link user=user class="fps-user-item"}}
|
||||||
<div class="user-titles">
|
{{avatar user imageSize="large"}}
|
||||||
{{#if user.name}}
|
|
||||||
<span class="name">
|
<div class="user-titles">
|
||||||
{{user.name}}
|
{{#if user.name}}
|
||||||
|
<span class="name">
|
||||||
|
{{user.name}}
|
||||||
|
</span>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
<span class="username">
|
||||||
|
{{user.username}}
|
||||||
</span>
|
</span>
|
||||||
{{/if}}
|
</div>
|
||||||
<span class="username">
|
{{/user-link}}
|
||||||
{{user.username}}
|
{{/each}}
|
||||||
</span>
|
</div>
|
||||||
</div>
|
|
||||||
{{/user-link}}
|
|
||||||
{{/each}}
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{#if searchActive}}
|
{{#if searchActive}}
|
||||||
<h3>{{i18n "search.no_results"}}</h3>
|
<h3>{{i18n "search.no_results"}}</h3>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{/conditional-loading-spinner}}
|
{{/conditional-loading-spinner}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/load-more}}
|
{{/load-more}}
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
@mixin search-page-spacing {
|
@mixin search-page-spacing {
|
||||||
padding: 1rem 10%;
|
padding: 2rem 10%;
|
||||||
|
|
||||||
@include breakpoint(medium) {
|
@include breakpoint(medium) {
|
||||||
padding: 1rem;
|
padding: 1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-highlight {
|
.search-highlight {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
@ -61,6 +63,7 @@
|
||||||
|
|
||||||
.search-advanced {
|
.search-advanced {
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.search-actions,
|
.search-actions,
|
||||||
.search-title,
|
.search-title,
|
||||||
.search-bar {
|
.search-bar {
|
||||||
|
@ -69,7 +72,6 @@
|
||||||
|
|
||||||
.search-results {
|
.search-results {
|
||||||
@include search-page-spacing();
|
@include search-page-spacing();
|
||||||
padding-bottom: 3em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-info {
|
.search-info {
|
||||||
|
@ -122,6 +124,24 @@
|
||||||
margin-top: 1em;
|
margin-top: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.user-items {
|
||||||
|
display: grid;
|
||||||
|
gap: 2em 1em;
|
||||||
|
grid: auto-flow / repeat(4, 1fr);
|
||||||
|
|
||||||
|
@include breakpoint(medium) {
|
||||||
|
grid: auto-flow / repeat(3, 1fr);
|
||||||
|
}
|
||||||
|
|
||||||
|
@include breakpoint(tablet) {
|
||||||
|
grid: auto-flow / 1fr 1fr;
|
||||||
|
}
|
||||||
|
|
||||||
|
@include breakpoint(mobile-large) {
|
||||||
|
grid: auto-flow / 1fr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.search-filters {
|
.search-filters {
|
||||||
background: var(--primary-very-low);
|
background: var(--primary-very-low);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -333,10 +353,10 @@
|
||||||
|
|
||||||
.search-results {
|
.search-results {
|
||||||
.fps-user-item {
|
.fps-user-item {
|
||||||
margin-bottom: 1.5em;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.avatar {
|
.avatar {
|
||||||
margin-right: 0.5em;
|
margin-right: 0.5em;
|
||||||
min-width: 25px;
|
min-width: 25px;
|
||||||
|
|
Loading…
Reference in New Issue