export type PortfolioTimelineDensity = 'compact' | 'normal' | 'large';

const STORAGE_KEY = 'mvnexus.portfolio_timeline_density';

export const DENSITY_ROW_HEIGHTS: Record<PortfolioTimelineDensity, number> = {
  compact: 52,
  normal: 64,
  large: 80,
};

export function getPortfolioTimelineDensity(): PortfolioTimelineDensity {
  if (typeof window === 'undefined') {
    return 'normal';
  }

  const stored = window.localStorage.getItem(STORAGE_KEY);
  if (stored === 'compact' || stored === 'normal' || stored === 'large') {
    return stored;
  }

  return 'normal';
}

export function setPortfolioTimelineDensity(density: PortfolioTimelineDensity): void {
  if (typeof window === 'undefined') {
    return;
  }

  window.localStorage.setItem(STORAGE_KEY, density);
}
