const STORAGE_KEY = "social_recent_emojis";
const MAX_RECENT = 24;

export function loadRecentEmojis(): string[] {
  if (typeof window === "undefined") return [];
  try {
    const raw = localStorage.getItem(STORAGE_KEY);
    if (!raw) return [];
    const parsed = JSON.parse(raw);
    return Array.isArray(parsed) ? parsed.filter((e) => typeof e === "string").slice(0, MAX_RECENT) : [];
  } catch {
    return [];
  }
}

export function pushRecentEmoji(emoji: string) {
  if (typeof window === "undefined" || !emoji) return;
  const prev = loadRecentEmojis().filter((e) => e !== emoji);
  const next = [emoji, ...prev].slice(0, MAX_RECENT);
  try {
    localStorage.setItem(STORAGE_KEY, JSON.stringify(next));
  } catch {
    /* ignore quota */
  }
  return next;
}
