Initial release: DictIA v0.8.14-alpha (fork de Speakr, AGPL-3.0)
This commit is contained in:
77
static/js/modules/state/upload.js
Normal file
77
static/js/modules/state/upload.js
Normal file
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* Upload state management
|
||||
*/
|
||||
|
||||
export function createUploadState(ref, computed) {
|
||||
// --- Upload State ---
|
||||
const uploadQueue = ref([]);
|
||||
const currentlyProcessingFile = ref(null);
|
||||
const processingProgress = ref(0);
|
||||
const processingMessage = ref('');
|
||||
const isProcessingActive = ref(false);
|
||||
const pollInterval = ref(null);
|
||||
const progressPopupMinimized = ref(false);
|
||||
const progressPopupClosed = ref(false);
|
||||
const maxFileSizeMB = ref(250);
|
||||
const chunkingEnabled = ref(true);
|
||||
const chunkingMode = ref('size');
|
||||
const chunkingLimit = ref(20);
|
||||
const chunkingLimitDisplay = ref('20MB');
|
||||
const maxConcurrentUploads = ref(3);
|
||||
const recordingDisclaimer = ref('');
|
||||
const showRecordingDisclaimerModal = ref(false);
|
||||
const pendingRecordingMode = ref(null);
|
||||
|
||||
// Advanced Options for ASR
|
||||
const showAdvancedOptions = ref(false);
|
||||
const uploadLanguage = ref('');
|
||||
const uploadMinSpeakers = ref('');
|
||||
const uploadMaxSpeakers = ref('');
|
||||
const uploadHotwords = ref('');
|
||||
const uploadInitialPrompt = ref('');
|
||||
|
||||
// --- Computed Properties ---
|
||||
const totalInQueue = computed(() => uploadQueue.value.length);
|
||||
const completedInQueue = computed(() => uploadQueue.value.filter(item => item.status === 'completed' || item.status === 'failed').length);
|
||||
const finishedFilesInQueue = computed(() => uploadQueue.value.filter(item => ['completed', 'failed'].includes(item.status)));
|
||||
|
||||
const clearCompletedUploads = () => {
|
||||
uploadQueue.value = uploadQueue.value.filter(item => !['completed', 'failed'].includes(item.status));
|
||||
};
|
||||
|
||||
return {
|
||||
uploadQueue,
|
||||
currentlyProcessingFile,
|
||||
processingProgress,
|
||||
processingMessage,
|
||||
isProcessingActive,
|
||||
pollInterval,
|
||||
progressPopupMinimized,
|
||||
progressPopupClosed,
|
||||
maxFileSizeMB,
|
||||
chunkingEnabled,
|
||||
chunkingMode,
|
||||
chunkingLimit,
|
||||
chunkingLimitDisplay,
|
||||
maxConcurrentUploads,
|
||||
recordingDisclaimer,
|
||||
showRecordingDisclaimerModal,
|
||||
pendingRecordingMode,
|
||||
|
||||
// Advanced Options
|
||||
showAdvancedOptions,
|
||||
uploadLanguage,
|
||||
uploadMinSpeakers,
|
||||
uploadMaxSpeakers,
|
||||
uploadHotwords,
|
||||
uploadInitialPrompt,
|
||||
|
||||
// Computed
|
||||
totalInQueue,
|
||||
completedInQueue,
|
||||
finishedFilesInQueue,
|
||||
|
||||
// Methods
|
||||
clearCompletedUploads
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user