diff --git a/src/Pages/Incidents/index.tsx b/src/Pages/Incidents/index.tsx index b15d516..dce5923 100644 --- a/src/Pages/Incidents/index.tsx +++ b/src/Pages/Incidents/index.tsx @@ -15,7 +15,7 @@ import useOutsideClick from '@src/services/hooks/useOustideClick'; import DescriptionContent from './DescriptionContent'; import ActivityLog from './ActivityLog'; import Headers from './Header'; -import { getUpdateTypeText } from './utils'; +import { getUpdateTypeText, generateOptions } from './utils'; import { FETCH_INCIDENT_DATA, UPDATE_INCIDENT, @@ -36,22 +36,9 @@ import styles from './Incidents.module.scss'; const Incident: FC = () => { const [state, dispatch] = useReducer(reducer, initialState); - const updatedSeverities = (state.headerData?.severities || []).map( - severity => ({ - value: severity.value.toString(), - label: severity.label, - }), - ); - const updatedStatuses = (state.headerData?.incidentStatuses || []).map( - status => ({ - value: status.value.toString(), - label: status.label, - }), - ); - const updatedTeams = (state.headerData?.teams || []).map(team => ({ - value: team.value.toString(), - label: team.label, - })); + const updatedSeverities = generateOptions(state.headerData?.severities); + const updatedStatuses = generateOptions(state.headerData?.incidentStatuses); + const updatedTeams = generateOptions(state.headerData?.teams); const IncidentMatch = useMatch({ end: true, diff --git a/src/Pages/Incidents/utils.ts b/src/Pages/Incidents/utils.ts index a979bf6..6eeef28 100644 --- a/src/Pages/Incidents/utils.ts +++ b/src/Pages/Incidents/utils.ts @@ -12,3 +12,20 @@ export const getUpdateTypeText = (updateType: number): string => { return ' severity '; } }; + +type DataItem = { + value: number; + label: string; +}; + +type DataItemModified = { + value: string; + label: string; +}; + +export const generateOptions = (data: DataItem[]): DataItemModified[] => { + return (data || []).map(item => ({ + value: item.value.toString(), + label: item.label, + })); +};