diff --git a/app/Http/Controllers/Dashboard/Category/Controller.php b/app/Http/Controllers/Dashboard/Category/Controller.php index cf5e35d..c0ea18d 100755 --- a/app/Http/Controllers/Dashboard/Category/Controller.php +++ b/app/Http/Controllers/Dashboard/Category/Controller.php @@ -13,6 +13,7 @@ use App\Jobs\Dashboard\Category\Store as StoreJob; use App\Jobs\Dashboard\Category\Update as UpdateJob; use App\Models\Characteristic; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Storage; class Controller extends ExController @@ -168,29 +169,9 @@ class Controller extends ExController */ public function position_save(Request $request) { - foreach ($request->categories as $category) { - $cat = Category::find($category['id']); - $cat->parent_id = $category['parent_id'] === 'null' ? null : $category['parent_id']; - $cat->position = $category['position']; - $cat->save(); - if (!empty($category['children'])) { - foreach ($category['children'] as $c) { - $cc = Category::find($c['id']); - $cc->parent_id = $c['parent_id'] === 'null' ? null : $c['parent_id']; - $cc->position = $c['position']; - $cc->save(); - - if (!empty($c['children'])) { - foreach ($c['children'] as $ccc) { - $cccc = Category::find($ccc['id']); - $cccc->parent_id = $ccc['parent_id'] === 'null' ? null : $ccc['parent_id']; - $cccc->position = $ccc['position']; - $cccc->save(); - } - } - } - } - } + DB::transaction(function () use ($request) { + $this->saveCategoryPositions($request->input('categories', []), null); + }); $this->info(trans('admin.messages.updated')); @@ -199,6 +180,34 @@ class Controller extends ExController ]); } + private function saveCategoryPositions(array $categories, $parentId = null): void + { + foreach (array_values($categories) as $index => $category) { + $cat = Category::find($category['id'] ?? null); + + if (!$cat) { + continue; + } + + $cat->parent_id = $this->normalizeParentId($parentId); + $cat->position = $index + 1; + $cat->save(); + + if (!empty($category['children']) && is_array($category['children'])) { + $this->saveCategoryPositions($category['children'], $cat->id); + } + } + } + + private function normalizeParentId($parentId) + { + if (in_array($parentId, [null, '', 'null', 'NULL', 0, '0'], true)) { + return null; + } + + return $parentId; + } + /** * @return array diff --git a/app/Http/Controllers/Dashboard/Compilation/Controller.php b/app/Http/Controllers/Dashboard/Compilation/Controller.php index 9bb9b94..6ef69ef 100755 --- a/app/Http/Controllers/Dashboard/Compilation/Controller.php +++ b/app/Http/Controllers/Dashboard/Compilation/Controller.php @@ -45,23 +45,22 @@ class Controller extends ExController return view('dashboard.compilations.index', compact('compilations')); } -// public function store(StoreRequest $request) -// { -// if ($request->isMethod('get')) { -// $this->authorize('create', 'compilations'); -// -//// $this->authorize('content-manager'); -// $categories = $this->categories->where('parent_id', null)->get(); -// return view('dashboard.compilations.store', compact('categories')); -// } -// -// $this->dispatchSync(new StoreJob($request)); -// -// $this->success(trans('admin.messages.created')); -// return response()->json([ -// 'status' => true -// ]); -// } + public function store(StoreRequest $request) + { + if ($request->isMethod('get')) { + $this->authorize('create', 'compilations'); + + $categories = $this->categories->whereNull('parent_id')->orderBy('position')->get(); + return view('dashboard.compilations.store', compact('categories')); + } + + $this->dispatchSync(new StoreJob($request)); + + $this->success(trans('admin.messages.created')); + return response()->json([ + 'status' => true + ]); + } /** * @param Compilation $compilation @@ -74,17 +73,20 @@ class Controller extends ExController if ($request->isMethod('get')) { // $this->authorize('content-manager'); - $compilation->loadMissing(['products:id,name,poster']); - $this->authorize('update', 'compilations'); - foreach ($compilation->products as $product) { - $product->poster = '/'. $product->poster; + $products = $compilation->dashboardProducts() + ->select('products.id', 'products.name', 'products.poster') + ->get(); + + foreach ($products as $product) { + $product->poster = $product->getPoster(); $product->name = $product->name['ru']; } + $compilation->setRelation('products', $products); - $categories = $this->categories->where('parent_id', false)->get(); + $categories = $this->categories->whereNull('parent_id')->orderBy('position')->get(); return view('dashboard.compilations.update', compact('compilation', 'categories')); @@ -104,12 +106,34 @@ class Controller extends ExController */ public function search(Request $request) { - $query = $request->name; + $query = trim((string) $request->name); + $categoryId = (int) $request->get('category_id'); - $product = $this->products->published()->where('name->ru', 'like', $query . '%')->get()->map(function ($product) { + $product = $this->products + ->newQuery() + ->whereNull('child_id') + ->when($categoryId > 0, function ($builder) use ($categoryId) { + $categoryIds = $this->categoryIdsWithChildren($categoryId); + + $builder->whereHas('categories', function ($category) use ($categoryIds) { + $category->whereIn('categories.id', $categoryIds); + }); + }) + ->when($query !== '', function ($builder) use ($query) { + $builder->where(function ($search) use ($query) { + $search + ->where('name->ru', 'like', '%' . $query . '%') + ->orWhere('name->uz', 'like', '%' . $query . '%') + ->orWhere('article_number', 'like', '%' . $query . '%'); + }); + }) + ->orderBy('id', 'desc') + ->limit(30) + ->get() + ->map(function ($product) { return [ 'id' => $product->id, - 'poster' => '/' . $product->poster, + 'poster' => $product->getPoster(), 'name' => $product->name['ru'] ]; }); @@ -120,6 +144,27 @@ class Controller extends ExController ]); } + private function categoryIdsWithChildren(int $categoryId): array + { + $category = Category::with('children.children')->find($categoryId); + + if (!$category) { + return []; + } + + $ids = [$category->id]; + + foreach ($category->children as $child) { + $ids[] = $child->id; + + foreach ($child->children as $grandChild) { + $ids[] = $grandChild->id; + } + } + + return $ids; + } + /** * @param Compilation $compilation diff --git a/app/Http/Controllers/Dashboard/Product/Controller.php b/app/Http/Controllers/Dashboard/Product/Controller.php index b2d05e1..9be23af 100755 --- a/app/Http/Controllers/Dashboard/Product/Controller.php +++ b/app/Http/Controllers/Dashboard/Product/Controller.php @@ -283,11 +283,7 @@ class Controller extends ExController foreach ($product->childrens as $children) { foreach ($children->screens as $screen) { $screen->sizeText = $screen->size / 1024 . 'Kb'; - if (env('FILESYSTEM_DISK') == 's3') { - $screen->url = Storage::url($screen->path); - } else { - $screen->url = '/' . $screen->path; - } + $screen->url = Storage::url($screen->path); $screen->type = "image/jpeg"; } } @@ -318,15 +314,15 @@ class Controller extends ExController try { $this->dispatchSync(new UpdateJob($product, $request)); $this->dispatchSync(new ChildUpdateJob($request, $product)); + $this->charSync($product, $request->characteristics); + $this->dispatchSync(new DeletesJob($request)); } catch (Exception $e) { return Response::json([ - "messages" => $e->getMessage() - ]); + 'status' => false, + 'messages' => $e->getMessage() + ], 500); } - $this->charSync($product, $request->characteristics); - - $this->dispatchSync(new DeletesJob($request)); $this->info(trans('admin.messages.updated')); return response()->json([ @@ -394,8 +390,12 @@ class Controller extends ExController $article_number = empty($request->get('article_number')) ? null : $request->get('article_number'); if ($category) { - $categoryFind = Category::find($category); - list($categoryFind, $category_id) = $this->categoryQuery->getCategoriesAndCategoryMainId($categoryFind); + $categoryFind = Category::withTrashed()->find($category); + if ($categoryFind) { + list($categoryFind, $category_id) = $this->categoryQuery->getCategoriesAndCategoryMainId($categoryFind); + } else { + $category_id = []; + } } else { $category_id = []; } diff --git a/app/Http/Requests/Dashboard/Category/Update.php b/app/Http/Requests/Dashboard/Category/Update.php index 80f2727..ce28007 100755 --- a/app/Http/Requests/Dashboard/Category/Update.php +++ b/app/Http/Requests/Dashboard/Category/Update.php @@ -40,14 +40,14 @@ class Update extends FormRequest return Str::slug($this->get('name')['uz']); } - public function getImage(Category $category): string + public function getImage(Category $category): ?string { if ($this->hasFile('image')) { Storage::delete($category->image); return (string) $this->file('image')->store('uploads/categories'); - } else { - return 'null'; } + + return $category->image; } public function getFilterPower() diff --git a/app/Http/Requests/Dashboard/Compilation/Store.php b/app/Http/Requests/Dashboard/Compilation/Store.php index c313ba3..c83cb56 100755 --- a/app/Http/Requests/Dashboard/Compilation/Store.php +++ b/app/Http/Requests/Dashboard/Compilation/Store.php @@ -22,7 +22,8 @@ class Store extends FormRequest return [ 'title' => 'array', 'title.*' => 'required', - 'published' => 'required', + 'published' => 'nullable', + 'products' => 'nullable|array', //'category_id' => 'required' ]; } @@ -40,7 +41,7 @@ class Store extends FormRequest */ public function getPublished(): bool { - return $this->get('published'); + return filter_var($this->get('published', false), FILTER_VALIDATE_BOOLEAN); } @@ -49,8 +50,8 @@ class Store extends FormRequest */ public function getCategory() { - if ($this->get('category_id')) { - $this->get('category_id'); + if ($this->get('category_id') && $this->get('category_id') != 0) { + return $this->get('category_id'); } return null; diff --git a/app/Http/Requests/Dashboard/Compilation/Update.php b/app/Http/Requests/Dashboard/Compilation/Update.php index dc01cc2..c5502e5 100755 --- a/app/Http/Requests/Dashboard/Compilation/Update.php +++ b/app/Http/Requests/Dashboard/Compilation/Update.php @@ -22,7 +22,8 @@ class Update extends FormRequest return [ 'title' => 'array', 'title.*' => 'required', - 'published' => 'required', + 'published' => 'nullable', + 'products' => 'nullable|array', //'category_id' => 'required', ]; } @@ -40,14 +41,14 @@ class Update extends FormRequest */ public function getPublished(): bool { - return $this->get('published'); + return filter_var($this->get('published', false), FILTER_VALIDATE_BOOLEAN); } public function getCategory() { - if ($this->get('category_id')) { - $this->get('category_id'); + if ($this->get('category_id') && $this->get('category_id') != 0) { + return $this->get('category_id'); } return null; diff --git a/app/Jobs/Dashboard/Category/Update.php b/app/Jobs/Dashboard/Category/Update.php index 96c0c5e..681dd78 100755 --- a/app/Jobs/Dashboard/Category/Update.php +++ b/app/Jobs/Dashboard/Category/Update.php @@ -35,8 +35,8 @@ class Update $category->name = $request->getName(); $category->slug = $request->getSlug(); $category->position = $request->getPosition(); - $category->image = $request->getImage($category); - // $category->parent_id = $request->getParentId(); + $category->image = $this->image; + $category->parent_id = $request->getParentId(); // $category->popular = $request->getPopular(); $category->published = $request->getPublished(); $category->is_filter_power = $request->getFilterPower(); @@ -45,8 +45,6 @@ class Update $category->keywords = $request->keywords; $category->title_seo = $request->title_seo; - $category->image = $this->image; - $category->save(); if (isset($request->brands)) { diff --git a/app/Jobs/Dashboard/Compilation/Store.php b/app/Jobs/Dashboard/Compilation/Store.php index a4548c2..1426ba3 100755 --- a/app/Jobs/Dashboard/Compilation/Store.php +++ b/app/Jobs/Dashboard/Compilation/Store.php @@ -36,8 +36,10 @@ class Store $map = array_map(function ($product) { return $product['id']; - }, $this->request->products); + }, $this->request->products ?? []); - $compilation->products()->attach($map); + if (!empty($map)) { + $compilation->products()->attach($map); + } } } diff --git a/app/Jobs/Dashboard/Compilation/Update.php b/app/Jobs/Dashboard/Compilation/Update.php index 9976a19..9b6801a 100755 --- a/app/Jobs/Dashboard/Compilation/Update.php +++ b/app/Jobs/Dashboard/Compilation/Update.php @@ -35,20 +35,12 @@ class Update 'category_id' => $this->request->getCategory() ]); - $detach = Compilation::find($this->compilation->id); - $detach->loadMissing(['products:id']); - $compilation = Compilation::find($this->compilation->id); $map = array_map(function ($product) { return $product['id']; - }, $this->request->products); + }, $this->request->products ?? []); - $detach = array_map(function ($product) { - return $product['id']; - }, $detach->products->toArray()); - - $compilation->products()->detach($detach); - $compilation->products()->attach($map); + $compilation->products()->sync($map); } } diff --git a/app/Models/Brand.php b/app/Models/Brand.php index f8a8811..8aae6fc 100755 --- a/app/Models/Brand.php +++ b/app/Models/Brand.php @@ -62,12 +62,7 @@ class Brand extends Model public function getImage(): string { if (!empty($this->image)) { - if (in_array(config('filesystems.default'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - ; - - return (string) '/' . $this->image; + return Storage::url($this->image); } return (string) 'images/no_brend.png'; diff --git a/app/Models/Category.php b/app/Models/Category.php index f66d0f8..a2bddb0 100755 --- a/app/Models/Category.php +++ b/app/Models/Category.php @@ -147,11 +147,7 @@ class Category extends Model public function getImage(): string { if (!in_array($this->image, ['null', null])) { - if (in_array(config('filesystems.default'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - - return config('app.url') . '/' . $this->image; + return Storage::url($this->image); } return config('app.url') . '/images/nophoto.jpg'; diff --git a/app/Models/Compilation.php b/app/Models/Compilation.php index deab70e..3824a8d 100755 --- a/app/Models/Compilation.php +++ b/app/Models/Compilation.php @@ -58,6 +58,11 @@ class Compilation extends Model return $this->belongsToMany(Product::class, 'compilation_products')->where('published', true)->limit(10); } + public function dashboardProducts() + { + return $this->belongsToMany(Product::class, 'compilation_products'); + } + /** diff --git a/app/Models/ContractTemplate.php b/app/Models/ContractTemplate.php index e2290fa..c44479e 100755 --- a/app/Models/ContractTemplate.php +++ b/app/Models/ContractTemplate.php @@ -30,12 +30,9 @@ class ContractTemplate extends Model public function full_path(): string { if (!empty($this->path)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->path); - } - return '/' . $this->path; + return Storage::url($this->path); } - return asset('storage/' . $this->path); + return null; } } diff --git a/app/Models/File.php b/app/Models/File.php index 5bffd50..732c1af 100755 --- a/app/Models/File.php +++ b/app/Models/File.php @@ -47,10 +47,7 @@ class File extends Model public function getPath() { if (!empty($this->path)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->path); - } - return (string) $this->path; + return Storage::url($this->path); } return null; @@ -62,10 +59,7 @@ class File extends Model public function getPathThumb() { if (!empty($this->path_thumb)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->path_thumb); - } - return (string) $this->path_thumb; + return Storage::url($this->path_thumb); } return null; diff --git a/app/Models/OrderContract.php b/app/Models/OrderContract.php index 096c7c0..a2f9f3b 100755 --- a/app/Models/OrderContract.php +++ b/app/Models/OrderContract.php @@ -36,11 +36,7 @@ class OrderContract extends Model public function getPath() { if (!empty($this->path)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->path); - } - - return env('APP_URL') . '/storage/' . $this->path; + return Storage::url($this->path); } return null; diff --git a/app/Models/Partner.php b/app/Models/Partner.php index 0fbac3a..4c93e35 100755 --- a/app/Models/Partner.php +++ b/app/Models/Partner.php @@ -52,11 +52,7 @@ class Partner extends Model public function getImage(): string { if (!empty($this->image)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - - return (string) $this->image; + return Storage::url($this->image); } return (string) 'images/no_brend.png'; diff --git a/app/Models/PaymentSystemItem.php b/app/Models/PaymentSystemItem.php index 51d6a5a..2371853 100755 --- a/app/Models/PaymentSystemItem.php +++ b/app/Models/PaymentSystemItem.php @@ -70,11 +70,7 @@ class PaymentSystemItem extends Model public function getLogo(): string { if (!empty($this->logo)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->logo); - } - - return env('APP_URL').'/'.$this->logo; + return Storage::url($this->logo); } return '/images/nophoto.jpg'; diff --git a/app/Models/Post.php b/app/Models/Post.php index 89c9906..5bd8baf 100755 --- a/app/Models/Post.php +++ b/app/Models/Post.php @@ -56,11 +56,7 @@ class Post extends Model public function getImage(): string { if (!empty($this->image)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - - return $this->image; + return Storage::url($this->image); } return '/images/nophoto.jpg'; diff --git a/app/Models/Product.php b/app/Models/Product.php index dd65d12..8a35386 100755 --- a/app/Models/Product.php +++ b/app/Models/Product.php @@ -236,10 +236,7 @@ class Product extends Model public function getPoster(): string { if (!empty($this->poster)) { - if (in_array(config('filesystems.default'), ['s3', 'minio'])) { - return Storage::url($this->poster); - } - return config('app.url') . '/' . $this->poster; + return Storage::url($this->poster); } return config('app.url') . '/images/no_product.jpg'; @@ -248,10 +245,7 @@ class Product extends Model public function getDataSheet() { if (!empty($this->data_sheet) and ($this->data_sheet != null and $this->data_sheet != "null")) { - if (in_array(config('filesystems.default'), ['s3', 'minio'])) { - return Storage::url($this->data_sheet); - } - return config('app.url') . '/' . $this->data_sheet; + return Storage::url($this->data_sheet); } return null; } @@ -259,10 +253,7 @@ class Product extends Model public function getPosterThumb(): string { if (!empty($this->poster_thumb)) { - if (in_array(config('filesystems.default'), ['s3', 'minio'])) { - return Storage::url($this->poster_thumb); - } - return config('app.url') . '/' . $this->poster_thumb; + return Storage::url($this->poster_thumb); } return config('app.url') . '/images/no_product.jpg'; diff --git a/app/Models/Screen.php b/app/Models/Screen.php index eb6fa6e..7474fca 100755 --- a/app/Models/Screen.php +++ b/app/Models/Screen.php @@ -58,10 +58,7 @@ class Screen extends Model public function getPath(): string { if (!empty($this->path)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->path); - } - return (string) $this->path; + return Storage::url($this->path); } return (string) 'image/no_screen.png'; @@ -73,10 +70,7 @@ class Screen extends Model public function getPathThumb(): string { if (!empty($this->path_thumb)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->path_thumb); - } - return (string) $this->path_thumb; + return Storage::url($this->path_thumb); } return (string) 'image/no_screen_thumb.png'; diff --git a/app/Models/Service.php b/app/Models/Service.php index 48c18a6..2e54095 100755 --- a/app/Models/Service.php +++ b/app/Models/Service.php @@ -61,10 +61,7 @@ class Service extends Model public function getImage(): string { if (!empty($this->image)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - return (string) $this->image; + return Storage::url($this->image); } return (string) 'images/no_brend.png'; diff --git a/app/Models/Slider.php b/app/Models/Slider.php index a8f4f4f..613dea5 100755 --- a/app/Models/Slider.php +++ b/app/Models/Slider.php @@ -45,10 +45,7 @@ class Slider extends Model public function getImage(): string { if (!empty($this->image)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - return $this->image; + return Storage::url($this->image); } return '/images/nophoto.jpg'; diff --git a/app/Models/SpecialOffer.php b/app/Models/SpecialOffer.php index 6621978..db67bf0 100755 --- a/app/Models/SpecialOffer.php +++ b/app/Models/SpecialOffer.php @@ -47,10 +47,7 @@ class SpecialOffer extends Model public function getImage(): string { if (!empty($this->image)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - return (string) $this->image; + return Storage::url($this->image); } return (string) 'images/nophoto.png'; diff --git a/app/Models/UsefulInfo.php b/app/Models/UsefulInfo.php index 3becae2..2b2c39b 100755 --- a/app/Models/UsefulInfo.php +++ b/app/Models/UsefulInfo.php @@ -44,10 +44,7 @@ class UsefulInfo extends Model public function getImage(): string { if (!empty($this->image)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->image); - } - return (string) $this->image; + return Storage::url($this->image); } return (string) 'images/no_brend.png'; diff --git a/app/Models/UsefulInfoItem.php b/app/Models/UsefulInfoItem.php index 6f0f1a1..cf1b3b2 100755 --- a/app/Models/UsefulInfoItem.php +++ b/app/Models/UsefulInfoItem.php @@ -63,10 +63,7 @@ class UsefulInfoItem extends Model public function getFile(): string { if (!empty($this->file_url)) { - if (in_array(env('FILESYSTEM_DISK'), ['s3', 'minio'])) { - return Storage::url($this->file_url); - } - return '/' . $this->file_url; + return Storage::url($this->file_url); } return '/images/no_product.jpg'; diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index 2b502ce..bde398a 100755 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -9,11 +9,13 @@ server { root /quyoshli/public; index index.php; - # MinIO bucket proxy — serves files over HTTPS - location /quyoshli/ { - proxy_pass http://quyoshli-minio:9100/quyoshli/; - proxy_set_header Host $host; + # Final MinIO proxy fix - ^~ is mandatory to override regex blocks + location ^~ /quyoshli/ { + proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://quyoshli-minio:9100; proxy_buffering off; } @@ -22,10 +24,6 @@ server { try_files $uri /$uri /index.php$is_args$args; } - if (!-e $request_filename) { - rewrite ^.*$ /index.php last; - } - location ~ \.php$ { fastcgi_pass quyoshli:9000; fastcgi_index index.php; diff --git a/public/uploads/posters/thumbs/2026/04/16/dvdGcrB4Dsh87q1xvn6iz7vxGjcyCAa9CyS0R9VW.png b/public/uploads/posters/thumbs/2026/04/16/dvdGcrB4Dsh87q1xvn6iz7vxGjcyCAa9CyS0R9VW.png new file mode 100644 index 0000000..039b620 Binary files /dev/null and b/public/uploads/posters/thumbs/2026/04/16/dvdGcrB4Dsh87q1xvn6iz7vxGjcyCAa9CyS0R9VW.png differ diff --git a/public/uploads/screens/thumbs/2026/04/16/eTKI1DN2l4daHZbU9W9Pev3JFPcrsSjoY5vPrb9F.png b/public/uploads/screens/thumbs/2026/04/16/eTKI1DN2l4daHZbU9W9Pev3JFPcrsSjoY5vPrb9F.png new file mode 100644 index 0000000..40830d5 Binary files /dev/null and b/public/uploads/screens/thumbs/2026/04/16/eTKI1DN2l4daHZbU9W9Pev3JFPcrsSjoY5vPrb9F.png differ diff --git a/resources/js/components/Compilation/Store.vue b/resources/js/components/Compilation/Store.vue index 5680edc..1aa2368 100755 --- a/resources/js/components/Compilation/Store.vue +++ b/resources/js/components/Compilation/Store.vue @@ -34,7 +34,7 @@
-