/**
 * Utility functions for storing and retrieving checkout data in local storage
 */

// Store checkout data in local storage
export const storeCheckoutData = (data: any) => {
  if (typeof window !== "undefined") {
    console.log("Storing checkout data in local storage:", data)
    localStorage.setItem("checkout_data", JSON.stringify(data))
    return true
  }
  return false
}

// Retrieve checkout data from local storage
export const retrieveCheckoutData = () => {
  if (typeof window !== "undefined") {
    const data = localStorage.getItem("checkout_data")
    if (data) {
      try {
        return JSON.parse(data)
      } catch (error) {
        console.error("Error parsing checkout data from local storage:", error)
      }
    }
  }
  return null
}

// Clear checkout data from local storage
export const clearCheckoutData = () => {
  if (typeof window !== "undefined") {
    console.log("Clearing checkout data from local storage")
    localStorage.removeItem("checkout_data")
    return true
  }
  return false
}

// Update specific fields in checkout data
export const updateCheckoutData = (updates: any) => {
  if (typeof window !== "undefined") {
    const currentData = retrieveCheckoutData() || {}
    const updatedData = { ...currentData, ...updates }
    console.log("Updating checkout data in local storage:", updatedData)
    localStorage.setItem("checkout_data", JSON.stringify(updatedData))
    return true
  }
  return false
}
