@extends('backend.layouts.app') @section('content')

{{ html()->form('PUT' ,route('backend.videos.update', $data->id)) ->attribute('enctype', 'multipart/form-data') ->attribute('data-toggle', 'validator') ->attribute('id', 'form-submit') // Add the id attribute here ->attribute('novalidate', 'novalidate') // Disable default browser validation ->class('requires-validation') // Add the requires-validation class ->open() }} @csrf
{{__('customer.about')}} {{ __('video.singular_title') }}
{{ html()->label(__('movie.lbl_poster'), 'poster')->class('form-label') }}
{{ html()->button(__(''. __('messages.lbl_choose_image'))) ->class('input-group-text form-control') ->type('button') ->attribute('data-bs-toggle', 'modal') ->attribute('data-bs-target', '#exampleModal') ->attribute('data-image-container', 'selectedImageContainer2') ->attribute('data-hidden-input', 'file_url2') ->style('height: 13.8rem') }} {{ html()->text('image_input2') ->class('form-control') ->placeholder(__('placeholder.lbl_image')) ->attribute('aria-label', 'Image Input 2') ->attribute('data-bs-toggle', 'modal') ->attribute('data-bs-target', '#exampleModal') ->attribute('data-image-container', 'selectedImageContainer2') ->attribute('data-hidden-input', 'file_url2') ->attribute('aria-describedby', 'basic-addon1') }}
@if ($data->poster_url) × @else

No image selected.

@endif
{{ html()->hidden('poster_url')->id('file_url2')->value($data->poster_url) }} {{ html()->hidden('remove_image')->id('remove_image_flag')->value(0) }}
{{ html()->label(__('movie.lbl_poster_tv'), 'poster_tv')->class('form-label') }}
{{ html()->button(__(''. __('messages.lbl_choose_image'))) ->class('input-group-text form-control') ->type('button') ->attribute('data-bs-toggle', 'modal') ->attribute('data-bs-target', '#exampleModal') ->attribute('data-image-container', 'selectedImageContainerTv') ->attribute('data-hidden-input', 'file_urltv') ->style('height: 13.8rem') }} {{ html()->text('image_input2') ->class('form-control') ->placeholder(__('placeholder.lbl_image')) ->attribute('aria-label', 'Image Input 2') ->attribute('data-bs-toggle', 'modal') ->attribute('data-bs-target', '#exampleModal') ->attribute('data-image-container', 'selectedImageContainerTv') ->attribute('data-hidden-input', 'file_urltv') ->attribute('aria-describedby', 'basic-addon1') }}
@if ($data->poster_tv_url) × @else

No image selected.

@endif
{{ html()->hidden('poster_tv_url')->id('file_urltv')->value($data->poster_tv_url) }} {{ html()->hidden('remove_image')->id('remove_image_flag_tv')->value(0) }}
{{ html()->label(__('video.lbl_title') . ' *', 'name')->class('form-label') }} {{ html()->text('name')->attribute('value', $data->name)->placeholder(__('placeholder.lbl_movie_name'))->class('form-control')->attribute('required','required') }} @error('name') {{ $message }} @enderror
Title field is required
{{ html()->label(__('movie.lbl_movie_access') , 'access')->class('form-label') }}
@error('movie_access') {{ $message }} @enderror
{{-- Price --}}
{{ html()->label(__('messages.lbl_price') . '*', 'price')->class('form-label')->for('price') }} {{ html()->number('price', old('price', $data->price))->class('form-control')->attribute('placeholder', __('messages.enter_price'))->attribute('step', '0.01')->required() }} @error('price') {{ $message }} @enderror
Price field is required
{{-- Purchase Type --}}
{{ html()->label(__('messages.purchase_type') . '*' , 'purchase_type')->class('form-label') }} {{ html()->select('purchase_type', [ '' => __('messages.lbl_select_purchase_type'), 'rental' => __('messages.lbl_rental'), 'onetime' => __('messages.lbl_one_time_purchase') ], old('purchase_type', $data->purchase_type ?? 'rental')) ->id('purchase_type') ->class('form-control select2') ->required() ->attributes(['onchange' => 'toggleAccessDuration(this.value)']) }} @error('purchase_type') {{ $message }} @enderror
Purchase Type field is required
{{-- Access Duration (Only for Rental) --}}
{{ html()->label(__('messages.lbl_access_duration') . __('messages.lbl_in_days'). '*', 'access_duration')->class('form-label') }} {{ html()->number('access_duration', old('access_duration', $data->access_duration))->class('form-control')->attribute('pattern', '[0-9]*')->attribute('oninput', 'this.value = this.value.replace(/[^0-9]/g, "")')->attribute('placeholder', __('messages.access_duration')) }} @error('access_duration') {{ $message }} @enderror
Access Duration field is required
{{-- Discount --}}
{{ html()->label(__('messages.lbl_discount') . ' (%)', 'discount')->class('form-label') }} {{ html()->number('discount', old('discount', $data->discount))->class('form-control')->attribute('placeholder', __('messages.enter_discount'))->attribute('min', 1)->attribute('max', 99)->attribute('step', '0.01') }} @error('discount') {{ $message }} @enderror
Available For field is required
{{ html()->label(__('messages.lbl_total_price'), 'total_amount')->class('form-label') }} {{ html()->text('total_amount', null)->class('form-control')->attribute('disabled', true)->id('total_amount') }}
{{-- Available For --}}
{{ html()->label(__('messages.lbl_available_for') . __('messages.lbl_in_days') . '*', 'available_for')->class('form-label') }} {{ html()->number('available_for', old('available_for', $data->available_for))->class('form-control')->attribute('pattern', '[0-9]*')->attribute('oninput', 'this.value = this.value.replace(/[^0-9]/g, "")')->attribute('placeholder', __('messages.available_for'))->required() }} @error('available_for') {{ $message }} @enderror
Available For field is required
{{ html()->label(__('movie.lbl_select_plan'). ' *', 'type')->class('form-label') }} {{ html()->select('plan_id', $plan->pluck('name', 'id')->prepend(__('placeholder.lbl_select_plan'), ''), $data->plan_id)->class('form-control select2')->id('plan_id') }} @error('plan_id') {{ $message }} @enderror
Plan field is required
{{--
{{ html()->label(__('movie.lbl_trailer_url_type'), 'type')->class('form-label') }} {{ html()->select( 'trailer_url_type', $upload_url_type->pluck('name', 'value')->prepend(__('placeholder.lbl_select_type'), ''), old('trailer_url_type', $data->trailer_url_type ?? '') )->class('form-control select2')->id('trailer_url_type') }} @error('trailer_url_type') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_trailer_url'), 'trailer_url')->class('form-label') }} {{ html()->text('trailer_url')->attribute('value', $data->trailer_url)->placeholder(__('placeholder.lbl_trailer_url'))->class('form-control') }} @error('trailer_url') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_trailer_video'), 'trailer_video')->class('form-label') }}
@if (Str::endsWith($data->trailer_url, ['.jpeg', '.jpg', '.png', '.gif'])) @else @endif
{{ html()->hidden('trailer_video')->id('file_url3')->value($data->trailer_url)->attribute('data-validation', 'iq_video_quality') }} @error('trailer_video') {{ $message }} @enderror
--}}
{{ html()->label(__('plan.lbl_status'), 'status')->class('form-label') }}
{{ html()->label(__('messages.active'), 'status')->class('form-label mb-0 text-body') }}
{{ html()->hidden('status', 0) }} {{ html()->checkbox('status',$data->status) ->class('form-check-input') ->id('status') ->value(1) }}
@error('status') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_short_desc'), 'short_desc')->class('form-label') }} {{ __('messages.lbl_chatgpt') }}
{{ html()->textarea('short_desc',$data->short_desc )->class('form-control')->id('short_desc')->placeholder(__('placeholder.episode_short_desc'))->rows('8') }} @error('short_desc') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_description'). ' *', 'description')->class('form-label mb-0') }} {{ __('messages.lbl_chatgpt') }}
{{ html()->textarea('description',$data->description)->class('form-control')->id('description')->placeholder(__('placeholder.lbl_movie_description'))->attribute('required','required') }} @error('description') {{ $message }} @enderror
Description field is required
{{ __('movie.lbl_basic_info') }}
{{ html()->label(__('movie.lbl_duration') . ' *', 'duration')->class('form-label') }} {{ html()->time('duration')->attribute('value', $data->duration)->placeholder(__('movie.lbl_duration'))->class('form-control min-datetimepicker-time')->attribute('required','required') }} @error('duration') {{ $message }} @enderror
Duration field is required
{{ html()->label(__('movie.lbl_release_date') . ' *' , 'release_date')->class('form-label') }} {{ html()->date('release_date')->attribute('value', $data->release_date)->placeholder(__('movie.lbl_release_date'))->class('form-control datetimepicker')->required() }} @error('release_date') {{ $message }} @enderror
Release Date field is required
{{ html()->label(__('movie.lbl_age_restricted'), 'is_restricted')->class('form-label') }}
{{ html()->label(__('movie.lbl_child_content'), 'is_restricted')->class('form-label mb-0 text-body') }}
{{ html()->hidden('is_restricted', 0) }} {{ html()->checkbox('is_restricted', $data->is_restricted)->class('form-check-input')->id('is_restricted') }}
@error('is_restricted') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_download_status'), 'download_status')->class('form-label') }}
{{ html()->label(__('movie.lbl_download_status'), 'download_status')->class('form-label mb-0 text-body') }}
{{ html()->hidden('download_status', 0) }} {{ html()->checkbox('download_status', !empty($data) && $data->download_status == 1)->class('form-check-input')->id('download_status')->value(1) }}
@error('download_status') {{ $message }} @enderror
{{ __('movie.lbl_video_info') }}
{{ html()->label(__('movie.lbl_video_upload_type'), 'video_upload_type')->class('form-label') }} {{ html()->select( 'video_upload_type', $upload_url_type->pluck('name', 'value')->prepend(__('placeholder.lbl_select_video_type'), ''), old('video_upload_type', $data->video_upload_type ?? ''), )->class('form-control select2')->id('video_upload_type')->required() }} @error('video_upload_type') {{ $message }} @enderror
Video Type field is required
{{ html()->label(__('movie.video_url_input'), 'video_url_input')->class('form-label') }} {{ html()->text('video_url_input')->attribute('value', $data->video_url_input)->placeholder(__('placeholder.video_url_input'))->class('form-control')->id('video_url_input') }} @error('video_url_input') {{ $message }} @enderror
Video URL field is required
{{ html()->label(__('movie.video_file_input'), 'video_file')->class('form-label') }}
@if (Str::endsWith($data->video_url_input, ['.jpeg', '.jpg', '.png', '.gif'])) @else @endif
{{ html()->hidden('video_file_input')->id('file_url4')->value($data->video_url_input)->attribute('data-validation', 'iq_video_quality') }} @error('video') {{ $message }} @enderror
Video File field is required
{{ html()->label(__('movie.lbl_embed_code') . ' *', 'video_embedded')->class('form-label') }} {{ html()->textarea('video_embedded') ->placeholder('') ->class('form-control') ->id('video_embedded') ->value($data->video_upload_type === 'Embedded' ? $data->video_url_input : '') }} @error('video_embedded') {{ $message }} @enderror
Embed code is required
{{ __('movie.lbl_quality_info') }}
enable_quality == 1 ? 'checked' : ''}} >
@error('enable_quality') {{ $message }} @enderror
@if(!empty($data['VideoStreamContentMappings']) && count($data['VideoStreamContentMappings']) > 0) @foreach($data['VideoStreamContentMappings'] as $mapping)
{{ html()->label(__('movie.lbl_video_upload_type'), 'video_quality_type')->class('form-label') }} {{ html()->select( 'video_quality_type[]', $upload_url_type->pluck('name', 'value') ->prepend(__('placeholder.lbl_select_video_type'), '') ->merge(['Embedded' => 'Embedded']), old('video_quality_type', $mapping->type ?? ''), )->class('form-control select2 video_quality_type') }} @error('video_quality_type') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_video_quality'), 'video_quality')->class('form-label') }} {{ html()->select( 'video_quality[]', $video_quality->pluck('name', 'value')->prepend(__('placeholder.lbl_select_quality'), ''), $mapping->quality ?? null )->class('form-control select2')->id('video_quality_' . ($mapping->id ?? 'new')) }} @error('video_quality') {{ $message }} @enderror
{{ html()->label(__('movie.video_url_input'), 'quality_video_url_input')->class('form-label') }} {{ html()->text('quality_video_url_input[]', $mapping->url ?? null) ->placeholder(__('placeholder.video_url_input')) ->class('form-control') }} @error('quality_video_url_input') {{ $message }} @enderror
{{ html()->label(__('movie.video_file_input'), 'quality_video')->class('form-label') }} @error('quality_video') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_embed_code'), 'quality_video_embed')->class('form-label') }} {{ html()->textarea('quality_video_embed[]', $mapping->embed_code ?? null) ->placeholder('') ->class('form-control') ->rows(4) }} @error('quality_video_embed') {{ $message }} @enderror
@endforeach @else
{{ html()->label(__('movie.lbl_video_upload_type'), 'video_quality_type')->class('form-label') }} {{ html()->select( 'video_quality_type[]', $upload_url_type->pluck('name', 'value')->prepend(__('placeholder.lbl_select_video_type'), ''), old('video_quality_type', 'Local'), )->class('form-control select2 video_quality_type') }} @error('video_quality_type') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_video_quality'), 'video_quality')->class('form-label') }} {{ html()->select( 'video_quality[]', $video_quality->pluck('name', 'value')->prepend(__('placeholder.lbl_select_quality'), ''), null // No existing quality )->class('form-control select2')->id('video_quality_new') }} @error('video_quality') {{ $message }} @enderror
{{ html()->label(__('movie.video_url_input'), 'quality_video_url_input')->class('form-label') }} {{ html()->text('quality_video_url_input[]', null) // No existing URL ->placeholder(__('placeholder.video_url_input'))->class('form-control') }} @error('quality_video_url_input') {{ $message }} @enderror
{{ html()->label(__('movie.video_file_input'), 'quality_video')->class('form-label') }}
@if ($data->video_quality_url) @endif
{{ html()->hidden('video_quality_url')->id('file_url5')->value( setBaseUrlWithFileName($data->video_quality_url)) }} {{-- {{ html()->file('quality_video[]')->class('form-control-file')->accept('video/*')->class('form-control') }} --}} @error('quality_video') {{ $message }} @enderror
{{ html()->label(__('movie.lbl_embed_code'), 'quality_video_embed')->class('form-label') }} {{ html()->textarea('quality_video_embed[]') ->placeholder('') ->class('form-control') ->value($data->quality_video) ->rows(4) }}
@endif
{{ __('movie.lbl_subtitle_info') }}
enable_subtitle) ? 'checked' : '' }} onchange="toggleSubtitleSection()">
@error('enable_subtitle') {{ $message }} @enderror
@if($data->subtitles && count($data->subtitles) > 0) @foreach($data->subtitles as $index => $subtitle)
{{-- {{ html()->label(__('movie.lbl_language'), 'language')->class('form-label') }} --}} {{ html()->select('subtitles['.$index.'][language]', $subtitle_language->pluck('name', 'value')->prepend(__('placeholder.lbl_select_language'), ''), old('subtitles.'.$index.'.language', $subtitle->language_code))->class('form-control select2 subtitle-language') }} @error('subtitles.'.$index.'.language') {{ $message }} @enderror
{{ __('validation.required', ['attribute' => 'language']) }}
{{-- {{ html()->label(__('movie.lbl_subtitle_file'), 'subtitle_file')->class('form-label') }} --}} {{ html()->file('subtitles['.$index.'][subtitle_file]')->class('form-control subtitle-file')->accept('.srt,.vtt') }} {{ html()->hidden('subtitles['.$index.'][existing_file]')->value($subtitle->subtitle_file) }} {{ html()->hidden('subtitles['.$index.'][id]')->value($subtitle->id) }}
Current file: {{ basename($subtitle->subtitle_file) }}
@error('subtitles.'.$index.'.subtitle_file') {{ $message }} @enderror
{{ __('validation.required', ['attribute' => 'subtitle file']) }}
{{ html()->checkbox('subtitles['.$index.'][is_default]', old('subtitles.'.$index.'.is_default', $subtitle->is_default))->class('form-check-input is-default-subtitle')->id('is_default_'.$index) }} {{ html()->label(__('movie.lbl_default_subtitle'), 'is_default_'.$index)->class('form-check-label') }}
@endforeach @else
{{ __('validation.required', ['attribute' => 'language']) }}
{{ __('validation.required', ['attribute' => 'subtitle file']) }}
@endif

 {{__('messages.lbl_seo_settings')}}

