diff --git a/materialious/src/lib/components/settings/Engine.svelte b/materialious/src/lib/components/settings/Engine.svelte index c2f8851a..025af604 100644 --- a/materialious/src/lib/components/settings/Engine.svelte +++ b/materialious/src/lib/components/settings/Engine.svelte @@ -10,7 +10,7 @@ } from '$lib/store'; import { useEngineFallback, type EngineFallback } from '$lib/api/misc'; import { get } from 'svelte/store'; - import { getSubscriptions } from '$lib/api'; + import { getSubscriptions, postSubscribe } from '$lib/api'; import { postSubscribeYTjs } from '$lib/api/youtubejs/subscriptions'; import { addToast } from '../Toast.svelte'; @@ -65,6 +65,29 @@ } }); } + + async function exportMaterialiousSubs() { + const subs = await getSubscriptions(); + + addToast({ + data: { + text: $_('layout.backendEngine.exportingToInvidious') + } + }); + + const subPromises: Promise[] = []; + subs.forEach((sub) => { + subPromises.push(postSubscribe(sub.authorId, {}, true)); + }); + + await Promise.all(subPromises); + + addToast({ + data: { + text: $_('layout.backendEngine.exportingToInvidiousFinished') + } + }); + }
@@ -102,7 +125,7 @@
{$_('layout.backendEngine.importExport')}
- diff --git a/materialious/src/lib/i18n/locales/en.json b/materialious/src/lib/i18n/locales/en.json index 299cde85..2fcc2c38 100644 --- a/materialious/src/lib/i18n/locales/en.json +++ b/materialious/src/lib/i18n/locales/en.json @@ -184,7 +184,9 @@ "exportToInvidious": "Export to Invidious from Materialious", "importToMaterialious": "Import from Invidious to Materialious", "importingToMaterialious": "Importing to Materialious began", - "importingToMaterialiousFinished": "Importing to Materialious finished" + "importingToMaterialiousFinished": "Importing to Materialious finished", + "exportingToInvidious": "Exporting to Invidious began", + "exportingToInvidiousFinished": "Exporting to Invidious finished" }, "player": { "title": "Player",