export function getMenuMessageRoute(bodyText?: string) {
  if (!bodyText) return '';
  try {
    const data = JSON.parse(bodyText);
    const menuUrl = String(data.menuUrl || '').trim();
    if (!menuUrl.startsWith('/') || menuUrl.startsWith('//')) return '';

    const parameterName = String(data.parameterName || '').trim();
    if (!parameterName || data.parameterValue === undefined || data.parameterValue === null || data.parameterValue === '') return menuUrl;

    const [pathAndQuery = '', hash = ''] = menuUrl.split('#', 2);
    const [path, query = ''] = pathAndQuery.split('?', 2);
    const searchParams = new URLSearchParams(query);
    searchParams.set(parameterName, String(data.parameterValue));
    const queryString = searchParams.toString();
    return `${path}${queryString ? `?${queryString}` : ''}${hash ? `#${hash}` : ''}`;
  } catch {
    return '';
  }
}
