updated
This commit is contained in:
@@ -161,6 +161,73 @@ class TeamStoreController extends Controller
|
||||
->with('thumbnails', $thumbnails);
|
||||
}
|
||||
|
||||
public function storeIndex(Request $request)
|
||||
{
|
||||
// $analyticsData = Analytics::getMostVisitedPages(14, 50);
|
||||
|
||||
// foreach($analyticsData as $key => $val){
|
||||
// if (strpos($val['url'], 'teamstore') !== false) {
|
||||
// $teamstore[] = $val['url'];
|
||||
// }
|
||||
// }
|
||||
|
||||
// foreach($teamstore as $t){
|
||||
// $sad = explode('/', $t);
|
||||
|
||||
// if(count($sad) == 4){
|
||||
// $arr_teamstore[] = explode('?', $sad['3'])['0'];
|
||||
|
||||
// }
|
||||
// }
|
||||
|
||||
// var_dump(array_unique($arr_teamstore));
|
||||
|
||||
$m = new TeamStoreModel;
|
||||
$q = $request->input('q');
|
||||
$sort = $request->input('s');
|
||||
|
||||
if (isset($q) && isset($sort)) {
|
||||
|
||||
if ($sort == "latest") {
|
||||
$field = "Id";
|
||||
$sort_value = "DESC";
|
||||
} elseif ($sort == "al-desc") {
|
||||
$field = "StoreName";
|
||||
$sort_value = "DESC";
|
||||
} elseif ($sort == "oldest") {
|
||||
$field = "Id";
|
||||
$sort_value = "ASC";
|
||||
} else {
|
||||
$field = "StoreName";
|
||||
$sort_value = "ASC";
|
||||
}
|
||||
|
||||
if ($q != "") {
|
||||
// keyword and sort
|
||||
$stores_array = $m->selectTeamstoreSearch($field, $sort_value, $q);
|
||||
} else {
|
||||
// sort only
|
||||
$stores_array = $m->selectTeamstoreFilter($field, $sort_value);
|
||||
}
|
||||
} else {
|
||||
$field = "StoreName";
|
||||
$sort_value = "ASC";
|
||||
$sort = "al-asc";
|
||||
$stores_array = $m->selectTeamstoreFilter($field, $sort_value);
|
||||
}
|
||||
|
||||
$getCarousel = $m->getCarousel();
|
||||
// var_dump($getCarousel);
|
||||
|
||||
$featured_products = $m->selectFeaturedProducts();
|
||||
return view('merchbay.stores')
|
||||
->with('stores_array', $stores_array)
|
||||
->with('keyword', $q)
|
||||
->with('filter', $sort)
|
||||
->with('carousel_images', $getCarousel)
|
||||
->with('featured_products', $featured_products);
|
||||
}
|
||||
|
||||
public function storelist(Request $request)
|
||||
{
|
||||
// $analyticsData = Analytics::getMostVisitedPages(14, 50);
|
||||
|
||||
@@ -81,6 +81,8 @@ Route::get('/', 'teamstore\TeamStoreController@storelist'); // old
|
||||
|
||||
// Route::group(['middleware' => 'teamstoresession'], function () {
|
||||
|
||||
Route::get('/stores', 'teamstore\TeamStoreController@storeIndex');
|
||||
|
||||
Route::get('/store/{storename}', 'teamstore\TeamStoreController@index');
|
||||
Route::get('/store/{storename}/product/{producurl}', 'teamstore\TeamStoreController@productDetails');
|
||||
// Route::post('/teamstore/q/addnewrow', 'teamstore\TeamStoreController@addNewRow');
|
||||
|
||||
395
public/assets/css/merchbay/styles-stores.css
vendored
Executable file
395
public/assets/css/merchbay/styles-stores.css
vendored
Executable file
@@ -0,0 +1,395 @@
|
||||
html,
|
||||
body {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
font-family: "Montserrat", sans-serif !important;
|
||||
background-color: #f5f5f6;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color:#000000;
|
||||
}
|
||||
|
||||
.bg-black {
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
.navbar-brand span {
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.navbar-brand > img {
|
||||
height: 28px !important;
|
||||
}
|
||||
|
||||
.btn-white-outline {
|
||||
color: #ffffff;
|
||||
border-color: #ffffff;
|
||||
font-size: 0.7rem !important;
|
||||
}
|
||||
|
||||
.btn-white-outline:hover {
|
||||
color: #000000;
|
||||
border-color: #ffffff;
|
||||
background-color: #ffffff;
|
||||
font-size: 0.7rem !important;
|
||||
}
|
||||
|
||||
.btn-black-outline {
|
||||
color: #ffffff;
|
||||
border-color: #ffffff;
|
||||
font-size: 0.7rem !important;
|
||||
}
|
||||
|
||||
.btn-navbar-cart {
|
||||
color: #fff;
|
||||
background-color: transparent;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.btn-navbar-cart:hover {
|
||||
color: #fff;
|
||||
background-color: transparent;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
/* .container {
|
||||
padding-right: 0px !important;
|
||||
padding-left: 0px !important;
|
||||
} */
|
||||
|
||||
.btn-green {
|
||||
color: #fff;
|
||||
background-color: #28a745;
|
||||
border-color: #28a745;
|
||||
}
|
||||
|
||||
.btn-green:hover {
|
||||
color: #28a745;
|
||||
background-color: #fff;
|
||||
border-color: #28a745;
|
||||
}
|
||||
|
||||
.btn-black {
|
||||
color: #fff;
|
||||
background-color: #000000;
|
||||
border-color: #000000;
|
||||
}
|
||||
|
||||
.btn-black:hover {
|
||||
color: rgb(0, 0, 0);
|
||||
background-color: transparent;
|
||||
border-color: #000000;
|
||||
}
|
||||
|
||||
.added-or {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.added-or::before {
|
||||
content: "or";
|
||||
position: absolute;
|
||||
display: inline-block;
|
||||
padding: 5px;
|
||||
margin-right: 48px;
|
||||
left: -15px;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.navbar-auth-buttons a {
|
||||
line-height: 1.9;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
margin-bottom: -5px;
|
||||
font-size: 0.7rem;
|
||||
}
|
||||
|
||||
|
||||
.main__banner {
|
||||
padding-top: 66px;
|
||||
}
|
||||
|
||||
.store-logo {
|
||||
height: 165px;
|
||||
display: inline-block;
|
||||
/* border: 1px solid #e2e2e2; */
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.store-locked{
|
||||
background-color: rgb(0 0 0 / 60%);
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
padding: 67px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.store-locked > i {
|
||||
font-size: 2rem;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.store-logo img {
|
||||
object-fit: contain;
|
||||
width: 100%;
|
||||
max-height: 250px;
|
||||
height: 165px;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
margin: auto;
|
||||
/* padding: 5px; */
|
||||
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
|
||||
}
|
||||
|
||||
.product-image img {
|
||||
object-fit: contain;
|
||||
width: 100%;
|
||||
max-height: 250px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.store-name,
|
||||
.product-name {
|
||||
font-size: 0.8rem;
|
||||
font-weight: 600;
|
||||
padding: 5px;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.product-name-display h3 {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.product-price {
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
padding: 0px 5px;
|
||||
margin: -5px 0px;
|
||||
}
|
||||
|
||||
.product-price-display div {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 600;
|
||||
color: #9a9a9a;
|
||||
margin-right: 5px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
|
||||
.store a {
|
||||
text-decoration: none;
|
||||
color: #2c2c2c;
|
||||
}
|
||||
|
||||
.product a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.store-banner {
|
||||
/* background-color: #000000; */
|
||||
height: auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.please-read-title,
|
||||
.disclaimer, .announcement {
|
||||
font-size: 0.8rem;
|
||||
color: #000000;
|
||||
font-weight: bold;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
padding-left: 1.3rem;
|
||||
}
|
||||
|
||||
.disclaimer-message {
|
||||
font-size: 0.7rem;
|
||||
color: #ffffff;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
padding-left: 1.3rem;
|
||||
}
|
||||
|
||||
.announcement-message {
|
||||
font-size: 0.7rem;
|
||||
color: #ffffff;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
padding-left: 1.3rem;
|
||||
}
|
||||
.please-read li {
|
||||
font-size: 0.7rem;
|
||||
color: #858585;
|
||||
}
|
||||
|
||||
.bg-black {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.bg-announcement {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.navbar-toggler {
|
||||
border: 1px solid #fff !important;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
padding: 0.25rem 0.5rem !important;
|
||||
line-height: 1rem;
|
||||
}
|
||||
|
||||
.sort-by {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.custom-hr {
|
||||
background-color: #e3e3e3 !important;
|
||||
height: 2px !important;
|
||||
}
|
||||
|
||||
a.btn-white-outline.nuxt-link-exact-active {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
.product-price > .previous-price {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.product-price > .current-price {
|
||||
color: #e01414;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.breadcrumb-item a {
|
||||
color: #9a9a9a !important;
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.breadcrumb-item.active {
|
||||
color: #9a9a9a !important;
|
||||
}
|
||||
|
||||
.breadcrumb-item + .breadcrumb-item::before {
|
||||
color: #9a9a9a !important;
|
||||
}
|
||||
|
||||
.adbg {
|
||||
background-color: #bdc6c5;
|
||||
}
|
||||
|
||||
span.designer-text {
|
||||
color: #b90a0c;
|
||||
}
|
||||
|
||||
.product-active-thumbnail {
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
@media (max-width: 992px) {
|
||||
.footer-menu {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.copyright {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.added-or::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.navbar-collapse.collapsing .navbar-nav {
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: -45%;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.navbar-nav {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.navbar-collapse.show .navbar-nav {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
flex-direction: column;
|
||||
height: 100vh;
|
||||
width: 65%;
|
||||
transition: left 0.35s ease;
|
||||
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.navbar-nav .nav-link {
|
||||
padding-right: 1rem;
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
padding-top: 0.8rem;
|
||||
}
|
||||
.store-logo img {
|
||||
/* max-height: 100%; */
|
||||
height: 150px;
|
||||
object-fit: contain;
|
||||
box-shadow: unset;
|
||||
/* width: 1; */
|
||||
}
|
||||
|
||||
.store-name {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.product-image img {
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.sort-by {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.product-active-thumbnail {
|
||||
height: 345px;
|
||||
}
|
||||
|
||||
.btn-white-outline {
|
||||
color: #000000;
|
||||
border-color: #000000;
|
||||
}
|
||||
|
||||
.btn-white-outline:hover {
|
||||
color: #ffffff;
|
||||
border-color: #000000;
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.bi.bi-cart-fill {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* footer {
|
||||
height: inherit;
|
||||
}
|
||||
|
||||
.footer-socials-icons{
|
||||
text-align: center;
|
||||
margin-top: 5px;
|
||||
} */
|
||||
}
|
||||
@@ -15,10 +15,10 @@
|
||||
</p>
|
||||
|
||||
<div class="mt-5">
|
||||
<button class="btn btn-outline-primary btn-lg mx-3 px-3">
|
||||
<a href="{{ url('/stores')}}" class="btn btn-outline-primary btn-lg mx-3 px-3">
|
||||
<i class="icon icon-catalog"></i>
|
||||
Browse Product
|
||||
</button>
|
||||
</a>
|
||||
|
||||
<a class="btn btn-outline-primary btn-lg mx-3 px-3" href="{{ url('/templates')}}"
|
||||
>Start Designing
|
||||
|
||||
162
resources/views/merchbay/stores.blade.php
Executable file
162
resources/views/merchbay/stores.blade.php
Executable file
@@ -0,0 +1,162 @@
|
||||
@extends('merchbay_main')
|
||||
@section('main-content')
|
||||
|
||||
<div class="main__carousel">
|
||||
<div class="">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div id="carouselExampleDark" class="carousel slide" data-bs-ride="carousel">
|
||||
{{-- <div id="carouselExampleDark" class="carousel carousel-dark slide" data-bs-ride="carousel"> --}}
|
||||
<ol class="carousel-indicators">
|
||||
@foreach ($carousel_images as $key => $carousel)
|
||||
@if ($key == 0)
|
||||
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="{{ $key }}"
|
||||
class="active"></li>
|
||||
@else
|
||||
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="{{ $key }}"></li>
|
||||
@endif
|
||||
@endforeach
|
||||
{{-- <li data-bs-target="#carouselExampleDark" data-bs-slide-to="0" class="active"></li>
|
||||
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="1"></li> --}}
|
||||
{{-- <li data-bs-target="#carouselExampleDark" data-bs-slide-to="2"></li>
|
||||
<li data-bs-target="#carouselExampleDark" data-bs-slide-to="3"></li> --}}
|
||||
</ol>
|
||||
<div class="carousel-inner">
|
||||
{{-- <div class="carousel-item active" data-bs-interval="10000"> --}}
|
||||
|
||||
@foreach ($carousel_images as $key => $carousel)
|
||||
@if ($key == 0)
|
||||
<div class="carousel-item active" data-bs-interval="10000">
|
||||
<a href="{{ url('store') }}/{{ $carousel->StoreUrl }}">
|
||||
<div class="top-image">
|
||||
<img
|
||||
src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}" />
|
||||
</div>
|
||||
<img src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}"
|
||||
class="blurred" />
|
||||
</a>
|
||||
</div>
|
||||
@else
|
||||
<div class="carousel-item" data-bs-interval="10000">
|
||||
<a href="{{ url('store') }}/{{ $carousel->StoreUrl }}">
|
||||
<div class="top-image">
|
||||
<img
|
||||
src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}" />
|
||||
</div>
|
||||
<img src="{{ config('site_config.uploads') . 'teamstore/' . $carousel->ImageFolder . '/' . $carousel->StoreBanner }}"
|
||||
class="blurred" />
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
|
||||
<!-- <div class="carousel-item" data-bs-interval="10000">
|
||||
<img src="https://crewsportswear.app:5955/WIPCAPS.jpg" class="d-block w-100" alt="...">
|
||||
</div> -->
|
||||
<!-- <div class="carousel-item" data-bs-interval="10000">
|
||||
<img src="https://crewsportswear.app:5955/NINONG.jpg" class="d-block w-100" alt="...">
|
||||
</div> -->
|
||||
{{-- <div class="carousel-item">
|
||||
<a href="">
|
||||
<img src="https://crewsportswear.app:5955/DRIVE.jpg" class="d-block w-100" alt="...">
|
||||
</a>
|
||||
</div> --}}
|
||||
</div>
|
||||
<a class="carousel-control-prev" href="#carouselExampleDark" role="button" data-bs-slide="prev">
|
||||
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Previous</span>
|
||||
</a>
|
||||
<a class="carousel-control-next" href="#carouselExampleDark" role="button" data-bs-slide="next">
|
||||
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
||||
<span class="visually-hidden">Next</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="main__content mt-5">
|
||||
<div class="container">
|
||||
<!-- Forms Search -->
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-lg-8">
|
||||
<form class="row g-2 g-lg-5">
|
||||
<div class="col-lg-9">
|
||||
<div class="input-group">
|
||||
{{-- <input
|
||||
type="text"
|
||||
class="form-control border-end-0"
|
||||
placeholder="Search Store"
|
||||
aria-label="Search Store"
|
||||
aria-describedby="basic-addon2"
|
||||
/> --}}
|
||||
<input type="text" class="form-control border-end-0" placeholder="Search Store"
|
||||
value="{{ $keyword }}" name="q">
|
||||
<input type="hidden" class="form-control border-end-0" placeholder="Search Store"
|
||||
value="latest" name="s">
|
||||
<button class="input-group-text bg-white border-start-0" id="basic-addon2"><i
|
||||
class="fa fa-search"></i></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3 added-or">
|
||||
<a href="{{ url('templates') }}" type="submit" class="btn btn-black mb-3 w-100">
|
||||
Design your own
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include('teamstore-sublayouts.stores')
|
||||
<!-- First 12 Stores -->
|
||||
|
||||
<!-- Featured Products -->
|
||||
<div class="row py-5">
|
||||
<div class="col-lg-12">
|
||||
<div class="text-center">
|
||||
<h3>Featured Products</h3>
|
||||
</div>
|
||||
</div>
|
||||
@foreach ($featured_products as $product)
|
||||
<div class="col-lg-2 col-md-3 col-6" v-for="index in 6" :key="index">
|
||||
<div class="text-center p-3">
|
||||
<a href="{{ url('store') . '/' . $product->StoreUrl . '/product/' . $product->ProductURL }}">
|
||||
<div class="store-logo">
|
||||
<img src="{{ config('site_config.images_url') . '/' . $product->Image }}"
|
||||
alt="{{ $product->ProductName }}" class="d-block border shadow-sm">
|
||||
</div>
|
||||
<div class="store-name text-truncate">{{ $product->ProductName }}</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- calling designers -->
|
||||
<div class="adbg">
|
||||
<div class="row py-3">
|
||||
<div class="col-lg-8">
|
||||
<div class="p-5">
|
||||
<h2>
|
||||
Calling all <span class="designer-text">Creators</span>
|
||||
</h2>
|
||||
<p>
|
||||
<a href="{{ url('auth/login') }}">Sign in</a> on Merchbay and share your creativity and expand
|
||||
<br />your ideas. Click below button to know more.
|
||||
</p>
|
||||
|
||||
<div class="pt-3">
|
||||
<a href="{{ url('/contact-us') }}" type="button" class="btn btn-black mb-3 px-5">
|
||||
Learn more
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -14,6 +14,7 @@
|
||||
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;400;500;600;700;800;900&display=swap" rel="stylesheet">
|
||||
|
||||
<link href="{{ asset('/assets/css/merchbay/styles-stores.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('/assets/css/merchbay/styles.css') }}" rel="stylesheet">
|
||||
<!-- <link href="{{ asset('public/assets/login/css/style.css') }}" rel="stylesheet">
|
||||
<link href="{{ asset('public/assets/login/css/form-elements.css') }}" rel="stylesheet"> -->
|
||||
|
||||
Reference in New Issue
Block a user