meta_title) || !empty($seo->meta_keywords) || !empty($seo->meta_description) || !empty($seo->seo_image) || !empty($seo->google_site_verification) || !empty($seo->canonical_url) || !empty($seo->short_description) ? 'checked' : '' }}>
{{--
--}}
{{ html()->hidden('seo_image')->id('seo_image')->value(old('seo_image', $data->seo_image ?? '')) }} {!! html()->label(__('messages.lbl_seo_image') . ' *', 'seo_image') ->class('form-label') ->attribute('for', 'seo_image') !!}
{{ html()->button(' ' . __('messages.lbl_choose_image')) ->class('input-group-text form-control') ->type('button') ->attribute('data-bs-toggle', 'modal') ->attribute('data-bs-target', '#exampleModal') ->attribute('data-image-container', 'selectedImageContainerSeo') ->attribute('data-hidden-input', 'seo_image') ->id('seo-image-url-button') ->style('height:13.6rem') }} {{ html()->text('seo_image_input') ->class('form-control ' . ($errors->has('seo_image') ? 'is-invalid' : '')) ->placeholder(__('placeholder.lbl_image')) ->attribute('aria-label', 'SEO Image') ->attribute('readonly', true) ->attribute('data-bs-toggle', 'modal') ->attribute('data-bs-target', '#exampleModal') ->attribute('data-image-container', 'selectedImageContainerSeo') ->attribute('data-hidden-input', 'seo_image') }}
{{-- ✅ Move this outside input-group --}} {{-- Image Preview --}}
seo-image-preview
{{-- Laravel Error --}} @error('seo_image')
{{ $message }}
@enderror
{!! html()->label(__('messages.lbl_meta_title') . ' *', 'meta_title') ->class('form-label') ->attribute('for', 'meta_title') !!}
0/100 {{ __('messages.words') }}
@error('meta_title')
{{ $message }}
@enderror
{!! html()->label(__('messages.lbl_google_site_verification') . ' *', 'google_site_verification') ->class('form-label') ->attribute('for', 'google_site_verification') !!}
Google Site Verification is required
{!! html()->label(__('messages.lbl_meta_keywords') . ' *', 'meta_keywords_input') ->class('form-label') ->attribute('for', 'meta_keywords_input') !!}
Meta Keywords are required
@error('meta_keywords') {{ $message }} @enderror
{!! html()->label(__('messages.lbl_canonical_url') . ' *', 'canonical_url') ->class('form-label') ->attribute('for', 'canonical_url') !!}
Canonical URL is required
{!! html()->label(__('messages.lbl_short_description') . ' *', 'short_description') ->class('form-label') ->attribute('for', 'short_description') !!}
0/200 {{ __('messages.words') }}
{{-- @error('short_description') {{ $message }} @enderror --}}
Site Meta Description is required
@include('components.media-modal') @endsection @push('after-scripts') @endpush