This commit is contained in:
Ludovic CANDELLIER
2022-04-13 23:49:48 +02:00
parent 6e133246cf
commit 9c2b9cf02e
56 changed files with 948 additions and 336 deletions

View File

@@ -52,7 +52,7 @@
'basket-form',
"{{ route('Shop.Basket.modalBasket') }}/" + offer_id + '/' + quantity,
"{{ route('Shop.Basket.addBasket') }}",
false,
refreshBasketTop(),
false,
true,
buttons

View File

@@ -1,14 +1,10 @@
<a href="{{ route('Shop.Articles.show', ['id' => $article['semences']['article_id'] ?? false ]) }}">
<div class="card">
@if ($article['image'] !== null)
<img src="{{ App\Repositories\Shop\Articles::getPreviewSrc($article['image'] ?? false) }}" class="card-img-top" alt="{{ $product_name }}">
@else
<img src="img/visuel-non-disponible.jpg" class="card-img-top">
@endif
<a href="{{ route('Shop.Articles.show', ['id' => $article['semences']['article_id'] ?? false ]) }}" class="green-dark">
<div class="card bg-green-light">
<img src="{{ App\Repositories\Shop\Articles::getPreviewSrc($article['image'] ?? false) }}" class="card-img-top" alt="{{ $product_name }}">
<div class="card-body">
<div class="row card-title">
<div class="col-10" style="font-weight: bold; color: green;">
<h2 style="font-size: 1.3em;">{{ $article['parent_name'] }}</h2>
<div class="col-10">
<div class="mb-0" style="font-size: 1.3em;">{{ $article['parent_name'] }}</div>
{{ $article['product_name'] }}
</div>
<div class="col-2 p-0 text-right" style="font-size: 2em; color: red;">
@@ -16,22 +12,22 @@
</div>
</div>
<div class="row" style="color: green;">
<div class="row">
<div class="col-6">
<strong>Semence</strong>
@if ($article['semences'] ?? false)
<span style="font-size: 1.4em; font-weight: bold;">{{ $article['semences']['price'] ?? null }}</span> <br>
<span style="font-size: 1.4em">{{ $article['semences']['price'] ?? null }}</span> <br>
@else
Indisponible<br>
@endif
Semence
</div>
<div class="col-6">
<strong>Plant</strong>
@if ($article['plants'] ?? false)
<span style="font-size: 1.4em; font-weight: bold;">{{ $article['plants']['price'] }}</span> <br>
<span style="font-size: 1.4em">{{ $article['plants']['price'] }}</span> <br>
@else
Indisponible<br>
@endif
Plant
</div>
</div>
</div>

View File

@@ -9,10 +9,10 @@
</div>
</div>
<div class="row">
<div class="col-5">
<div class="col-4">
{!! $article['image_big'] !!}
</div>
<div class="col-4">
<div class="col-5">
{!! $article['description'] !!}
</div>
<div class="col-3">

View File

@@ -4,7 +4,7 @@
@section('content')
@if ($basket)
<div class="row">
<div class="row m-0">
<div class="col-8">
<div class="row mb-3">
<div class="col-4">
@@ -17,7 +17,7 @@
</div>
</div>
@foreach ($basket as $nature => $items)
<div class="row mb-3 p-2" style="background-color: #ccc;">
<div class="row mb-3 p-2 bg-green-light">
<div class="col-12">
<h2 style="font-size: 1.6em;">{{ ucfirst($nature) }}</h2>
@foreach ($items as $item)
@@ -28,39 +28,39 @@
@endforeach
</div>
<div class="col-4">
@component('components.card')
<div class="row mb-3">
<div class="col-6 text-uppercase">
Tarif appliqué
@component('components.card', ['class' => 'shadow'])
<div class="row mb-3">
<div class="col-6 text-uppercase">
Tarif appliqué
</div>
<div class="col-6">
</div>
</div>
<div class="col-6">
<div class="row m-3">
<div class="col-6">
<span id="basket-count"></span> ARTICLES
</div>
<div class="col-6 text-right">
<span id="basket-total"></span>
</div>
</div>
</div>
<div class="row m-3">
<div class="col-6">
<span id="basket-count"></span> ARTICLES
<div class="row m-3">
<div class="col-6">
LIVRAISON
</div>
<div class="col-6 text-right">
<span id="shipping">5</span>
</div>
</div>
<div class="col-6 text-right">
<span id="basket-total"></span>
<hr>
<div class="row m-3" style="font-size: 1.6em; font-weight: 600;">
<div class="col-6">
TOTAL TTC
</div>
<div class="col-6 text-right">
<span id="basket-total-shipped"></span>
</div>
</div>
</div>
<div class="row m-3">
<div class="col-6">
LIVRAISON
</div>
<div class="col-6 text-right">
<span id="shipping">5</span>
</div>
</div>
<hr>
<div class="row m-3" style="font-size: 1.6em; font-weight: 600;">
<div class="col-6">
TOTAL TTC
</div>
<div class="col-6 text-right">
<span id="basket-total-shipped"></span>
</div>
</div>
@endcomponent
</div>
</div>

