|
1 | 1 | import React from 'react';
|
2 |
| -import classNames from 'classnames/bind'; |
3 | 2 |
|
4 |
| -import ImportHar from './../Components/Import/ImportHAR'; |
5 | 3 | import Search from './../Components/Filters/Search';
|
6 |
| -import { useNetwork } from './../state/network/Context'; |
7 |
| -import { FILTERS } from './../constants'; |
8 | 4 | import Styles from './FilterContainer.styles.scss';
|
9 |
| -import Button from './../Components/Common/Button'; |
| 5 | +import ResetButton from '../Components/Actions/ResetButton'; |
| 6 | +import StatusFilter from '../Components/Filters/StatusFilter'; |
| 7 | +import ExportHarButton from '../Components/Actions/ExportHarButton'; |
| 8 | +import PauseResumeButton from '../Components/Actions/PauseResumeButton'; |
| 9 | +import TypeFilter from '../Components/Filters/TypeFilter'; |
| 10 | +import ImportHAR from '../Components/Import/ImportHAR'; |
10 | 11 | import { useTheme } from '../state/theme/Context';
|
11 |
| -import ErrorFilter from '../Components/Filters/ErrorFilter'; |
12 |
| -import Reset from '../Components/Import/Reset'; |
13 |
| - |
14 |
| -const context = classNames.bind(Styles); |
| 12 | +import { useNetwork } from '../state/network/Context'; |
15 | 13 |
|
16 | 14 | const FilterContainer = () => {
|
17 |
| - const { state, actions } = useNetwork(); |
18 |
| - const { showImportHAR } = useTheme(); |
19 |
| - const filter = state.get('filter'); |
20 |
| - const filterByError = state.get('errorFilter'); |
| 15 | + const { state } = useNetwork(); |
| 16 | + const { showImportHar, showExportHar, showPauseResume } = useTheme(); |
21 | 17 |
|
22 | 18 | return (
|
23 | 19 | <section className={Styles['filters-container']}>
|
24 | 20 | <div className={Styles['filter-row']}>
|
| 21 | + <StatusFilter /> |
25 | 22 | <Search {...state.get('search')} />
|
| 23 | + {showPauseResume && <PauseResumeButton {...state.get('rawData')} />} |
| 24 | + <ResetButton /> |
| 25 | + {showExportHar && <ExportHarButton />} |
| 26 | + {showImportHar && <ImportHAR />} |
26 | 27 | </div>
|
27 | 28 |
|
28 | 29 | <div className={Styles['type-filter-row']}>
|
29 |
| - <> |
30 |
| - {FILTERS.map(({ name, filterBy }) => { |
31 |
| - const selectedFilter = filterBy.value === filter.value; |
32 |
| - const buttonStyle = context('filter-button', { |
33 |
| - 'selected-filter': selectedFilter, |
34 |
| - }); |
35 |
| - return ( |
36 |
| - <Button |
37 |
| - key={name} |
38 |
| - className={buttonStyle} |
39 |
| - onClick={() => actions.updateFilter(filterBy)} |
40 |
| - size="sm" |
41 |
| - > |
42 |
| - {name} |
43 |
| - </Button> |
44 |
| - ); |
45 |
| - })} |
46 |
| - <ErrorFilter |
47 |
| - isError={filterByError} |
48 |
| - onChange={actions.updateErrorFilter} |
49 |
| - /> |
50 |
| - {showImportHAR && ( |
51 |
| - <> |
52 |
| - <ImportHar className={Styles['addon-action-button']} /> |
53 |
| - <Reset |
54 |
| - className={Styles['addon-action-button']} |
55 |
| - onReset={actions.resetState} |
56 |
| - /> |
57 |
| - </> |
58 |
| - )} |
59 |
| - </> |
| 30 | + <TypeFilter /> |
60 | 31 | </div>
|
61 | 32 | </section>
|
62 |
| - |
63 | 33 | );
|
64 | 34 | };
|
65 | 35 |
|
|
0 commit comments