// src/actions/actionTypes.js

export const types = {
  // panel actions
  PUSH_PANEL: "PUSH_PANEL",
  POP_PANEL: "POP_PANEL",
  UPDATE_PANEL: "UPDATE_PANEL",
  RESET_PANELS: "RESET_PANELS",

  // device actions
  GET_AUTHENTICATION_CODE: "GET_AUTHENTICATION_CODE",
  REGISTER_DEVICE: "REGISTER_DEVICE",
  REGISTER_DEVICE_INFO: "REGISTER_DEVICE_INFO",
  GET_DEVICE_INFO: "GET_DEVICE_INFO",
  CLEAR_REGISTER_DEVICE_INFO: "CLEAR_REGISTER_DEVICE_INFO",
  REGISTER_DEVICE_RESET: "REGISTER_DEVICE_RESET",

  // common actions
  GET_HTTP_HEADER: "GET_HTTP_HEADER",
  CHANGE_APP_STATUS: "CHANGE_APP_STATUS",
  SEND_BROADCAST: "SEND_BROADCAST",
  CHANGE_LOCAL_SETTINGS: "CHANGE_LOCAL_SETTINGS",
  GNB_OPENED: "GNB_OPENED",  SET_SHOW_POPUP: "SET_SHOW_POPUP",
  SET_SHOW_SECONDARY_POPUP: "SET_SHOW_SECONDARY_POPUP",
  SET_HIDE_POPUP: "SET_HIDE_POPUP",
  SET_HIDE_SECONDARY_POPUP: "SET_HIDE_SECONDARY_POPUP",
  SHOW_OPTIONAL_TERMS_CONFIRM_POPUP: "SHOW_OPTIONAL_TERMS_CONFIRM_POPUP",
  HIDE_OPTIONAL_TERMS_CONFIRM_POPUP: "HIDE_OPTIONAL_TERMS_CONFIRM_POPUP",
  TOGGLE_OPTIONAL_TERMS_CONFIRM: "TOGGLE_OPTIONAL_TERMS_CONFIRM",
  // 선택약관 팝업 상태 관리
  SET_OPTIONAL_TERMS_POPUP_SHOWN: "SET_OPTIONAL_TERMS_POPUP_SHOWN",
  SET_OPTIONAL_TERMS_USER_DECISION: "SET_OPTIONAL_TERMS_USER_DECISION",
  RESET_OPTIONAL_TERMS_SESSION: "RESET_OPTIONAL_TERMS_SESSION",
  // 선택약관 직접 상태 업데이트 (API 호출 없이)
  UPDATE_OPTIONAL_TERMS_AGREE_DIRECT: "UPDATE_OPTIONAL_TERMS_AGREE_DIRECT",
  UPDATE_TERMS_AGREEMENT_STATUS_DIRECT: "UPDATE_TERMS_AGREEMENT_STATUS_DIRECT",
  SET_EXIT_APP: "SET_EXIT_APP",
  GET_LOGIN_USER_DATA: "GET_LOGIN_USER_DATA",
  GET_TERMS_AGREE_YN: "GET_TERMS_AGREE_YN",
  LAUNCH_MEMBERSHIP_APP: "LAUNCH_MEMBERSHIP_APP",
  SET_FOCUS: "SET_FOCUS",
  SET_GNB_MENU: "SET_GNB_MENU",
  SET_SYSTEM_NOTICE: "SET_SYSTEM_NOTICE",
  SET_SYSTEM_TERMINATION: "SET_SYSTEM_TERMINATION",
  SET_DEEP_LINK: "SET_DEEP_LINK",
  SET_SECOND_LAYER_INFO: "SET_SECOND_LAYER_INFO",
  SET_ERROR_MESSAGE: "SET_ERROR_MESSAGE",
  CLEAR_ERROR_MESSAGE: "CLEAR_ERROR_MESSAGE",
  GET_DEVICE_MACADDRESS: "GET_DEVICE_MACADDRESS",
  SET_DEVICE_REGISTERED: "SET_DEVICE_REGISTERED",

  // billing actions
  GET_MY_INFO_BILLING_SEARCH: "GET_MY_INFO_BILLING_SEARCH",

  // card actions
  GET_MY_INFO_CARD_SEARCH: "GET_MY_INFO_CARD_SEARCH",

  // shipping actions
  GET_MY_INFO_SHIPPING_SEARCH: "GET_MY_INFO_SHIPPING_SEARCH",

  // appData actions
  ADD_MAIN_INDEX: "ADD_MAIN_INDEX",
  SEND_SMS: "SEND_SMS",
  CLEAR_SMS: "CLEAR_SMS",

  // home actions
  GET_HOME_TERMS: "GET_HOME_TERMS",
  SET_TERMS_ID_MAP: "SET_TERMS_ID_MAP", 
  SET_OPTIONAL_TERMS_AVAILABILITY: "SET_OPTIONAL_TERMS_AVAILABILITY",
  GET_HOME_MENU: "GET_HOME_MENU",
  GET_HOME_LAYOUT: "GET_HOME_LAYOUT",
  GET_HOME_MAIN_CONTENTS: "GET_HOME_MAIN_CONTENTS",
  GET_HOME_FULL_VIDEO_INFO: "GET_HOME_FULL_VIDEO_INFO",
  GET_THEME_CURATION_INFO: "GET_THEME_CURATION_INFO",
  GET_THEME_CURATION_DETAIL_INFO: "GET_THEME_CURATION_DETAIL_INFO",
  GET_THEME_HOTEL_DETAIL_INFO: "GET_THEME_HOTEL_DETAIL_INFO",
  GET_THEME_MENU_SHELF_INFO: "GET_THEME_MENU_SHELF_INFO",
  CLEAR_THEME_MENU_SHELF_INFO: "CLEAR_THEME_MENU_SHELF_INFO",
  CLEAR_THEME_DETAIL: "CLEAR_THEME_DETAIL",
  CHECK_ENTER_THROUGH_GNB: "CHECK_ENTER_THROUGH_GNB",
  SET_DEFAULT_FOCUS: "SET_DEFAULT_FOCUS",
  SET_BANNER_INDEX: "SET_BANNER_INDEX",
  RESET_HOME_INFO: "RESET_HOME_INFO",
  UPDATE_HOME_INFO: "UPDATE_HOME_INFO",

  // brand actions
  GET_BRAND_LIST: "GET_BRAND_LIST",
  GET_BRAND_LAYOUT_INFO: "GET_BRAND_LAYOUT_INFO",
  GET_BRAND_LIVE_CHANNEL_INFO: "GET_BRAND_LIVE_CHANNEL_INFO",
  GET_BRAND_CHAN_INFO: "GET_BRAND_CHAN_INFO",
  GET_BRAND_TSV_INFO: "GET_BRAND_TSV_INFO",
  GET_BRAND_RECOMMENDED_SHOW_INFO: "GET_BRAND_RECOMMENDED_SHOW_INFO",
  GET_BRAND_SERIES_INFO: "GET_BRAND_SERIES_INFO",
  GET_BRAND_CATEGORY_INFO: "GET_BRAND_CATEGORY_INFO",
  GET_BRAND_CATEGORY_PRODUCT_INFO: "GET_BRAND_CATEGORY_PRODUCT_INFO",
  GET_BRAND_BEST_SELLER: "GET_BRAND_BEST_SELLER",
  GET_BRAND_CREATORS_INFO: "GET_BRAND_CREATORS_INFO",
  GET_BRAND_SHOWROOM: "GET_BRAND_SHOWROOM",
  GET_BRAND_RECENTLY_AIRED: "GET_BRAND_RECENTLY_AIRED",
  SET_BRAND_LIVE_CHANNEL_UPCOMING: "SET_BRAND_LIVE_CHANNEL_UPCOMING",
  SET_BRAND_CHAN_INFO: "SET_BRAND_CHAN_INFO",
  RESET_BRAND_STATE: "RESET_BRAND_STATE",
  RESET_BRAND_STATE_EXCEPT_BRAND_INFO: "RESET_BRAND_STATE_EXCEPT_BRAND_INFO",
  RESET_BRAND_LAYOUT_INFO: "RESET_BRAND_LAYOUT_INFO",

  // main actions
  GET_SUB_CATEGORY: "GET_SUB_CATEGORY",
  APPEND_SUB_CATEGORY: "APPEND_SUB_CATEGORY",
  GET_TOP_20_SHOW: "GET_TOP_20_SHOW",
  GET_PRODUCT_DETAIL: "GET_PRODUCT_DETAIL",
  GET_YOUMAYLIKE: "GET_YOUMAYLIKE",
  SET_MAIN_LIKE_CATEGORY: "SET_MAIN_LIKE_CATEGORY",
  SET_MAIN_LIVE_UPCOMING_ALARM: "SET_MAIN_LIVE_UPCOMING_ALARM",
  GET_MAIN_LIVE_SHOW_NOW_PRODUCT: "GET_MAIN_LIVE_SHOW_NOW_PRODUCT",
  GET_MAIN_LIVE_SHOW: "GET_MAIN_LIVE_SHOW",
  GET_MAIN_CATEGORY_SHOW_DETAIL: "GET_MAIN_CATEGORY_SHOW_DETAIL",
  CLEAR_PRODUCT_DETAIL: "CLEAR_PRODUCT_DETAIL",
  CLEAR_SUB_CATEGORY: "CLEAR_SUB_CATEGORY",
  CLEAR_SHOPNOW_INFO: "CLEAR_SHOPNOW_INFO",

  // myPage actions
  GET_MY_RECOMMANDED_KEYWORD: "GET_MY_RECOMMANDED_KEYWORD",
  GET_MY_FAQ_INFO: "GET_MY_FAQ_INFO",
  GET_NOTICE: "GET_NOTICE",
  GET_MY_CUSTOMERS: "GET_MY_CUSTOMERS",
  GET_MY_FAVORITE: "GET_MY_FAVORITE",
  DELETE_MY_FAVORITE: "DELETE_MY_FAVORITE",
  GET_MY_FAVORITE_FLAG: "GET_MY_FAVORITE_FLAG",
  SET_MY_TERMS_WITHDRAW: "SET_MY_TERMS_WITHDRAW",
  GET_MY_UPCOMING_CHANGE_INFO: "GET_MY_UPCOMING_CHANGE_INFO",
  GET_MY_UPCOMING_ALERT_SHOW: "GET_MY_UPCOMING_ALERT_SHOW",
  DELETE_MY_UPCOMING_ALERT_SHOW: "DELETE_MY_UPCOMING_ALERT_SHOW",
  GET_MY_UPCOMING_ALERT_SHOW_KEYS: "GET_MY_UPCOMING_ALERT_SHOW_KEYS",
  SET_MY_UPCOMING_USE_ALERT: "SET_MY_UPCOMING_USE_ALERT",
  GET_UPCOMING_ALERT_SHOW_CHANGE_INFO: "GET_UPCOMING_ALERT_SHOW_CHANGE_INFO",
  GET_MY_RECENTLY_VIEWED_INFO: "GET_MY_RECENTLY_VIEWED_INFO",
  CLEAR_RECENTLY_VIEWED_INFO: "CLEAR_RECENTLY_VIEWED_INFO",
  CLEAR_FAVORITES: "CLEAR_FAVORITES",
  SET_MYPAGE_TERMS_AGREE: "SET_MYPAGE_TERMS_AGREE",
  SET_MYPAGE_TERMS_AGREE_SUCCESS: "SET_MYPAGE_TERMS_AGREE_SUCCESS",
  SET_MYPAGE_TERMS_AGREE_FAIL: "SET_MYPAGE_TERMS_AGREE_FAIL",

  // onSale actions
  GET_HOME_ON_SALE_INFO: "GET_HOME_ON_SALE_INFO",
  GET_ON_SALE_INFO: "GET_ON_SALE_INFO",
  COPY_CATEGORY_INFO: "COPY_CATEGORY_INFO",
  RESET_ON_SALE_STATE: "RESET_ON_SALE_STATE",

  // product actions
  GET_BEST_SELLER: "GET_BEST_SELLER",
  GET_PRODUCT_GROUP: "GET_PRODUCT_GROUP",
  GET_PRODUCT_OPTION: "GET_PRODUCT_OPTION",
  GET_PRODUCT_IMAGE_LENGTH: "GET_PRODUCT_IMAGE_LENGTH",
  GET_VIDEO_INDECATOR_FOCUS: "GET_VIDEO_INDECATOR_FOCUS",
  GET_PRODUCT_OPTION_ID: "GET_PRODUCT_OPTION_ID",
  CLEAR_PRODUCT_OPTIONS: "CLEAR_PRODUCT_OPTIONS",

  // search actions
  GET_SEARCH: "GET_SEARCH",
  RESET_SEARCH: "RESET_SEARCH",
  GET_SEARCH_PROCESSED: "GET_SEARCH_PROCESSED",
  SET_SEARCH_INIT_PERFORMED: "SET_SEARCH_INIT_PERFORMED",
  UPDATE_SEARCH_TIMESTAMP: "UPDATE_SEARCH_TIMESTAMP",

  // event actions
  GET_WELCOME_EVENT_INFO: "GET_WELCOME_EVENT_INFO",
  GET_EVENT_ISSUED_STATUS: "GET_EVENT_ISSUED_STATUS",
  SET_EVENT_ISSUE_REQ: "SET_EVENT_ISSUE_REQ",
  SET_EVENT_POP_CLICK_INFO: "SET_EVENT_POP_CLICK_INFO",
  CLEAR_EVENT_INFO: "CLEAR_EVENT_INFO",
  SKIP_CLICK_INFO: "SKIP_CLICK_INFO",
  CLEAR_CURATION_COUPON: "CLEAR_CURATION_COUPON",
  CLEAR_EVENT_ISSUED_STATUS_SUCCEESS: "CLEAR_EVENT_ISSUED_STATUS_SUCCEESS",

  // coupon actions
  GET_PRODUCT_COUPON_INFO: "GET_PRODUCT_COUPON_INFO",
  GET_PRODUCT_COUPON_SEARCH: "GET_PRODUCT_COUPON_SEARCH",
  GET_PRODUCT_COUPON_DOWNLOAD: "GET_PRODUCT_COUPON_DOWNLOAD",
  GET_PRODUCT_COUPON_TOTDOWNLOAD: "GET_PRODUCT_COUPON_TOTDOWNLOAD",
  CLEAR_COUPON_INFO: "CLEAR_COUPON_INFO",
  CLEAR_GET_PRODUCT_COUPON_DOWNLOAD: "CLEAR_GET_PRODUCT_COUPON_DOWNLOAD",

  // checkout actions
  GET_CHECKOUT_INFO: "GET_CHECKOUT_INFO",
  INSERT_MY_INFO_CHECKOUT_ORDER: "INSERT_MY_INFO_CHECKOUT_ORDER",
  GET_TAX_INFOS: "GET_TAX_INFOS",
  UPDATE_SELECTED_SHIPPING_ADDR: "UPDATE_SELECTED_SHIPPING_ADDR",
  UPDATE_SELECTED_BILLING_ADDR: "UPDATE_SELECTED_BILLING_ADDR",
  UPDATE_SELECTED_COUPON: "UPDATE_SELECTED_COUPON",
  GET_CHECKOUT_TOTAL_AMT: "GET_CHECKOUT_TOTAL_AMT",
  CHECKOUT_DATA_RESET: "CHECKOUT_DATA_RESET",

  // order actions
  SET_PURCHASE_TERMS_AGREE: "SET_PURCHASE_TERMS_AGREE",
  SET_PURCHASE_TERMS_WITHDRAW: "SET_PURCHASE_TERMS_WITHDRAW",
  GET_MY_INFO_ORDER_SEARCH: "GET_MY_INFO_ORDER_SEARCH",
  GET_MY_INFO_ORDER_SEARCH_CANCEL: "GET_MY_INFO_ORDER_SEARCH_CANCEL",
  GET_MY_INFO_ORDER_DETAIL_SEARCH: "GET_MY_INFO_ORDER_DETAIL_SEARCH",
  GET_MY_INFO_ORDER_SHIPPING_SEARCH: "GET_MY_INFO_ORDER_SHIPPING_SEARCH",
  CLEAR_MY_INFO_ORDER_SEARCH: "CLEAR_MY_INFO_ORDER_SEARCH",

  // play controller
  GET_CHAT_LOG: "GET_CHAT_LOG",
  GET_SUBTITLE: "GET_SUBTITLE",
  CLEAR_PLAYER_INFO: "CLEAR_PLAYER_INFO",

  // 🔽 [추가] 플레이 제어 매니저 액션 타입
  /**
   * 홈 화면 배너의 비디오 재생 제어를 위한 액션 타입.
   * 여러 컴포넌트가 동시에 비디오를 재생하려고 할 때 충돌을 방지하고,
   * 하나의 비디오만 재생되도록 보장하는 역할을 합니다.
   *
   * SET_PLAYER_CONTROL: 특정 컴포넌트에게 비디오 재생 제어권을 부여합니다.
   * CLEAR_PLAYER_CONTROL: 컴포넌트로부터 비디오 재생 제어권을 회수합니다.
   */
  SET_PLAYER_CONTROL: "SET_PLAYER_CONTROL",
  CLEAR_PLAYER_CONTROL: "CLEAR_PLAYER_CONTROL",

  // reset action
  RESET_REDUX_STATE: "RESET_REDUX_STATE",

  // cancel actions
  GET_MY_INFO_ORDER_CANCEL_SEARCH: "GET_MY_INFO_ORDER_CANCEL_SEARCH",
  GET_MY_INFO_ORDER_CANCEL_COLUMNS_SEARCH:
    "GET_MY_INFO_ORDER_CANCEL_COLUMNS_SEARCH",
  UPDATE_ORDER_PARTIAL_CANCEL: "UPDATE_ORDER_PARTIAL_CANCEL",
  PAYMENT_TOTAL_CANCEL: "PAYMENT_TOTAL_CANCEL",

  // emp actions
  GET_SHOPTIME_TERMS: "GET_SHOPTIME_TERMS",

  // pinCode actions
  GET_MY_INFO_CARD_PINCODE_CHECK: "GET_MY_INFO_CARD_PINCODE_CHECK",

  // new actions
  CANCEL_FOCUS_ELEMENT: "CANCEL_FOCUS_ELEMENT",

  // 약관동의 여부 확인 상태 
  GET_TERMS_AGREE_YN_START: "GET_TERMS_AGREE_YN_START",
  GET_TERMS_AGREE_YN_SUCCESS: "GET_TERMS_AGREE_YN_SUCCESS", 
  GET_TERMS_AGREE_YN_FAILURE: "GET_TERMS_AGREE_YN_FAILURE",

  // device
  REQ_REG_DEVICE_INFO: "REQ_REG_DEVICE_INFO",

  // 🔽 [추가] 영구재생 비디오 정보 저장
  SET_PERSISTENT_VIDEO_INFO: "SET_PERSISTENT_VIDEO_INFO",
};
