import * as React from "react"; import { createRoot } from "react-dom/client"; import "./css/App.css" import { ErrorInfo, useMemo, useState, } from "react"; import { useMicrophoneOptions } from "./100_options_microphone"; import { AppStateProvider, useAppState } from "./001_provider/001_AppStateProvider"; import { library } from "@fortawesome/fontawesome-svg-core"; import { fas } from "@fortawesome/free-solid-svg-icons"; import { far } from "@fortawesome/free-regular-svg-icons"; import { fab } from "@fortawesome/free-brands-svg-icons"; import { AppRootProvider } from "./001_provider/001_AppRootProvider"; import ErrorBoundary from "./001_provider/900_ErrorBoundary"; import { INDEXEDDB_KEY_CLIENT, INDEXEDDB_KEY_MODEL_DATA, INDEXEDDB_KEY_SERVER, INDEXEDDB_KEY_WORKLET, INDEXEDDB_KEY_WORKLETNODE, useIndexedDB } from "@dannadori/voice-changer-client-js"; import { CLIENT_TYPE, INDEXEDDB_KEY_AUDIO_OUTPUT } from "./const"; library.add(fas, far, fab); const container = document.getElementById("app")!; const root = createRoot(container); const App = () => { const appState = useAppState() const { removeItem } = useIndexedDB({ clientType: CLIENT_TYPE }) const { voiceChangerSetting } = useMicrophoneOptions() const titleRow = useMemo(() => { return (
) }, []) const clearRow = useMemo(() => { const onClearSettingClicked = async () => { await appState.clearSetting() await removeItem(INDEXEDDB_KEY_AUDIO_OUTPUT) location.reload() } return ( <>このアプリで管理している情報をクリアすると回復する場合があります。
下記のボタンを押して情報をクリアします。