import { store } from 'tauri-plugin-valtio';
import { DEFAULT_STORE_CONFIG } from '.';

const defaultValue = {
  launchOptions: [] as string[],
  launchIndex: 0,
  powerPlan: 0
}

export const toolStore = store('tool', { ...defaultValue }, DEFAULT_STORE_CONFIG);

export const setLaunchOption = (option: string, index: number) => {
  toolStore.state.launchOptions = [
    ...toolStore.state.launchOptions.slice(0, index),
    option,
    ...toolStore.state.launchOptions.slice(index + 1)
  ]
}

export const setLaunchOptions = (options: string[]) => {
  toolStore.state.launchOptions = options
}

export const setLaunchIndex = (index: number) => {
  toolStore.state.launchIndex = index
}

export const setPowerPlan = (plan: number) => {
  toolStore.state.powerPlan = plan
}

export const resetToolStore = () => {
  toolStore.state.launchOptions = defaultValue.launchOptions
  toolStore.state.launchIndex = defaultValue.launchIndex
  toolStore.state.powerPlan = defaultValue.powerPlan
}
