diff --git a/README.md b/README.md index db2db3b..cdb2279 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ php artisan serv ```bash php artisan seeding:prepare ``` -- Seeding image for models: [Group, Category, Post, Products] +- Seeding image for models: [Group, Category, Post, Product, Slider] ```bash pa seeding:image Product digital ``` diff --git a/app/Console/Commands/SeedingImage.php b/app/Console/Commands/SeedingImage.php index 6371f37..d478c4f 100644 --- a/app/Console/Commands/SeedingImage.php +++ b/app/Console/Commands/SeedingImage.php @@ -6,6 +6,7 @@ use App\Models\Category; use App\Models\Group; use App\Models\Post; use App\Models\Product; +use App\Models\Slider; use Illuminate\Console\Command; use Spatie\Image\Enums\AlignPosition; use Spatie\Image\Enums\Fit; @@ -47,6 +48,7 @@ class SeedingImage extends Command $tempName = explode('.', $name); $item->name = readable($tempName[0]) . ' model ' . $item->id; } + $item->status = 1; $item->addMedia($images[0]->getRealPath()) ->preservingOriginal() //middle method ->toMediaCollection(); //finishing method @@ -99,15 +101,32 @@ class SeedingImage extends Command $item->save(); } break; + case 'Slider': + foreach (Slider::all() as $item) { + $this->info('Slider: ' . $item->name . ' adding image...'); + shuffle($images); + if (!\File::exists(storage_path().'/app/public/sliders/')){ + mkdir(storage_path().'/app/public/sliders/', 0755, true); + } + \File::copy($images[0]->getRealPath(),storage_path().'/app/public/sliders/' . $images[0]->getFilename()); + $item->image = $images[0]->getFilename(); + $i = Image::load($images[0]->getRealPath()) + ->optimize() + ->format('webp'); + $i->save(storage_path() . '/app/public/sliders/optimized-'. $item->image); + $item->status = 1; + $item->save(); + } + break; case 'Post': foreach (Post::all() as $item) { $this->info('post: ' . $item->id . ' adding image...'); shuffle($images); - $name = $images[0]->getFilename(); $item->addMedia($images[0]->getRealPath()) ->preservingOriginal() //middle method ->toMediaCollection(); //finishing method $item->save(); + $item->status = 1; } break; default: diff --git a/database/factories/ProductFactory.php b/database/factories/ProductFactory.php index cf538ea..e3a8049 100644 --- a/database/factories/ProductFactory.php +++ b/database/factories/ProductFactory.php @@ -26,6 +26,9 @@ class ProductFactory extends Factory 'user_id' => 1, 'category_id' => $rand, 'description' => $this->faker->realText(600), + 'stock_quantity' => rand(1,7), + 'price' => rand(1,100), + 'sku' => $this->faker->unique()->ean8(), ]; } } diff --git a/database/factories/SliderFactory.php b/database/factories/SliderFactory.php index 8c5922c..571f3d7 100644 --- a/database/factories/SliderFactory.php +++ b/database/factories/SliderFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use App\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; /** @@ -17,7 +18,8 @@ class SliderFactory extends Factory public function definition(): array { return [ - // + 'body' => $this->faker->paragraph(), + 'user_id' => 1, ]; } } diff --git a/database/migrations/2024_05_07_124607_create_sliders_table.php b/database/migrations/2024_05_07_124607_create_sliders_table.php index d1ca8bc..f90e4ad 100644 --- a/database/migrations/2024_05_07_124607_create_sliders_table.php +++ b/database/migrations/2024_05_07_124607_create_sliders_table.php @@ -14,7 +14,7 @@ return new class extends Migration Schema::create('sliders', function (Blueprint $table) { $table->id(); $table->text('body'); - $table->string('image'); + $table->string('image')->nullable(); $table->string('tag')->nullable(); $table->unsignedBigInteger('user_id'); $table->unsignedTinyInteger('status')->default(0); diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 3cbe2d1..111ba2f 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -41,6 +41,7 @@ class DatabaseSeeder extends Seeder VisitorSeeder::class, TransportSeeder::class, MenuSeeder::class, + SliderSeeder::class, ] ); } diff --git a/database/seeders/GfxSeeder.php b/database/seeders/GfxSeeder.php index edfd66a..91a7467 100644 --- a/database/seeders/GfxSeeder.php +++ b/database/seeders/GfxSeeder.php @@ -26,13 +26,13 @@ class GfxSeeder extends Seeder 'key'=>'primary', 'label'=>'Primary color', 'system'=>'1', - 'value'=> '#6e0000' + 'value'=> '#03b2b5' ], [ 'key'=>'secondary', 'label'=>'Secondary color', 'system'=>'1', - 'value'=> '#ff0000' + 'value'=> '#0064c2' ], [ 'key'=>'text', diff --git a/database/seeders/SliderSeeder.php b/database/seeders/SliderSeeder.php index 27447ed..bab5a11 100644 --- a/database/seeders/SliderSeeder.php +++ b/database/seeders/SliderSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use App\Models\Slider; use Illuminate\Database\Console\Seeds\WithoutModelEvents; use Illuminate\Database\Seeder; @@ -13,5 +14,6 @@ class SliderSeeder extends Seeder public function run(): void { // + Slider::factory(4)->create(); } } diff --git a/resources/views/segments/menu/AplMenu/AplMenu.blade.php b/resources/views/segments/menu/AplMenu/AplMenu.blade.php index c4875cc..8b24451 100644 --- a/resources/views/segments/menu/AplMenu/AplMenu.blade.php +++ b/resources/views/segments/menu/AplMenu/AplMenu.blade.php @@ -89,6 +89,11 @@
  • + + @if(cardCount() > 0) + {{cardCount()}} + @endif +
  • diff --git a/routes/web.php b/routes/web.php index 2b2a627..9543712 100644 --- a/routes/web.php +++ b/routes/web.php @@ -382,6 +382,7 @@ Route::middleware([\App\Http\Middleware\VisitorCounter::class]) Route::get('/attachments', [\App\Http\Controllers\ClientController::class,'attachments'])->name('attachments'); Route::get('/attachment/{attachment}', [\App\Http\Controllers\ClientController::class,'attachment'])->name('attachment'); Route::get('/tag/{slug}', [\App\Http\Controllers\ClientController::class,'tag'])->name('tag'); // wip + Route::get('/group/{slug}', [\App\Http\Controllers\ClientController::class,'group'])->name('group'); // wip Route::get('/product/{product}', [\App\Http\Controllers\ClientController::class,'product'])->name('product'); Route::get('/video/{clip}', [\App\Http\Controllers\ClientController::class,'clip'])->name('clip'); Route::get('/category/{category}', [\App\Http\Controllers\ClientController::class,'category'])->name('category');