Update import statement in local-duckduckgo.ts, prompt.tsx, wxt.config.ts, webui.tsx, PlaygroundChat.tsx, other.tsx, Markdown.tsx, and useMessageOption.tsx

This commit is contained in:
n4ze3m
2024-04-11 00:08:20 +05:30
parent 291f7392c2
commit a3810cd534
14 changed files with 385 additions and 46 deletions

91
src/services/tts.ts Normal file
View File

@@ -0,0 +1,91 @@
import { Storage } from "@plasmohq/storage"
const storage = new Storage()
const DEFAULT_TTS_PROVIDER = "browser"
const AVAILABLE_TTS_PROVIDERS = ["browser"] as const
export const getTTSProvider = async (): Promise<
(typeof AVAILABLE_TTS_PROVIDERS)[number]
> => {
const ttsProvider = await storage.get("ttsProvider")
if (!ttsProvider || ttsProvider.length === 0) {
return DEFAULT_TTS_PROVIDER
}
return ttsProvider as (typeof AVAILABLE_TTS_PROVIDERS)[number]
}
export const setTTSProvider = async (ttsProvider: string) => {
await storage.set("ttsProvider", ttsProvider)
}
export const getBrowserTTSVoices = async () => {
const tts = await chrome.tts.getVoices()
return tts
}
export const getVoice = async () => {
const voice = await storage.get("voice")
return voice
}
export const setVoice = async (voice: string) => {
await storage.set("voice", voice)
}
export const isTTSEnabled = async () => {
const data = await storage.get("isTTSEnabled")
return data === "true"
}
export const setTTSEnabled = async (isTTSEnabled: boolean) => {
await storage.set("isTTSEnabled", isTTSEnabled.toString())
}
export const isSSMLEnabled = async () => {
const data = await storage.get("isSSMLEnabled")
return data === "true"
}
export const setSSMLEnabled = async (isSSMLEnabled: boolean) => {
await storage.set("isSSMLEnabled", isSSMLEnabled.toString())
}
export const getTTSSettings = async () => {
const [ttsEnabled, ttsProvider, browserTTSVoices, voice, ssmlEnabled] =
await Promise.all([
isTTSEnabled(),
getTTSProvider(),
getBrowserTTSVoices(),
getVoice(),
isSSMLEnabled()
])
return {
ttsEnabled,
ttsProvider,
browserTTSVoices,
voice,
ssmlEnabled
}
}
export const setTTSSettings = async ({
ttsEnabled,
ttsProvider,
voice,
ssmlEnabled
}: {
ttsEnabled: boolean
ttsProvider: string
voice: string
ssmlEnabled: boolean
}) => {
await Promise.all([
setTTSEnabled(ttsEnabled),
setTTSProvider(ttsProvider),
setVoice(voice),
setSSMLEnabled(ssmlEnabled)
])
}