View File

@@ -16,10 +16,10 @@
'class' => 'basket-quantity',
])
</div>
<div class="col-2 text-right" style="font-size: 2em;" id="basket_total-{{ $item['id'] }}">
<div class="col-3 text-right" style="font-size: 2em;" id="basket_total-{{ $item['id'] }}">
<span class="basket-total-row">{{ $item['quantity'] * $item['price'] }}</span>
</div>
<div class="col-2">
<div class="col-1 text-center">
<i class="btn fa fa-fw fa-trash basket-delete" style="font-size: 1.6em;" data-id={{ $item['id'] }}></i>
</div>
</div>

View File

@@ -0,0 +1,30 @@
@extends('boilerplate::auth.layout', [
'title' => __('boilerplate::auth.firstlogin.title'),
'bodyClass' => 'hold-transition login-page'
])
@section('content')
@component('boilerplate::auth.loginbox')
{{ Form::open(['route' => 'boilerplate.users.firstlogin', 'autocomplete' => 'off']) }}
<input type="hidden" name="token" value="{{ $token }}">
<div class="alert alert-info">
<p>{{ __('boilerplate::auth.firstlogin.intro') }}</p>
</div>
<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}">
{{ Form::label('password', __('boilerplate::auth.fields.password')) }}
{{ Form::input('password', 'password', Request::old('password'), ['class' => 'form-control', 'autofocus']) }}
{!! $errors->first('password','<p class="text-danger">:message</p>') !!}
</div>
<div class="form-group {{ $errors->has('password_confirmation') ? 'has-error' : '' }}">
{{ Form::label('password_confirmation', __('boilerplate::auth.fields.password_confirm')) }}
{{ Form::input('password', 'password_confirmation', Request::old('password_confirmation'), ['class' => 'form-control']) }}
{!! $errors->first('password_confirmation','<p class="text-danger">:message</p>') !!}
</div>
<div class="form-group text-center">
<button type="submit" class="btn btn-primary">
{{ __('boilerplate::auth.firstlogin.button') }}
</button>
</div>
</form>
@endcomponent
@endsection

View File

@@ -0,0 +1,18 @@
<!DOCTYPE html>
<html lang="{{ App::getLocale() }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex, nofollow">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ $title }} | {{ config('app.name') }}</title>
<link rel="stylesheet" href="{{ mix('/adminlte.min.css', '/assets/vendor/boilerplate') }}">
@stack('css')
</head>
<body class="{{ $bodyClass ?? 'login-page'}}">
@yield('content')
<script src="{{ mix('/boilerplate.min.js', '/assets/vendor/boilerplate') }}"></script>
@stack('js')
</body>
</html>

View File

