From 4d16618cfb9ac09406797ea38c9c08f24440d257 Mon Sep 17 00:00:00 2001 From: arabcoders Date: Thu, 25 Sep 2025 00:47:43 +0300 Subject: [PATCH 1/6] merge in the simple mode for testing --- app/library/config.py | 5 + ui/app/components/Simple.vue | 611 +++++++++++++++++++++++++++++++++++ ui/app/layouts/default.vue | 300 ++++++++--------- ui/app/stores/ConfigStore.ts | 1 + ui/app/types/config.d.ts | 2 + ui/app/types/store.d.ts | 2 + 6 files changed, 774 insertions(+), 147 deletions(-) create mode 100644 ui/app/components/Simple.vue diff --git a/app/library/config.py b/app/library/config.py index bb744967..9c3ef4fb 100644 --- a/app/library/config.py +++ b/app/library/config.py @@ -45,6 +45,9 @@ class Config(metaclass=Singleton): temp_path: str = "/tmp" """The path to the temporary directory.""" + simple_mode: bool = False + """Enable simple mode.""" + temp_keep: bool = False """Keep temporary files after the download is complete.""" @@ -244,6 +247,7 @@ class Config(metaclass=Singleton): "prevent_premiere_live", "temp_disabled", "allow_internal_urls", + "simple_mode", ) "The variables that are booleans." @@ -259,6 +263,7 @@ class Config(metaclass=Singleton): "default_preset", "instance_title", "console_enabled", + "simple_mode", "browser_control_enabled", "file_logging", "base_path", diff --git a/ui/app/components/Simple.vue b/ui/app/components/Simple.vue new file mode 100644 index 00000000..62e37650 --- /dev/null +++ b/ui/app/components/Simple.vue @@ -0,0 +1,611 @@ + + + + + diff --git a/ui/app/layouts/default.vue b/ui/app/layouts/default.vue index cd9ef5d5..a965723d 100644 --- a/ui/app/layouts/default.vue +++ b/ui/app/layouts/default.vue @@ -1,169 +1,174 @@ diff --git a/ui/app/components/Simple.vue b/ui/app/components/Simple.vue index 62e37650..c5ddb5f9 100644 --- a/ui/app/components/Simple.vue +++ b/ui/app/components/Simple.vue @@ -3,8 +3,19 @@
- +
+
+ +
@@ -12,11 +23,37 @@
+
+
+ +
+
+
+ +
+
+
+
@@ -26,12 +63,12 @@
+
+
{{ updateProgress(entry.item) }}
+
+
-
-
{{ updateProgress(entry.item) }}
-
-
- +
@@ -48,7 +85,7 @@

{{ entry.item.title }}

-
+
@@ -56,32 +93,32 @@
- {{ - getStatusLabel(entry.item) }} + + {{ getStatusLabel(entry.item) }} +
-

- {{ getDescription(entry.item) }} +

+ {{ getDescription(entry.item) || 'No description available.' }}

-
@@ -89,16 +126,16 @@
- + Download
@@ -132,6 +169,7 @@ diff --git a/ui/app/components/TaskForm.vue b/ui/app/components/TaskForm.vue index e98645b6..157d5499 100644 --- a/ui/app/components/TaskForm.vue +++ b/ui/app/components/TaskForm.vue @@ -307,6 +307,7 @@ import { CronExpressionParser } from 'cron-parser' import TextareaAutocomplete from '~/components/TextareaAutocomplete.vue' import type { AutoCompleteOptions } from '~/types/autocomplete' import type { exported_task, task_item } from '~/types/tasks' +import {useConfirm} from '~/composables/useConfirm' const props = defineProps<{ reference?: string | null | undefined @@ -408,7 +409,7 @@ const importItem = async (): Promise => { } if (form.url || form.timer) { - if (false === (await box.confirm('Overwrite the current form fields?', true))) { + if (false === (await box.confirm('Overwrite the current form fields?'))) { return } } diff --git a/ui/app/composables/useConfirm.ts b/ui/app/composables/useConfirm.ts index 7286ca41..e3f8aa71 100644 --- a/ui/app/composables/useConfirm.ts +++ b/ui/app/composables/useConfirm.ts @@ -1,42 +1,29 @@ -import { useStorage } from '@vueuse/core' -import { useDialog } from './useDialog' +import { useDialog, type ConfirmOptions, type AlertOptions, type PromptOptions } from './useDialog' const dialog = useDialog() -const reduceConfirm = useStorage('reduce_confirm', false) - -const confirm = async (msg: string, force: boolean = false) => { - if (false === force && true === reduceConfirm.value) { - return true - } - - const { status } = await dialog.confirmDialog({ +const confirm = async (msg: string, opts: ConfirmOptions = {}) => { + const { status } = await dialog.confirmDialog(Object.assign({ title: 'Please Confirm', message: msg, cancelText: 'Cancel', confirmText: 'OK', - }) + } as ConfirmOptions, opts || {})) return status } -const alert = async (msg: string) => { - const { status } = await dialog.alertDialog({ +const alert = async (msg: string, opts: AlertOptions = {}) => { + const { status } = await dialog.alertDialog(Object.assign({ title: 'Alert', message: msg, confirmText: 'OK', - }) + } as AlertOptions, opts || {})) return status } -const prompt = async (msg: string, defaultValue: string = '') => { - const { status, value } = await dialog.promptDialog({ - title: 'Input Required', - message: msg, - initial: defaultValue, - cancelText: 'Cancel', - confirmText: 'OK', - }) +const prompt = async (msg: string, opts: PromptOptions = {}) => { + const { status, value } = await dialog.promptDialog(Object.assign({ message: msg } as PromptOptions, opts || {})) if (status) { return value @@ -45,6 +32,4 @@ const prompt = async (msg: string, defaultValue: string = '') => { return null } -export default function useConfirm() { - return { confirm, alert, prompt, reduceConfirm } -} +export const useConfirm = () => ({ confirm, alert, prompt }) diff --git a/ui/app/layouts/default.vue b/ui/app/layouts/default.vue index a965723d..5ec19b7a 100644 --- a/ui/app/layouts/default.vue +++ b/ui/app/layouts/default.vue @@ -1,8 +1,16 @@