/*
    작성자 : 공현지
    작성일 : 2025-01-17
    수정자 : 
    수정일 : 
    설명   : 공통 스크립트
*/
import Quill from 'quill';

/*
     *템플릿 사용법 : $common.변수  
     *setup() 사용법 :
      const { appContext } = getCurrentInstance();
      const $common = appContext.config.globalProperties.$common; 
      $common.변수  
*/
const common = {
   // JSON 문자열로 Delta 타입을 변환
  contentToHtml(content) {
    try {
      if (content.startsWith('{') || content.startsWith('[')) {
        // Delta 형식으로 변환
        const delta = JSON.parse(content);
        const quill = new Quill(document.createElement('div'));
        quill.setContents(delta);
        return quill.root.innerHTML; // HTML 반환
      }
      return content; // 이미 HTML일 경우 그대로 반환
    } catch (error) {
      console.error('콘텐츠 변환 오류:', error);
      return content; // 오류 발생 시 원본 반환
    }
  },
  // Delta 타입을 JSON 문자열로 변환
  deltaAsJson(content) {
      if (content && content.ops) {
        return JSON.stringify(content.ops); // Delta 객체에서 ops 속성만 JSON 문자열로 변환
      }
      console.error('잘못된 Delta 객체:', content);
      return null; // Delta 객체가 아니거나 ops가 없을 경우 null 반환
    }

}

export default {
  install(app) {
    app.config.globalProperties.$common = common;
  }
};
