import { create } from 'zustand' import { Suitable, suitableApi } from '@/api/suitable' interface SuitableState { // // 검색 결과 리스트 // searchResults: Suitable[] // // 초기 데이터 로드 // fetchInitializeData: () => Promise // // 검색 결과 설정 // setSearchResults: (results: Suitable[]) => void // // 검색 결과 초기화 // resetSearchResults: () => void // 선택된 아이템 리스트 selectedItems: Suitable[] // 선택된 아이템 추가 addSelectedItem: (item: Suitable) => void // 선택된 아이템 제거 removeSelectedItem: (itemId: number) => void // 선택된 아이템 모두 제거 clearSelectedItems: () => void } export const useSuitableStore = create((set) => ({ // // 초기 상태 // searchResults: [], // // 초기 데이터 로드 // fetchInitializeData: async () => { // const suitables = await fetchInitialSuitablee() // set({ searchResults: suitables }) // }, // // 검색 결과 설정 // setSearchResults: (results) => set({ searchResults: results }), // // 검색 결과 초기화 // resetSearchResults: () => set({ searchResults: [] }), // 초기 상태 selectedItems: [], // 선택된 아이템 추가 (중복 방지) addSelectedItem: (item) => set((state) => ({ selectedItems: state.selectedItems.some((i) => i.id === item.id) ? state.selectedItems : [...state.selectedItems, item], })), // 선택된 아이템 제거 removeSelectedItem: (itemId) => set((state) => ({ selectedItems: state.selectedItems.filter((item) => item.id !== itemId), })), // 선택된 아이템 모두 제거 clearSelectedItems: () => set({ selectedItems: [] }), })) // // 전체 데이터 초기화 함수 // async function fetchInitialSuitablee() { // try { // const suitable = await suitableApi.getList() // return suitable // } catch (error) { // console.error('초기 데이터 로드 실패:', error) // return [] // } // }