/* 작성자 : 조대원 작성일 : 2025-02-27 수정자 : 수정일 : 설명 : 용어집 작성, 수정 공통관리 */ import { ref } from 'vue'; import { defineStore } from 'pinia'; export const useWriteVisibleStore = defineStore('writeVisible', () => { // 현재 열려있는 항목의 ID를 저장 (열린 것이 없으면 null) const activeItemId = ref(null); // 특정 항목의 열림/닫힘 상태 확인 function isItemActive(itemId) { return activeItemId.value === itemId; } // 항목 토글 - 현재 열려있으면 닫고, 닫혀있으면 열기 function toggleItem(itemId) { if (activeItemId.value === itemId) { // 현재 열려있는 항목을 다시 클릭하면 닫기 activeItemId.value = null; } else { // 다른 항목 클릭시 해당 항목을 열고 이전 항목은 자동으로 닫힘 activeItemId.value = itemId; } } // 특정 항목 강제로 열기 (다른 항목은 닫힘) function setActiveItem(itemId) { activeItemId.value = itemId; } // 모든 항목 닫기 function closeAll() { activeItemId.value = null; } return { activeItemId, isItemActive, toggleItem, setActiveItem, closeAll }; });