feat: Add MinIO storage support and update image URLs
All checks were successful
Deploy Production (merchbay.com) / deploy (push) Successful in 2m54s

- Implemented MinIO storage driver in AppServiceProvider for S3-compatible storage.
- Added helper functions to generate MinIO URLs for files and images.
- Updated filesystem configuration to include MinIO settings.
- Modified site configuration to include MinIO URL.
- Enhanced Docker Compose configuration for local development with MinIO.
- Updated various Blade templates to use MinIO URLs for images instead of local paths.
- Ensured all image references in views are now pointing to MinIO storage.
This commit is contained in:
Frank John Begornia
2026-05-13 00:25:23 +08:00
parent 6c97e60805
commit ad8d8d7564
28 changed files with 229 additions and 76 deletions

View File

@@ -12,7 +12,7 @@
<div class="row">
<div class="col-lg-12 text-center">
<div class="store-banner border-top">
<img src="{{ config('site_config.uploads') .'teamstore/' .$store_array[0]->ImageFolder .'/' .$store_array[0]->StoreBanner }}"
<img src="{{ minio_url('teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner) }}"
id="storeBanner" class="shadow-sm img-fluid w-100" alt="{{ $store_array[0]->StoreName }}" />
</div>
</div>
@@ -130,7 +130,7 @@
<a
href="{{ url('store') }}/{{ $store_array[0]->StoreUrl }}/product/{{ $product->ProductURL }}">
<div class="product-image">
<img src="{{ config('site_config.images_url') }}/{{ $filename }}"
<img src="{{ config('filesystems.disks.minio.url') }}/crewsportswear/images/{{ $filename }}"
class="d-block border shadow-sm" alt="{{ $product->ProductName }}" />
</div>
</a>

View File

@@ -270,7 +270,7 @@
<div class="row">
<div class="col-lg-12 text-center">
<div class="store-banner border-top">
<img src="{{ config('site_config.uploads') .'teamstore/' .$store_array[0]->ImageFolder .'/' .$store_array[0]->StoreBanner }}"
<img src="{{ minio_url('teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner) }}"
id="storeBanner" class="shadow-sm img-fluid w-100" alt="..." />
</div>
</div>
@@ -308,13 +308,13 @@
<div data-bs-target="#demo" data-bs-slide-to="{{ $i }}"
class="item active">
<img
src="{{ config('site_config.images_url') }}/{{ $thumbnail->Image }}" />
src="{{ config('filesystems.disks.minio.url') }}/crewsportswear/images/{{ $thumbnail->Image }}" />
</div>
@else
<div data-bs-target="#demo" data-bs-slide-to="{{ $i }}"
class="item">
<img
src="{{ config('site_config.images_url') }}/{{ $thumbnail->Image }}" />
src="{{ config('filesystems.disks.minio.url') }}/crewsportswear/images/{{ $thumbnail->Image }}" />
</div>
@endif
@define $i++
@@ -330,12 +330,12 @@
@foreach ($thumbnails_array as $thumbnail)
@if ($j == 0)
<div class="carousel-item active">
<img src="{{ config('site_config.images_url') }}/{{ $thumbnail->Image }}"
<img src="{{ config('filesystems.disks.minio.url') }}/crewsportswear/images/{{ $thumbnail->Image }}"
class="img-fluid" />
</div>
@else
<div class="carousel-item">
<img src="{{ config('site_config.images_url') }}/{{ $thumbnail->Image }}"
<img src="{{ config('filesystems.disks.minio.url') }}/crewsportswear/images/{{ $thumbnail->Image }}"
class="img-fluid" />
</div>
@endif
@@ -394,7 +394,7 @@
<a
href="{{ url('store') . '/' . $product->StoreUrl . '/product/' . $product->ProductURL }}">
<div class="store-logo">
<img src="{{ config('site_config.images_url') . '/' . $product->Image }}"
<img src="{{ config('filesystems.disks.minio.url') }}/crewsportswear/images/{{ $product->Image }}"
alt="{{ $product->ProductName }}" class="d-block border shadow-sm">
</div>
<div class="store-name text-truncate">{{ $product->ProductName }}</div>

View File

@@ -17,7 +17,7 @@
<a href="#">
<div class="store-logo password-protected" data-store-id="{{ $store->Id }}"
data-store-url="{{ $store->StoreUrl }}">
<img src="{{ config('site_config.uploads') . 'teamstore/' . $store->ImageFolder . '/' . $store->StoreLogo }}"
<img src="{{ minio_url('teamstore/' . $store->ImageFolder . '/' . $store->StoreLogo) }}"
class="d-block" alt="{{ $store->StoreName }}" />
<div class="store-locked">
<i class="fa fa-lock"></i>
@@ -29,7 +29,7 @@
@else
<a href="{{ url('store') . '/' . $store->StoreUrl }}">
<div class="store-logo">
<img src="{{ config('site_config.uploads') . 'teamstore/' . $store->ImageFolder . '/' . $store->StoreLogo }}"
<img src="{{ minio_url('teamstore/' . $store->ImageFolder . '/' . $store->StoreLogo) }}"
class="d-block" alt="{{ $store->StoreName }}" />
</div>
<div class="store-name">{{ $store->StoreName }}</div>