30a6b080eb
Replace the server-rendered release upload form with a Livewire component, introducing an interactive admin release form that supports dynamic episode management, real‑time CDN path validation, and direct download file checks. Key changes: - New `AdminReleaseForm` Livewire component with dynamic episode fields, Tagify integration, and upload handling via Livewire's file uploads. - Added `CdnPathValidator` service to verify download and stream paths across all configured mirrors, caching results and capturing file sizes. - Extended `EpisodeService` and `GalleryService` to support array‑based data and temporary uploaded files from Livewire. - Persist validated download sizes and store the validation timestamp on the `downloads` table via a new migration; also add a unique constraint on `hentais.slug` to prevent duplicates. - Remove the old POST `/admin/release/upload` route and controller logic, along with the legacy `upload.js` script. - Add comprehensive feature and unit tests covering the new component and the CDN validation service.
38 lines
1.2 KiB
JavaScript
38 lines
1.2 KiB
JavaScript
import { vite as vidstack } from 'vidstack/plugins';
|
|
import { defineConfig } from 'vite';
|
|
import laravel from 'laravel-vite-plugin';
|
|
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
|
|
|
export default defineConfig({
|
|
plugins: [
|
|
vidstack(),
|
|
laravel({
|
|
input: [
|
|
'resources/css/app.css',
|
|
'resources/js/app.js',
|
|
'resources/js/modals-playlist.js',
|
|
'resources/js/theme.js',
|
|
'resources/js/player-mobile.js',
|
|
'resources/js/player-data.js',
|
|
'resources/js/player.js',
|
|
'resources/js/playlist.js',
|
|
'resources/js/admin-release.js',
|
|
'resources/js/user-blacklist.js',
|
|
'resources/js/admin-edit.js',
|
|
'resources/js/admin-subtitles.js',
|
|
'resources/js/preview.js',
|
|
'resources/js/stats.js'
|
|
],
|
|
refresh: true,
|
|
}),
|
|
viteStaticCopy({
|
|
targets: [
|
|
{
|
|
src: 'node_modules/@jellyfin/libass-wasm/dist/js/*',
|
|
dest: 'js'
|
|
},
|
|
]
|
|
})
|
|
],
|
|
});
|