| | |
| | | <script lang="ts"> |
| | | import { onDestroy } from 'svelte' |
| | | import { Call, Events } from '@wailsio/runtime' |
| | | import { t, setLocale } from '../../lib/i18n' |
| | | import { languageMode, languageID, effectiveLanguageID, uiLocale } from '../../lib/stores/config' |
| | |
| | | const unsub2 = languageID.subscribe(v => { languageIDVal = v }) |
| | | const unsub3 = effectiveLanguageID.subscribe(v => { effectiveLanguageIDVal = v }) |
| | | |
| | | Events.On('model:download-progress', (ev: any) => { |
| | | const offDownloadProgress = Events.On('model:download-progress', (ev: any) => { |
| | | const data = ev?.data |
| | | if (data?.modelID && typeof data.percent === 'number') { |
| | | modelBusyID = data.modelID |
| | |
| | | } |
| | | }) |
| | | |
| | | Events.On('model:download-cancelled', (ev: any) => { |
| | | const offDownloadCancelled = Events.On('model:download-cancelled', (ev: any) => { |
| | | const data = ev?.data |
| | | if (data?.modelID) { |
| | | modelBusyID = data.modelID |
| | |
| | | } |
| | | }) |
| | | |
| | | Events.On('model:download-finished', (ev: any) => { |
| | | const offDownloadFinished = Events.On('model:download-finished', (ev: any) => { |
| | | const data = ev?.data |
| | | if (!data?.modelID || data.modelID === modelBusyID) { |
| | | clearModelBusy() |
| | |
| | | } |
| | | }) |
| | | |
| | | onDestroy(() => { |
| | | unsub1() |
| | | unsub2() |
| | | unsub3() |
| | | offDownloadProgress() |
| | | offDownloadCancelled() |
| | | offDownloadFinished() |
| | | }) |
| | | |
| | | async function loadSettings() { |
| | | try { |
| | | const lang: any = await Call.ByName('voicesnap/services.ConfigService.GetLanguageSettings') |