diff --git a/app/Containers/Widget/Data/Factories/SlideFactory.php b/app/Containers/Widget/Data/Factories/SlideFactory.php index 91b679c..61ab877 100644 --- a/app/Containers/Widget/Data/Factories/SlideFactory.php +++ b/app/Containers/Widget/Data/Factories/SlideFactory.php @@ -23,7 +23,7 @@ class SlideFactory extends Factory 'title' => $this->faker->sentence(3), 'content' => $this->faker->paragraph(2), 'image' => json_encode([ - 'url' => '/public/img/thumbnail-1.png', + 'url' => null, 'shading' => $this->faker->randomFloat(1, 0, 1) ]), 'link' => '/news/' . $this->faker->slug, diff --git a/app/Filament/Resources/SlideResource.php b/app/Filament/Resources/SlideResource.php index 6ad4579..9302c23 100644 --- a/app/Filament/Resources/SlideResource.php +++ b/app/Filament/Resources/SlideResource.php @@ -146,8 +146,7 @@ class SlideResource extends Resource ->resize(50) ->disk('public') ->directory('images') - ->imageEditor() - ->required(), + ->imageEditor(), ToggleButtons::make('image.shading')->inline()->grouped()->label('Уровень затемнения изображения')->options([ '1' => 'Без затемнения', '0.7' => 'Слабое затемнение', diff --git a/resources/js/componentss/features/sliders/components/SliderBlockBody.vue b/resources/js/componentss/features/sliders/components/SliderBlockBody.vue index 689745e..54403d5 100644 --- a/resources/js/componentss/features/sliders/components/SliderBlockBody.vue +++ b/resources/js/componentss/features/sliders/components/SliderBlockBody.vue @@ -15,7 +15,7 @@ data-nimg="fill" class="object-cover rounded-xl transition-opacity duration-1000 absolute inset-0 h-full w-full" sizes="100vw" - :src="'/storage/' + slide.image.url" + :src="slide.image.url ? '/storage/' + slide.image.url : 'img/thumbnail-3.png'" :class="{ 'opacity-1': currentIndex === index, 'opacity-0': currentIndex !== index }" /> diff --git a/resources/js/componentss/features/sliders/components/SliderBody.vue b/resources/js/componentss/features/sliders/components/SliderBody.vue index 795d71e..f40ef22 100644 --- a/resources/js/componentss/features/sliders/components/SliderBody.vue +++ b/resources/js/componentss/features/sliders/components/SliderBody.vue @@ -15,7 +15,7 @@ data-nimg="fill" class="object-cover transition-opacity duration-1000 absolute inset-0 h-full w-full" sizes="100vw" - :src="'/storage/' + slide.image.url" + :src="slide.image.url ? '/storage/' + slide.image.url : 'img/thumbnail-3.png'" :loading="index === 0 ? 'eager' : 'lazy'" :class="{ 'opacity-1': currentIndex === index, 'opacity-0': currentIndex !== index }" />