import { create } from 'zustand'
import { devtools, persist } from 'zustand/middleware'

interface AppState {
  user: { name: string } | null
  greetings: string[]
  theme: string
  addGreeting: (greeting: string) => void
  setUser: (user: { name: string } | null) => void
  setTheme: (theme: string) => void
}

export const useAppStore = create<AppState>()(
  devtools(
    persist(
      (set) => ({
        user: null,
        greetings: [],
        theme: 'grove-light',
        addGreeting: (greeting) => 
          set((state) => ({ greetings: [...state.greetings, greeting] })),
        setUser: (user) => set({ user }),
        setTheme: (theme) => set({ theme })
      }),
      { name: 'app-storage' }
    )
  )
)