diff --git a/frontend/src/components/EventList/EventHeader.tsx b/frontend/src/components/EventList/EventHeader.tsx index 334fcb4f7..806262b42 100644 --- a/frontend/src/components/EventList/EventHeader.tsx +++ b/frontend/src/components/EventList/EventHeader.tsx @@ -85,7 +85,7 @@ export const EventHeader: React.FC<{ device?: IDevice }> = ({ device }) => { - + diff --git a/frontend/src/components/EventList/EventTypeFilterMenu.tsx b/frontend/src/components/EventList/EventTypeFilterMenu.tsx index d50e4ae4c..97db509d0 100644 --- a/frontend/src/components/EventList/EventTypeFilterMenu.tsx +++ b/frontend/src/components/EventList/EventTypeFilterMenu.tsx @@ -4,20 +4,26 @@ import { State } from '../../store' import { useSelector } from 'react-redux' import { Icon } from '../Icon' import { IconButton } from '../../buttons/IconButton' -import { eventFilterOptions } from './eventTypes' +import { deviceHiddenEventFilterOptionKeys, eventFilterOptions } from './eventTypes' import { EventFilterIcon } from './EventFilterIcon' import { EventTypeFilterMenuItem } from './EventTypeFilterMenuItem' type Props = { + device?: IDevice value?: IEventType[] onChange: (value?: IEventType[]) => void } -export const EventTypeFilterMenu: React.FC = ({ value, onChange }) => { +export const EventTypeFilterMenu: React.FC = ({ device, value, onChange }) => { const [anchorEl, setAnchorEl] = useState(null) const user = useSelector((state: State) => state.user) const selectedValues = value || [] const activeTypes = useMemo(() => new Set(selectedValues), [selectedValues]) + const visibleOptions = useMemo( + () => + device ? eventFilterOptions.filter(option => !deviceHiddenEventFilterOptionKeys.has(option.key)) : eventFilterOptions, + [device] + ) const isFiltered = selectedValues.length > 0 const handleToggle = (types?: IEventType[]) => { @@ -63,7 +69,7 @@ export const EventTypeFilterMenu: React.FC = ({ value, onChange }) => { icon={} /> - {eventFilterOptions.map(option => { + {visibleOptions.map(option => { const selected = option.types.every(type => activeTypes.has(type)) return ( diff --git a/frontend/src/components/EventList/eventTypes.tsx b/frontend/src/components/EventList/eventTypes.tsx index 312087c0c..e558ede25 100644 --- a/frontend/src/components/EventList/eventTypes.tsx +++ b/frontend/src/components/EventList/eventTypes.tsx @@ -5,6 +5,14 @@ export type EventFilterOption = { iconTypes?: IEventType[] } +export const deviceHiddenEventFilterOptionKeys = new Set([ + 'login-activity', + 'password-activity', + 'phone-change', + 'mfa-change', + 'license-updated', +]) + export const eventFilterOptions: EventFilterOption[] = [ { key: 'login-activity',