@@ -0,0 +1,46 @@
@extends('auth.layout', [
'title' => __('boilerplate::auth.login.title'),
'bodyClass' => 'hold-transition login-page'
])
@section('content')
{!! Form::open(['route' => 'boilerplate.login', 'method' => 'post', 'autocomplete'=> 'off']) !!}
<div class="row" style="width: 380px;">
<div class="col-12 text-center">
<img src="/img/logo.png" height="128">
</div>
</div>
<div class="form-group has-feedback">
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::email('email', old('email'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.email'), 'required', 'autofocus']) }}
<span class="glyphicon glyphicon-envelope form-control-feedback"></span>
{!! $errors->first('email','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
<div class="form-group has-feedback">
<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}">
{{ Form::password('password', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password')]) }}
<span class="glyphicon glyphicon-lock form-control-feedback"></span>
{!! $errors->first('password','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
</div>
<div class="row">
<div class="col-12 col-lg-8">
<div class="checkbox icheck">
<label style="padding-left: 0">
<input type="checkbox" name="remember" class="icheck" {{ old('remember') ? 'checked' : '' }}>
{{ __('boilerplate::auth.login.rememberme') }}
</label>
</div>
</div>
<div class="col-12 col-lg-4 mbs">
<button type="submit" class="btn btn-primary btn-block btn-flat">{{ __('boilerplate::auth.login.signin') }}</button>
</div>
</div>
{!! Form::close() !!}
<a href="{{ route('boilerplate.password.request') }}">{{ __('boilerplate::auth.login.forgotpassword') }}</a><br>
@if(config('boilerplate.auth.register'))
<a href="{{ route('boilerplate.register') }}" class="text-center">{{ __('boilerplate::auth.login.register') }}</a>
@endif
@endsection

View File

@@ -0,0 +1,8 @@
@if (config('app.name') == 'CRM')
@include('auth.crm')
@endif
@if (config('app.name') == 'HestImmo')
@include('auth.hestimmo')
@endif

View File

@@ -0,0 +1,47 @@
<div class="modal fade" id="changepasswordModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form role="form" id="password-form-data" method="post" autocomplete="off">
{{ csrf_field() }}
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">{{ __('change_your_password') }}</h5>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
</div>
<div class="modal-body">
<div class="row" style="padding: 10px 20px;">
<div class="col-xs-12 text-center" id="changePasswordMessage"></div>
</div>
<div class="row" style="padding: 10px 20px;">
<label for="new-password" class="col-md-6 control-label text-right">{{ __('current_password') }}</label>
<div class="col-md-6">
<input id="current-password" type="password" class="form-control" name="current-password" required>
</div>
</div>
<div class="row" style="padding: 10px 20px;">
<label for="new-password" class="col-md-6 control-label text-right">{{ __('new_password') }}</label>
<div class="col-md-6">
<input id="new-password" type="password" class="form-control" name="new-password" required>
</div>
</div>
<div class="row" style="padding: 10px 20px;">
<label for="new-password-confirm" class="col-md-6 control-label text-right">{{ __('confirm_new_password') }}</label>
<div class="col-md-6">
<input id="new-password-confirm" type="password" class="form-control" name="new-password_confirmation" required>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="changePassword-submit">
{{ __('save') }}
</button>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,28 @@
@extends('boilerplate::auth.layout', ['title' => __('boilerplate::auth.password.title'), 'bodyClass' => 'hold-transition login-page'])
@section('content')
@component('boilerplate::auth.loginbox')
<p class="login-box-msg">{{ __('boilerplate::auth.password.intro') }}</p>
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
{!! Form::open(['route' => 'boilerplate.password.email', 'method' => 'post', 'autocomplete'=> 'off']) !!}
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::email('email', old('email'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.email'), 'required', 'autofocus']) }}
{!! $errors->first('email','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 text-center">
<button type="submit" class="btn btn-primary">
{{ __('boilerplate::auth.password.submit') }}
</button>
</div>
</div>
</div>
{!! Form::close() !!}
<a href="{{ route('boilerplate.login') }}">{{ __('boilerplate::auth.password.login_link') }}</a><br>
@endcomponent
@endsection

View File

@@ -0,0 +1,27 @@
@extends('boilerplate::auth.layout', ['title' => __('boilerplate::auth.password_reset.title')])
@section('content')
@component('boilerplate::auth.loginbox')
<p class="login-box-msg">{{ __('boilerplate::auth.password_reset.intro') }}</p>
{!! Form::open(['route' => 'boilerplate.password.reset.post', 'method' => 'post', 'autocomplete'=> 'off']) !!}
{!! Form::hidden('token', $token) !!}
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::email('email', old('email', $email), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.email'), 'required', 'autofocus']) }}
{!! $errors->first('email','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}">
{{ Form::password('password', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
{!! $errors->first('password','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('password_confirmation') ? 'has-error' : '' }}">
{{ Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password_confirm'), 'required']) }}
{!! $errors->first('password_confirmation','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 text-center">
<button class="btn btn-primary" type="submit">{{ __('boilerplate::auth.password_reset.submit') }}</button>
</div>
</div>
{!! Form::close() !!}
@endcomponent
@endsection

View File

@@ -0,0 +1,39 @@
@extends('boilerplate::auth.layout', ['title' => __('boilerplate::auth.register.title'), 'bodyClass' => 'hold-transition login-page'])
@section('content')
@component('boilerplate::auth.loginbox')
<p class="login-box-msg">{{ __('boilerplate::auth.register.intro') }}</p>
{!! Form::open(['route' => 'boilerplate.register', 'method' => 'post', 'autocomplete'=> 'off']) !!}
<div class="form-group {{ $errors->has('first_name') ? 'has-error' : '' }}">
{{ Form::text('first_name', old('first_name'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.first_name'), 'required', 'autofocus']) }}
{!! $errors->first('first_name','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('last_name') ? 'has-error' : '' }}">
{{ Form::text('last_name', old('last_name'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.last_name'), 'required']) }}
{!! $errors->first('last_name','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('email') ? 'has-error' : '' }}">
{{ Form::email('email', old('email'), ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.email'), 'required']) }}
{!! $errors->first('email','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('password') ? 'has-error' : '' }}">
{{ Form::password('password', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password'), 'required']) }}
{!! $errors->first('password','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="form-group {{ $errors->has('password_confirmation') ? 'has-error' : '' }}">
{{ Form::password('password_confirmation', ['class' => 'form-control', 'placeholder' => __('boilerplate::auth.fields.password_confirm'), 'required']) }}
{!! $errors->first('password_confirmation','<p class="text-danger"><strong>:message</strong></p>') !!}
</div>
<div class="row mbm">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 text-center">
<button type="submit" class="btn btn-primary">
{{ __('boilerplate::auth.register.register_button') }}
</button>
</div>
</div>
{!! Form::close() !!}
@if(!$firstUser)
<a href="{{ route('boilerplate.login') }}">{{ __('boilerplate::auth.register.login_link') }}</a><br>
@endif
@endcomponent
@endsection

View File

@@ -0,0 +1,24 @@
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">{{ __('Verify Your Email Address') }}</div>
<div class="card-body">
@if (session('resent'))
<div class="alert alert-success" role="alert">
{{ __('A fresh verification link has been sent to your email address.') }}
</div>
@endif
{{ __('Before proceeding, please check your email for a verification link.') }}
{{ __('If you did not receive the email') }}, <a href="{{ route('verification.resend') }}">{{ __('click here to request another') }}</a>.
</div>
</div>
</div>
</div>
</div>
@endsection

View File

@@ -7,7 +7,7 @@
@if (!empty($text))
<div class="row m-0 mb-3">
<div class="col-12 p-3 green-dark bg-yellow rounded drop-shadow" style="font-size: 1.4em;">{!! $text !!}</div>
<div class="col-12 p-3 green-dark bg-yellow rounded drop-shadow" style="font-size: 1.2em;">{!! $text !!}</div>
</div>
@endif

View File

@@ -21,9 +21,9 @@
</head>
<body id="index">
<body class="bg-green-dark">
<div class="wrapper">
<div class="container bg-white" style="min-height: 100vh;">
<main>
@include("Shop.layout.partials.header")
<div class="content-wrapper">
@@ -58,6 +58,16 @@
@stack('js')
<script>
function refreshBasketTop() {
$.get("{{ route('Shop.Basket.getSummary') }}", function(response) {
console.log(response);
$('#count-basket').html(response.data.quantity);
$('#total-basket').html(response.data.total);
});
}
</script>
</body>
</html>

View File

@@ -1,7 +1,7 @@
<div class="row">
@if ($articles)
@foreach ($articles as $product_name => $article)
<div class="col-sm-3 col-lg-2">
<div class="col-3 mb-3">
@include('Shop.Articles.partials.article')
</div>
@endforeach

View File

@@ -1,15 +1,17 @@
<div class="row">
<div class="col-6 d-none">
<div id="header-favorite" class="text-light" data-refresh-url="/favorite">
<i class="fa fa-3x fa-heart"></i>
</div>
<div class="col-12 text-right p-2">
<a href="{{ route('Shop.Basket.basket') }}" style="color: white;">
<button type="button" class="btn bg-green-dark basket light">
<i class="fa fa-2x fa-fw fa-shopping-basket mr-2"></i>
<span class="ml-2 badge bg-yellow green-dark">
<span id="count-basket">{{ \App\Repositories\Core\User\ShopCart::getTotalQuantity() }}</span>
Articles
</span>
<span class="ml-2 badge bg-yellow green-dark">
<span id="total-basket">{{ \App\Repositories\Core\User\ShopCart::getTotal() }}</span>
TTC
</span>
</button>
</a>
</div>
<div class="col-6 text-center">
<div id="header-basket" class="text-light mr-3" data-refresh-url="/basket">
<a href="{{ route('Shop.Basket.basket') }}" style="color: white;">
<i class="fa fa-3x fa-shopping-basket"></i>
</a>
</div>
</div>
</div>
</div>

View File

@@ -1,19 +1,19 @@
<div class="row bg-green mr-0">
<div class="row bg-green">
<div class="col-4 col-md-2 form-inline pl-4">
<div class="col-3 form-inline pl-4">
<a href="/"><img src="/img/logo.jpg" class="img-responvive"></a>
<a id="filters" href="#" class="text-white pl-3"><i class="fa fa-2x fa-bars"></i></a>
</div>
<div class="col-8 col-md-6 form-inline">
<div class="col-5 form-inline">
@include("Shop.layout.partials.search")
</div>
<div class="col-6 col-md-2">
<div class="col-1">
@include("Shop.layout.partials.header-profile")
</div>
<div class="col-6 col-md-2 text-right">
<div class="col-3 text-right">
@include("Shop.layout.partials.header-basket")
</div>

View File

@@ -1,13 +1,17 @@
<div class="user-info dropdown js-dropdown">
<span class="account-logo expand-more" data-toggle="dropdown" role="button">Compte client
<i class="material-icons expand-more">&#xE313;</i>
</span>
<div class="row">
<div class="col-12 text-right p-2">
<button type="button" class="btn bg-green-dark light" data-toggle="dropdown">
<i class="fa fa-2x fa-fw fa-user mr-2"></i>
<span id="username" class="ml-2 badge bg-yellow green-dark"></span>
</button>
<ul class="dropdown-menu" aria-labelledby="dLabel">
<li>
<a href="fr/mon-compte" title="Identifiez-vous" rel="nofollow">
<span>Connexion</span>
</a>
</li>
</ul>
<ul class="dropdown-menu" aria-labelledby="dLabel">
<li>
<a href="fr/mon-compte" title="Identifiez-vous" rel="nofollow">
<span>Connexion</span>
</a>
</li>
</ul>
</div>
</div>

View File

@@ -1,23 +1,27 @@
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="collapse navbar-collapse" id="navbarContent">
<ul class="navbar-nav mx-auto">
@foreach ($categories as $category)
<li class="nav-item dropdown megamenu">
<a id="megamenu_{{ $category['id'] }}" href="{{ route('Shop.Categories.show', ['id' => $category['id']]) }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="nav-link dropdown-toggle font-weight-bold text-uppercase">
{{ $category['name'] }}
</a>
@if (isset($category['children']))
<div aria-labelledby="megamenu_{{ $category['id'] }}" class="dropdown-menu border-0 p-0 m-0">
@include('Shop.layout.partials.megamenu')
</div>
@endif
</li>
@endforeach
</ul>
<span style="font-family: Arial Narrow; font-size: 1.1em; font-weight: 900;">
<div class="row shadow mb-3">
<div class="col-8 pl-0">
<nav class="navbar navbar-expand-lg navbar-light bg-light ">
<div class="collapse navbar-collapse" id="navbarContent">
<ul class="navbar-nav">
@foreach ($categories as $category)
<li class="nav-item dropdown megamenu">
<a id="megamenu_{{ $category['id'] }}" href="{{ route('Shop.Categories.show', ['id' => $category['id']]) }}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" class="nav-link dropdown-toggle font-weight-bold text-uppercase">
{{ $category['name'] }}
</a>
@if (isset($category['children']))
<div aria-labelledby="megamenu_{{ $category['id'] }}" class="dropdown-menu border-0 p-0 m-0">
@include('Shop.layout.partials.megamenu')
</div>
@endif
</li>
@endforeach
</ul>
</div>
</nav>
</div>
<div class="col-4 text-right p-3">
<span style="font-size: 1.2em; font-weight: 600;">
Variétés Paysannes de la Semence à l'Assiette
</span>
</div>
</nav>
</div>

View File

@@ -5,7 +5,7 @@
@section('content')
@include('Shop.Tags.partials.filter')
<div class="row">
<div class="row mb-3">
<div class="col-8">
<h1 style="font-size: 2em;">{{ $category['name'] }}</h1>
<h3 style="font-size: 1.2em;">{!! $category['description'] !!}</h3>
@@ -14,6 +14,7 @@
@include('Shop.layout.partials.category_add')
</div>
</div>
@if ($display_by_rows ?? false)
@include('Shop.layout.partials.category_articles_rows')
@else