Compare commits
3 Commits
91e325b248
...
7baffc9cb5
| Author | SHA1 | Date |
|---|---|---|
|
|
7baffc9cb5 | |
|
|
87096be7cc | |
|
|
7017d38f12 |
|
|
@ -0,0 +1,13 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ContactController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
return view('contact.v1');
|
||||
}
|
||||
}
|
||||
|
|
@ -27,7 +27,9 @@ class BrandRepository
|
|||
|
||||
return Brand::whereIn('name', $ids)->orderBy('priority', 'desc')
|
||||
->where('priority', '>', 0)
|
||||
->orderBy('name', 'asc')->get();
|
||||
->orderBy('name', 'asc')
|
||||
|
||||
->get();
|
||||
}
|
||||
|
||||
return Brand::orderBy('priority', 'desc')->orderBy('name', 'asc')
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
<?php
|
||||
|
||||
namespace App\View\Components;
|
||||
|
||||
use App\Repositories\Catalog\BrandRepository;
|
||||
use Closure;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
||||
class FooterBrands extends Component
|
||||
{
|
||||
public $brands;
|
||||
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*/
|
||||
public function __construct(BrandRepository $brandRepository)
|
||||
{
|
||||
$this->brands = $brandRepository->getList([]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the view / contents that represent the component.
|
||||
*/
|
||||
public function render(): View|Closure|string
|
||||
{
|
||||
return view('components.footer-brands', ['brands' => $this->brands]);
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,8 @@ namespace App\View\Components\Layout;
|
|||
|
||||
use App\Repositories\Catalog\CategoryRepository;
|
||||
use App\Repositories\Catalog\GenderRepository;
|
||||
use App\Repositories\Catalog\BrandRepository;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Contracts\View\View;
|
||||
use Illuminate\View\Component;
|
||||
|
|
@ -13,6 +15,7 @@ class NavbarCategory extends Component
|
|||
|
||||
public $genders = [];
|
||||
public $categories = [];
|
||||
public $brands = [];
|
||||
/**
|
||||
* Create a new component instance.
|
||||
*/
|
||||
|
|
@ -22,13 +25,18 @@ class NavbarCategory extends Component
|
|||
|
||||
$genderRepository = new GenderRepository();
|
||||
$categoryRepository = new CategoryRepository();
|
||||
$brandsRepository = new BrandRepository();
|
||||
|
||||
|
||||
$this->genders = $genderRepository->getList([]);
|
||||
$this->genders = collect($this->genders)->chunk(7);
|
||||
|
||||
$this->categories = $categoryRepository->getList([]);
|
||||
// chunk
|
||||
$this->categories = collect($this->categories)->chunk(7);
|
||||
|
||||
|
||||
$this->brands = $brandsRepository->getList([]);
|
||||
$this->brands = collect($this->brands)->chunk(7);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Contact us',
|
||||
'subtitle' => 'Feel free to contact us and we will be happy to help you!',
|
||||
|
||||
// Contact details section
|
||||
'location_title' => 'Location',
|
||||
'location_address' => 'Jalan Pintu Air Raya No.11 B,D,E,F,G RT.8/RW.1, Ps. Baru, Kecamatan Sawah Besar, Kota Jakarta Pusat, Daerah Khusus Ibukota Jakarta 10710',
|
||||
'location_link' => 'Get directions',
|
||||
|
||||
'phone_title' => 'Phone',
|
||||
'phone_number' => '(021) 3500703',
|
||||
'phone_whatsapp' => '0818-4343-01',
|
||||
|
||||
'email_title' => 'Email',
|
||||
'email_address' => 'sales@asiagolf.id',
|
||||
|
||||
// Contact form
|
||||
'form_title' => 'Send us a message',
|
||||
'form_subtitle' => 'We usually respond within 24 hours',
|
||||
|
||||
'name_label' => 'Name',
|
||||
'name_placeholder' => 'Your name',
|
||||
|
||||
'email_label' => 'Email',
|
||||
'email_placeholder' => 'your.email@example.com',
|
||||
|
||||
'subject_label' => 'Subject',
|
||||
'subject_placeholder' => 'What is this about?',
|
||||
|
||||
'message_label' => 'Message',
|
||||
'message_placeholder' => 'Tell us more about your inquiry...',
|
||||
|
||||
'submit_button' => 'Send message',
|
||||
|
||||
// Social media
|
||||
'social_title' => 'Follow us',
|
||||
'social_instagram' => 'Instagram',
|
||||
'social_facebook' => 'Facebook',
|
||||
'social_twitter' => 'Twitter',
|
||||
|
||||
// Success messages
|
||||
'success_title' => 'Thank you for your message!',
|
||||
'success_message' => 'We have received your message and will get back to you soon.',
|
||||
|
||||
// Error messages
|
||||
'error_title' => 'Something went wrong',
|
||||
'error_message' => 'Please try again later or contact us directly.',
|
||||
|
||||
// Working hours
|
||||
'working_hours_title' => 'Working hours',
|
||||
'working_hours_mon_fri' => 'Mon - Fri 8:00 - 18:00',
|
||||
'working_hours_sat_sun' => 'Sat - Sun 10:00 - 16:00',
|
||||
|
||||
// Support section
|
||||
'support_title' => 'Looking for support?',
|
||||
'support_message' => 'We might already have what you\'re looking for. See our FAQs or head to our dedicated Help Center.',
|
||||
'help_center_button' => 'Help center',
|
||||
|
||||
// FAQ
|
||||
'faq_delivery_question' => 'How long will delivery take?',
|
||||
'faq_delivery_answer' => 'Delivery times vary based on your location and chosen shipping method. Generally, our standard delivery takes up to 5 days, while our Express Delivery ensures your order reaches you within 1 day. Please note that these times may be subject to occasional variations due to unforeseen circumstances, but we do our best to meet these estimates.',
|
||||
];
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
'title' => 'Hubungi Kami',
|
||||
'subtitle' => 'Jangan ragu untuk menghubungi kami dan kami akan dengan senang hati membantu Anda!',
|
||||
|
||||
// Contact details section
|
||||
'location_title' => 'Lokasi',
|
||||
'location_address' => 'Jalan Pintu Air Raya No.11 B,D,E,F,G RT.8/RW.1, Ps. Baru, Kecamatan Sawah Besar, Kota Jakarta Pusat, Daerah Khusus Ibukota Jakarta 10710',
|
||||
'location_link' => 'Petunjuk arah',
|
||||
|
||||
'phone_title' => 'Telepon',
|
||||
'phone_number' => '(021) 3500703',
|
||||
'phone_whatsapp' => '0818-4343-01',
|
||||
|
||||
'email_title' => 'Email',
|
||||
'email_address' => 'sales@asiagolf.id',
|
||||
|
||||
// Contact form
|
||||
'form_title' => 'Kirim pesan',
|
||||
'form_subtitle' => 'Kami biasanya merespons dalam 24 jam',
|
||||
|
||||
'name_label' => 'Nama',
|
||||
'name_placeholder' => 'Nama Anda',
|
||||
|
||||
'email_label' => 'Email',
|
||||
'email_placeholder' => 'email.anda@example.com',
|
||||
|
||||
'subject_label' => 'Subjek',
|
||||
'subject_placeholder' => 'Tentang apa ini?',
|
||||
|
||||
'message_label' => 'Pesan',
|
||||
'message_placeholder' => 'Ceritakan lebih lanjut tentang pertanyaan Anda...',
|
||||
|
||||
'submit_button' => 'Kirim pesan',
|
||||
|
||||
// Social media
|
||||
'social_title' => 'Ikuti kami',
|
||||
'social_instagram' => 'Instagram',
|
||||
'social_facebook' => 'Facebook',
|
||||
'social_twitter' => 'Twitter',
|
||||
|
||||
// Success messages
|
||||
'success_title' => 'Terima kasih atas pesan Anda!',
|
||||
'success_message' => 'Kami telah menerima pesan Anda dan akan segera menghubungi Anda kembali.',
|
||||
|
||||
// Error messages
|
||||
'error_title' => 'Terjadi kesalahan',
|
||||
'error_message' => 'Silakan coba lagi nanti atau hubungi kami langsung.',
|
||||
|
||||
// Working hours
|
||||
'working_hours_title' => 'Jam operasional',
|
||||
'working_hours_mon_fri' => 'Sen - Jum 08:00 - 18:00',
|
||||
'working_hours_sat_sun' => 'Sab - Min 10:00 - 16:00',
|
||||
|
||||
// Support section
|
||||
'support_title' => 'Mencari bantuan?',
|
||||
'support_message' => 'Kami mungkin sudah memiliki apa yang Anda cari. Lihat FAQ kami atau kunjungi ke Pusat Bantuan kami.',
|
||||
'help_center_button' => 'Pusat bantuan',
|
||||
|
||||
// FAQ
|
||||
'faq_delivery_question' => 'Berapa lama pengiriman akan berlangsung?',
|
||||
'faq_delivery_answer' => 'Waktu pengiriman bervariasi tergantung pada lokasi Anda dan metode pengiriman yang dipilih. Umumnya, pengiriman standar kami memakan waktu hingga 5 hari, sementara Pengiriman Ekspres memastikan pesanan Anda sampai dalam 1 hari. Harap dicatat bahwa waktu ini dapat berubah karena keadaan yang tidak terduga, tetapi kami melakukan yang terbaik untuk memenuhi perkiraan ini.',
|
||||
];
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
@if($brands && $brands->count() > 0)
|
||||
<ul class="nav flex-column gap-2 pt-sm-3 pb-3 pb-sm-0 mt-n1 mb-1 mb-sm-0">
|
||||
|
||||
@foreach($brands as $index => $brand)
|
||||
<li class="d-flex w-100 pt-1">
|
||||
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="{{ route('product.index',['filter[brand_id]'=>$brand->id]) }}">{{ $brand->name }}</a>
|
||||
</li>
|
||||
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
|
@ -269,7 +269,7 @@
|
|||
<i class="ci-shopping-bag animate-target me-1"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Main navigation that turns into offcanvas on screens < 992px wide (lg breakpoint) -->
|
||||
<div class="collapse navbar-stuck-hide" id="stuckNav">
|
||||
|
|
|
|||
|
|
@ -9,15 +9,33 @@
|
|||
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-underline justify-content-lg-center mt-n2 mt-lg-0 mb-4" role="tablist">
|
||||
@foreach ($genders as $key => $gender)
|
||||
|
||||
<li class="nav-item" role="presentation">
|
||||
<button type="button" class="nav-link text-uppercase {{ $key == 0 ? 'active' : '' }}" id="gender-{{ $gender->id }}-tab"
|
||||
data-bs-toggle="tab" data-bs-target="#gender-{{ $gender->id }}-tab-pane" role="tab"
|
||||
aria-controls="gender-{{ $gender->id }}-tab-pane" aria-selected="true">
|
||||
{{ $gender->name }}
|
||||
<button type="button" class="nav-link text-uppercase active" id="category-tab"
|
||||
data-bs-toggle="tab" data-bs-target="#category-tab-pane" role="tab"
|
||||
aria-controls="category-tab-pane" aria-selected="true">
|
||||
Category
|
||||
</button>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
|
||||
<li class="nav-item" role="presentation">
|
||||
<button type="button" class="nav-link text-uppercase" id="brand-tab"
|
||||
data-bs-toggle="tab" data-bs-target="#brand-tab-pane" role="tab"
|
||||
aria-controls="brand-tab-pane" aria-selected="true">
|
||||
Brand
|
||||
</button>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="nav-item" role="presentation">
|
||||
<button type="button" class="nav-link text-uppercase" id="gender-tab"
|
||||
data-bs-toggle="tab" data-bs-target="#gender-tab-pane" role="tab"
|
||||
aria-controls="gender-tab-pane" aria-selected="true">
|
||||
Gender
|
||||
</button>
|
||||
</li>
|
||||
|
||||
{{-- <li class="nav-item" role="presentation">
|
||||
<button type="button" class="nav-link text-uppercase active" id="womens-tab" data-bs-toggle="tab"
|
||||
data-bs-target="#womens-tab-pane" role="tab" aria-controls="womens-tab-pane"
|
||||
|
|
@ -44,48 +62,76 @@
|
|||
<!-- Tab panes -->
|
||||
<div class="tab-content pb-xl-4">
|
||||
|
||||
@foreach ($genders as $key => $gender)
|
||||
<div class="tab-pane fade show {{ $key == 0 ? 'active' : '' }}" id="gender-{{ $gender->id }}-tab-pane" role="tabpanel"
|
||||
aria-labelledby="gender-{{ $gender->id }}-tab">
|
||||
<div class="row g-4">
|
||||
|
||||
<div class="tab-pane fade show active" id="category-tab-pane" role="tabpanel"
|
||||
aria-labelledby="category-tab">
|
||||
<div class="row g-4">
|
||||
|
||||
@foreach ($categories as $chunks)
|
||||
|
||||
<div class="col-lg-2">
|
||||
|
||||
<ul class="nav flex-column gap-2 mt-0">
|
||||
@foreach ($chunks as $chunk)
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="{{ route('product.index', ['filter[category]' => $chunk->id, 'filter[gender]' => $gender->id]) }}">{{ $chunk->name }}</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
|
||||
<div class="col-lg-4 d-none d-lg-block" data-bs-theme="light">
|
||||
<div class="position-relative d-flex flex-column h-100 rounded-4 overflow-hidden p-4">
|
||||
<div
|
||||
class="position-relative d-flex flex-column justify-content-between h-100 z-2 pt-xl-2 ps-xl-2">
|
||||
<div class="h4 lh-base">Women's<br>Heels<br>Collection</div>
|
||||
<div>
|
||||
<a class="btn btn-sm btn-dark stretched-link"
|
||||
href="{{ route('second', ['shop', 'catalog-fashion']) }}"
|
||||
data-bs-theme="light">Shop now</a>
|
||||
</div>
|
||||
</div>
|
||||
<img src="/img/mega-menu/fashion/01.jpg"
|
||||
class="position-absolute top-0 start-0 w-100 h-100 object-fit-cover rtl-flip"
|
||||
alt="Image">
|
||||
@foreach ($categories as $chunks)
|
||||
|
||||
<div class="col-lg-2">
|
||||
|
||||
<ul class="nav flex-column gap-2 mt-0">
|
||||
@foreach ($chunks as $chunk)
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="{{ route('product.index', ['filter[category_id]' => $chunk->id]) }}">{{ $chunk->name }}</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="tab-pane fade show" id="brand-tab-pane" role="tabpanel"
|
||||
aria-labelledby="brand-tab">
|
||||
<div class="row g-4">
|
||||
|
||||
@foreach ($brands as $chunks)
|
||||
|
||||
<div class="col-lg-2">
|
||||
|
||||
<ul class="nav flex-column gap-2 mt-0">
|
||||
@foreach ($chunks as $chunk)
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="{{ route('product.index', ['filter[category_id]' => $chunk->id]) }}">{{ $chunk->name }}</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane fade show" id="gender-tab-pane" role="tabpanel"
|
||||
aria-labelledby="gender-tab">
|
||||
<div class="row g-4">
|
||||
|
||||
@foreach ($genders as $chunks)
|
||||
|
||||
<div class="col-lg-2">
|
||||
|
||||
<ul class="nav flex-column gap-2 mt-0">
|
||||
@foreach ($chunks as $chunk)
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="{{ route('product.index', ['filter[gender_id]' => $chunk->id]) }}">{{ $chunk->name }}</a>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -145,6 +145,8 @@
|
|||
<ul class="dropdown-menu" style="--cz-dropdown-spacer: .75rem">
|
||||
|
||||
<li><a class="dropdown-item" href="{{ route('terms-and-conditions')}}">{{ __('navbar.terms_conditions') }}</a></li>
|
||||
|
||||
<li><a class="dropdown-item" href="{{ route('contact')}}">{{ __('navbar.contact') }}</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -75,31 +75,14 @@
|
|||
</div>
|
||||
<div class="accordion-item col-sm-4 border-0">
|
||||
<h6 class="accordion-header" id="membersHeading">
|
||||
<span class="text-dark-emphasis d-none d-sm-block">For members</span>
|
||||
<span class="text-dark-emphasis d-none d-sm-block">Brands</span>
|
||||
<button type="button" class="accordion-button collapsed py-3 d-sm-none"
|
||||
data-bs-toggle="collapse" data-bs-target="#membersLinks" aria-expanded="false"
|
||||
aria-controls="membersLinks">For members</button>
|
||||
aria-controls="membersLinks">Brands</button>
|
||||
</h6>
|
||||
<div class="accordion-collapse collapse d-sm-block" id="membersLinks"
|
||||
aria-labelledby="membersHeading" data-bs-parent="#footerLinks">
|
||||
<ul class="nav flex-column gap-2 pt-sm-3 pb-3 pb-sm-0 mt-n1 mb-1 mb-sm-0">
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="#!">Licenses</a>
|
||||
</li>
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="#!">Return policy</a>
|
||||
</li>
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="#!">Payment methods</a>
|
||||
</li>
|
||||
<li class="d-flex w-100 pt-1">
|
||||
<a class="nav-link animate-underline animate-target d-inline fw-normal text-truncate p-0"
|
||||
href="#!">Become a vendor</a>
|
||||
</li>
|
||||
</ul>
|
||||
<x-footer-brands />
|
||||
</div>
|
||||
<hr class="d-sm-none my-0">
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@ use App\Http\Controllers\SearchController;
|
|||
use App\Http\Controllers\TncController;
|
||||
use App\Http\Controllers\HelpController;
|
||||
use App\Http\Controllers\VoucherEventController;
|
||||
use App\Http\Controllers\ContactController;
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
Route::group(['prefix' => '/dummy'], function () {
|
||||
|
|
@ -125,3 +127,4 @@ Route::middleware(['auth'])->prefix('/orders')->group(function () {
|
|||
});
|
||||
Route::get('/terms-and-conditions', [TncController::class, 'index'])->name('terms-and-conditions');
|
||||
Route::get('/help', [HelpController::class, 'index'])->name('help');
|
||||
Route::get('/contact', [ContactController::class, 'index'])->name('contact');
|
||||
|
|
|
|||
Loading…
Reference in New Issue