diff --git a/src/stores/analysis.ts b/src/stores/analysis.ts index fca60c5..008e908 100644 --- a/src/stores/analysis.ts +++ b/src/stores/analysis.ts @@ -29,7 +29,19 @@ export const useAnalysisStore = defineStore('analysis', () => { function setAllEntries(selected: boolean) { if (metadata.value && metadata.value.entries) { - metadata.value.entries.forEach((e: any) => e.selected = selected) + metadata.value.entries = metadata.value.entries.map((e: any) => ({ + ...e, + selected + })) + } + } + + function invertSelection() { + if (metadata.value && metadata.value.entries) { + metadata.value.entries = metadata.value.entries.map((e: any) => ({ + ...e, + selected: !e.selected + })) } } @@ -42,5 +54,5 @@ export const useAnalysisStore = defineStore('analysis', () => { scanMix.value = false } - return { url, loading, error, metadata, options, isMix, scanMix, toggleEntry, setAllEntries, reset } + return { url, loading, error, metadata, options, isMix, scanMix, toggleEntry, setAllEntries, invertSelection, reset } }) \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue index e2903fb..7c5b6fb 100644 --- a/src/views/Home.vue +++ b/src/views/Home.vue @@ -206,44 +206,51 @@ async function startDownload() {
-
+

{{ analysisStore.metadata.title }}

{{ analysisStore.metadata.entries.length }} videos found

-
- - -
- -
- -
- Audio Only (All) - + +
+ + +
+ + +
- -
- Quality (All) -
- -
+ +
+ +
+ Audio Only + +
+ + +
+ Quality +
+ +
+