nav-mode.js 811 Bytes
export const CHECKIN_NAV_MODE = {
  LEGACY: 'legacy',
  JLS: 'jls',
  NONE: 'none',
};

const NAV_HEIGHT = '80px';

export function resolveCheckinNavMode(query = {}) {
  const rawMode = Array.isArray(query.navMode) ? query.navMode[0] : query.navMode;
  const normalizedMode = String(rawMode || '').trim().toLowerCase();

  if (normalizedMode === CHECKIN_NAV_MODE.JLS) {
    return CHECKIN_NAV_MODE.JLS;
  }

  if (normalizedMode === CHECKIN_NAV_MODE.NONE) {
    return CHECKIN_NAV_MODE.NONE;
  }

  return CHECKIN_NAV_MODE.LEGACY;
}

export function getCheckinMapHeight({
  isMiniProgramWebView = false,
  navMode = CHECKIN_NAV_MODE.LEGACY,
  navHeight = NAV_HEIGHT,
} = {}) {
  if (!isMiniProgramWebView || navMode === CHECKIN_NAV_MODE.NONE) {
    return '100vh';
  }

  return `calc(100vh - ${navHeight})`;
}