const DEBUG_STORAGE_KEY = "cms_paste_debug";

/** Enable in browser console on live: localStorage.setItem('cms_paste_debug', '1') */
export function isPasteDebugEnabled(): boolean {
  if (import.meta.env.DEV) return true;
  try {
    return typeof localStorage !== "undefined" && localStorage.getItem(DEBUG_STORAGE_KEY) === "1";
  } catch {
    return false;
  }
}

export function pasteDebug(step: string, detail?: unknown): void {
  if (!isPasteDebugEnabled()) return;
  if (detail === undefined) {
    console.info(`[PasteComponent] ${step}`);
    return;
  }
  console.info(`[PasteComponent] ${step}`, detail);
}

/** Always logged in production so staging issues are visible without enabling debug mode. */
export function pasteLogError(step: string, error: unknown): void {
  console.warn(`[PasteComponent] ${step}`, error);
  if (isPasteDebugEnabled()) {
    console.error(`[PasteComponent] ${step}`, error);
  }
}

export function pasteDebugError(step: string, error: unknown): void {
  pasteLogError(step, error);
}
