import { useSettingsStore } from './SettingsStore.js'
import type { SettingsState } from './types.js'

export const useSettings = <K extends keyof SettingsState>(
  keys: Array<K>
): Pick<SettingsState, (typeof keys)[number]> => {
  return useSettingsStore((state) =>
    keys.reduce(
      (values, key) => {
        values[key] = state[key]
        return values
      },
      {} as Pick<SettingsState, (typeof keys)[number]>
    )
  )
}
