nav-mode.js 1.06 KB
import { JLS_CHECKIN_ACTIVE_TAB, resolveJlsCheckinActiveTab } from '@/components/JlsBottomNav/nav-state.js';

export const CHECKIN_NAV_MODE = {
  LEGACY: 'legacy',
  JLS: 'jls',
  NONE: 'none',
};

export const CHECKIN_ACTIVE_TAB = JLS_CHECKIN_ACTIVE_TAB;

const NAV_HEIGHT = '88px';

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})`;
}

export function resolveCheckinActiveTab(query = {}) {
  return resolveJlsCheckinActiveTab(query);
}