Unverified Commit bb7b69a8 authored by Dorian Johnson's avatar Dorian Johnson Committed by GitHub

app: in search results, change header based on content (#802)

Signed-off-by: 's avatarDorian Johnson <2020@dorianj.net>
parent 1c6c16d3
......@@ -3,3 +3,5 @@ export const RESOURCE_HEADER_TITLE = 'RESOURCE';
export const SOURCE_HEADER_TITLE = 'SOURCE';
export const BADGES_HEADER_TITLE = 'BADGES';
export const LAST_UPDATED_HEADER_TITLE = 'LAST RUN';
......@@ -5,13 +5,32 @@ import * as React from 'react';
import './styles.scss';
import { ResourceType } from 'interfaces';
import {
RESOURCE_HEADER_TITLE,
SOURCE_HEADER_TITLE,
BADGES_HEADER_TITLE,
LAST_UPDATED_HEADER_TITLE,
} from './constants';
const ResourceListHeader: React.FC = () => {
export interface ResourceListHeaderProps {
resourceTypes: ResourceType[];
}
const contentHeaderTitle = (type: ResourceType): string => {
switch (type) {
case ResourceType.dashboard:
return LAST_UPDATED_HEADER_TITLE;
default:
return BADGES_HEADER_TITLE;
}
};
const ResourceListHeader: React.FC<ResourceListHeaderProps> = ({
resourceTypes,
}: ResourceListHeaderProps) => {
const contentHeader =
resourceTypes.length === 1 ? contentHeaderTitle(resourceTypes[0]) : '';
return (
<div className="resource-list-header">
<span className="resource">
......@@ -19,7 +38,7 @@ const ResourceListHeader: React.FC = () => {
</span>
<span className="source">{SOURCE_HEADER_TITLE}</span>
<span className="badges">
<span className="badges-text">{BADGES_HEADER_TITLE}</span>
<span className="badges-text">{contentHeader}</span>
</span>
</div>
);
......
......@@ -145,9 +145,13 @@ export class SearchPage extends React.Component<SearchPageProps> {
);
}
const uniqueResourceTypes = [
...new Set(results.results.map(({ type }) => type)),
];
return (
<div className="search-list-container">
<ResourceListHeader />
<ResourceListHeader resourceTypes={uniqueResourceTypes} />
<PaginatedApiResourceList
activePage={page_index}
onPagination={this.props.setPageIndex}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment