Refactor confirmation messages for consistency across components

This commit is contained in:
arabcoders 2025-07-09 19:14:19 +03:00
parent 347f99adb6
commit a8b318b40e
7 changed files with 30 additions and 11 deletions

18
ui/@types/item.d.ts vendored Normal file
View file

@ -0,0 +1,18 @@
export type item_request = {
/** URL of the item to download */
url: string,
/** Preset to use for the download */
preset?: string,
/** Where to save the downloaded item */
folder?: string,
/** Output template for the downloaded item */
template?: string,
/** Additional command line options for yt-dlp */
cli?: string,
/** Cookies file for the download */
cookies?: string,
/** Auto start the download */
auto_start?: boolean,
/** Extras data for the item */
extras?: Record<string, any>,
}

View file

@ -330,7 +330,7 @@ const importItem = async () => {
return return
} }
if ((form.filter || form.cli) && false === box.confirm('This will overwrite the current data. Are you sure?', true)) { if ((form.filter || form.cli) && false === box.confirm('Overwrite the current form fields?', true)) {
return return
} }

View file

@ -351,7 +351,7 @@ const importItem = async () => {
} }
if (form.target) { if (form.target) {
if (false === box.confirm('This will overwrite the current form fields. Are you sure?', true)) { if (false === box.confirm('Overwrite the current form fields?', true)) {
return return
} }
} }

View file

@ -523,7 +523,7 @@ const updateProgress = (item) => {
} }
const confirmCancel = item => { const confirmCancel = item => {
if (true !== box.confirm(`Are you sure you want to cancel (${item.title})?`)) { if (true !== box.confirm(`Cancel '${item.title}'?`)) {
return false return false
} }
cancelItems(item._id) cancelItems(item._id)
@ -531,7 +531,7 @@ const confirmCancel = item => {
} }
const cancelSelected = () => { const cancelSelected = () => {
if (true !== box.confirm('Are you sure you want to cancel selected items?')) { if (true !== box.confirm(`Cancel '${selectedElms.value.length}' selected items?`)) {
return false; return false;
} }
cancelItems(selectedElms.value) cancelItems(selectedElms.value)

View file

@ -387,7 +387,7 @@ const importItem = async () => {
} }
if (form.url || form.timer) { if (form.url || form.timer) {
if (false === box.confirm('This will overwrite the current form fields. Are you sure?', true)) { if (false === box.confirm('Overwrite the current form fields?', true)) {
return return
} }
} }

View file

@ -66,7 +66,7 @@
<Queue @getInfo="(url: string, preset: string = '') => view_info(url, false, preset)" :thumbnails="show_thumbnail" <Queue @getInfo="(url: string, preset: string = '') => view_info(url, false, preset)" :thumbnails="show_thumbnail"
:query="query" @getItemInfo="(id: string) => view_info(`/api/history/${id}`, true)" @clear_search="query = ''" /> :query="query" @getItemInfo="(id: string) => view_info(`/api/history/${id}`, true)" @clear_search="query = ''" />
<History @getInfo="(url: string, preset: string = '') => view_info(url, false, preset)" <History @getInfo="(url: string, preset: string = '') => view_info(url, false, preset)"
@add_new="item => toNewDownload(item)" :query="query" :thumbnails="show_thumbnail" @add_new="(item: item_request) => toNewDownload(item)" :query="query" :thumbnails="show_thumbnail"
@getItemInfo="(id: string) => view_info(`/api/history/${id}`, true)" @clear_search="query = ''" /> @getItemInfo="(id: string) => view_info(`/api/history/${id}`, true)" @clear_search="query = ''" />
<GetInfo v-if="info_view.url" :link="info_view.url" :preset="info_view.preset" :useUrl="info_view.useUrl" <GetInfo v-if="info_view.url" :link="info_view.url" :preset="info_view.preset" :useUrl="info_view.useUrl"
@closeModel="close_info()" /> @closeModel="close_info()" />
@ -75,6 +75,7 @@
<script setup lang="ts"> <script setup lang="ts">
import { useStorage } from '@vueuse/core' import { useStorage } from '@vueuse/core'
import type { item_request } from '~/@types/item'
const config = useConfigStore() const config = useConfigStore()
const stateStore = useStateStore() const stateStore = useStateStore()
@ -90,7 +91,7 @@ const info_view = ref({
preset: '', preset: '',
useUrl: false, useUrl: false,
}) as Ref<{ url: string, preset: string, useUrl: boolean }> }) as Ref<{ url: string, preset: string, useUrl: boolean }>
const item_form = ref({}) const item_form = ref<item_request|object>({})
const query = ref() const query = ref()
const toggleFilter = ref(false) const toggleFilter = ref(false)
@ -123,7 +124,7 @@ watch(() => stateStore.queue, () => {
}, { deep: true }) }, { deep: true })
const pauseDownload = () => { const pauseDownload = () => {
if (false === box.confirm('Are you sure you want to pause all non-active downloads?')) { if (false === box.confirm('Pause all non-active downloads?')) {
return false return false
} }
@ -152,7 +153,7 @@ watch(() => info_view.value.url, v => {
const changeDisplay = () => display_style.value = display_style.value === 'cards' ? 'list' : 'cards' const changeDisplay = () => display_style.value = display_style.value === 'cards' ? 'list' : 'cards'
const toNewDownload = async (item: any) => { const toNewDownload = async (item: item_request) => {
if (!item) { if (!item) {
return return
} }

View file

@ -236,7 +236,7 @@ const updateData = async notifications => {
} }
const deleteItem = async item => { const deleteItem = async item => {
if (true !== box.confirm(`Are you sure you want to delete notification target (${item.name})?`)) { if (true !== box.confirm(`Delete '${item.name}'?`)) {
return return
} }
@ -296,7 +296,7 @@ const editItem = item => {
const join_events = events => (!events || events.length < 1) ? 'ALL' : events.map(e => ucFirst(e)).join(', ') const join_events = events => (!events || events.length < 1) ? 'ALL' : events.map(e => ucFirst(e)).join(', ')
const sendTest = async () => { const sendTest = async () => {
if (true !== box.confirm('Are you sure you want to send a test notification?')) { if (true !== box.confirm('Send test notification?')) {
return return
} }