const WORKER_SPEECH_KEY = 'order-site-worker-new-order-speech'

export function isWorkerSpeechEnabled() {
  return window.localStorage.getItem(WORKER_SPEECH_KEY) === '1'
}

export function setWorkerSpeechEnabled(enabled: boolean) {
  window.localStorage.setItem(WORKER_SPEECH_KEY, enabled ? '1' : '0')
}

/** 用浏览器语音合成播报一段中文；不支持或被浏览器拦截时静默失败。 */
export function speakWorkerText(text: string) {
  if (!('speechSynthesis' in window)) return
  try {
    window.speechSynthesis.cancel()
    const utterance = new SpeechSynthesisUtterance(text)
    utterance.lang = 'zh-CN'
    utterance.rate = 1
    utterance.volume = 1
    const zhVoice = window.speechSynthesis
      .getVoices()
      .find((voice) => voice.lang.toLowerCase().startsWith('zh'))
    if (zhVoice) utterance.voice = zhVoice
    window.speechSynthesis.speak(utterance)
  } catch {
    // 部分浏览器禁用语音合成，不影响页面功能。
  }
}
