diff --git a/src/components/Filters.tsx b/src/components/Filters.tsx index f025b815..c78b5ab6 100644 --- a/src/components/Filters.tsx +++ b/src/components/Filters.tsx @@ -19,6 +19,7 @@ interface IProps { browserState: [string, React.Dispatch>]; viewportState: [string, React.Dispatch>]; testStatusState?: [string, React.Dispatch>]; + branchNameState?: [string, React.Dispatch>]; } const Filters: React.FunctionComponent = ({ @@ -29,6 +30,7 @@ const Filters: React.FunctionComponent = ({ browserState, viewportState, testStatusState, + branchNameState, }) => { const [query, setQuery] = queryState; const [os, setOs] = osState; @@ -38,6 +40,9 @@ const Filters: React.FunctionComponent = ({ const [testStatus, setTestStatus] = testStatusState ? testStatusState : [null, () => {}]; + const [branchName, setBranchName] = branchNameState + ? branchNameState + : [null, () => {}]; const osList = items .map((t) => t.os) @@ -56,11 +61,18 @@ const Filters: React.FunctionComponent = ({ .filter((v, i, array) => v && array.indexOf(v) === i); const testStatusList = + testStatusState && items.some((i) => (i as TestRun).status) && (items as TestRun[]) .map((t) => t.status) .filter((v, i, array) => v && array.indexOf(v) === i); + const branchNameList = + branchNameState && + items + .map((t) => t.branchName) + .filter((v, i, array) => v && array.indexOf(v) === i); + return ( @@ -197,6 +209,32 @@ const Filters: React.FunctionComponent = ({ )} + {branchNameList && branchNameList.length > 0 && ( + + + + Branch + + + + + )}