import { AppPath } from '@/types/AppPath'; import qs from 'qs'; import { generatePath, PathParam } from 'react-router-dom'; import { isDefined } from 'twenty-shared/utils'; export const getAppPath = ( to: T, params?: { [key in PathParam]: string | null }, queryParams?: Record, ) => { let path: string = to; if (isDefined(params)) { path = generatePath(to, params); } if (isDefined(queryParams)) { const filteredParams = Object.fromEntries( Object.entries(queryParams).filter(([_, value]) => isDefined(value)), ); const queryString = qs.stringify(filteredParams); if (queryString !== '') { path += `?${queryString}`; } } return path; };