Initial commit

This commit is contained in:
2026-05-20 18:25:15 +02:00
commit 95f0b4ff01
288 changed files with 90909 additions and 0 deletions

View File

@@ -0,0 +1,69 @@
{{-- File Server uploader import --}}
<div class="form-group level" x-data="FSUploader()" x-init="init(@js($oldFilesArray))">
<x-form-group-title label="Download Files" icon="upload-cloud" />
<div class="form-group">
<x-form-field-title name="Files" helper="test" required="true" />
<div class="form-upload" x-ref="uploadTarget" :class="{ 'disabled': isUploading }">
<input type="file" multiple :disabled="isUploading" @change="handleSubmitFile($event)">
<div class="form-upload-placeholder level">
<i data-lucide="file-archive" size="36" style="margin-bottom:15px;color:var(--text2)"></i>
<div style="font-size: 1.1rem;color:var(--text);margin-bottom:5px;">
Click or drag'n drop files here.
</div>
</div>
</div>
<x-form-error-text message="Don't submit ROMs" />
{{-- Client-side Errors --}}
<div class="form-error-text" x-show="errorKey === 'noFiles' || errorKey === 'uploadError' || errorKey === 'notAllFilesDone'" x-text="errorMessage"></div>
{{-- Server-side Errors --}}
@error('file_ids')
<x-form-error-text message="{{ $message }}" />
@enderror
</div>
{{--
File listing. Used for editions or server-side errors.
--}}
<div class="upload-list" x-show="numberOfFiles > 0" x-cloak>
<template x-for="(file,i) in files" :key="i">
<div class="upload-item" :class="
{
'upload-item-uploading': !file.done && !file.error,
'upload-item-done': file.done,
'upload-item-error': file.error
}">
<template x-if="!file.done && !file.error">
<i data-lucide="loader-2" class="spin"></i>
</template>
<template x-if="file.done">
<i data-lucide="check-circle"></i>
</template>
<template x-if="file.error">
<i data-lucide="alert-circle"></i>
</template>
<div class="upload-item-info">
<span class="upload-item-name" x-text="file.name"></span>
<div class="progress" x-show="!file.done && !file.error">
<div class="progress-bar" :style="{width: file.progressValue + '%' }">
<span class="progress-bar-label" x-text="file.progressValue + '% - chunk' + file.currentChunk + ' / ' + file.totalChunks"></span>
</div>
</div>
<span class="upload-item-error" x-show="file.error" x-text="file.error"></span>
</div>
<div class="upload-item-actions">
<button type="button" class="btn" x-show="file.error" @click="handleRetryFile(i)">
<i data-lucide="refresh-cw"></i>
</button>
<button type="button" class="btn" x-show="file.done || file.error" @click="handleRemoveFile(i)">
<i data-lucide="x"></i>
</button>
</div>
<input type="hidden" name="files_uuid[]" :value="file.uuid" x-show="file.done">
</div>
</template>
</div>