-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathIncludeExcludeButton.tsx
38 lines (35 loc) · 1.45 KB
/
IncludeExcludeButton.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// SPDX-FileCopyrightText: Meta Platforms, Inc. and its affiliates
// SPDX-FileCopyrightText: TNG Technology Consulting GmbH <https://www.tngtech.com>
//
// SPDX-License-Identifier: Apache-2.0
import VisibilityIcon from '@mui/icons-material/Visibility';
import VisibilityOffIcon from '@mui/icons-material/VisibilityOff';
import MuiIconButton from '@mui/material/IconButton';
import MuiTooltip from '@mui/material/Tooltip';
import MuiBox from '@mui/system/Box';
import { text } from '../../../../../shared/text';
import { toggleAreHiddenSignalsVisible } from '../../../../state/actions/user-settings-actions/user-settings-actions';
import { useAppDispatch } from '../../../../state/hooks';
import { useAreHiddenSignalsVisible } from '../../../../state/variables/use-are-hidden-signals-visible';
export const IncludeExcludeButton: React.FC = () => {
const dispatch = useAppDispatch();
const areHiddenSignalsVisible = useAreHiddenSignalsVisible();
const label = areHiddenSignalsVisible
? text.packageLists.hideDeleted
: text.packageLists.showDeleted;
return (
<MuiIconButton
aria-label={label}
size={'small'}
onClick={() => {
dispatch(toggleAreHiddenSignalsVisible);
}}
>
<MuiTooltip title={label} disableInteractive placement={'top'}>
<MuiBox sx={{ height: '24px' }}>
{areHiddenSignalsVisible ? <VisibilityIcon /> : <VisibilityOffIcon />}
</MuiBox>
</MuiTooltip>
</MuiIconButton>
);
};