@foreach(\App\Models\Gallery::where('status',1)->orderBy('id')->limit( getSetting($data->area->name.'_'.$data->part.'_limit'))->get() as $gallery)
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.blade.php b/resources/views/segments/products/ProductGrid/ProductGrid.blade.php
new file mode 100644
index 0000000..bbfdf9d
--- /dev/null
+++ b/resources/views/segments/products/ProductGrid/ProductGrid.blade.php
@@ -0,0 +1,45 @@
+
+
+
+ {{$title}}
+
+
+ @foreach($products as $product)
+
+ @endforeach
+
+ {{$products->links()}}
+
+
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.js b/resources/views/segments/products/ProductGrid/ProductGrid.js
new file mode 100644
index 0000000..e69de29
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.json b/resources/views/segments/products/ProductGrid/ProductGrid.json
new file mode 100644
index 0000000..a24da37
--- /dev/null
+++ b/resources/views/segments/products/ProductGrid/ProductGrid.json
@@ -0,0 +1,10 @@
+{
+ "name": "ProductGrid",
+ "version": "1.0",
+ "author": "xStack",
+ "email": "xshop@xstack.ir",
+ "license": "GPL-3.0-or-later",
+ "url": "https:\/\/xstack.ir",
+ "author_url": "https:\/\/4xmen.ir",
+ "packages": []
+}
\ No newline at end of file
diff --git a/resources/views/segments/products/ProductGrid/ProductGrid.scss b/resources/views/segments/products/ProductGrid/ProductGrid.scss
new file mode 100644
index 0000000..11ba1ef
--- /dev/null
+++ b/resources/views/segments/products/ProductGrid/ProductGrid.scss
@@ -0,0 +1,89 @@
+.ProductGrid {
+ // scss
+ padding: 1rem 0;
+
+ img {
+ width: 100%;
+ height: 250px;
+ object-fit: cover;
+ }
+
+ .product-item {
+ border: 1px solid silver;
+ box-shadow: var(--xshop-shadow);
+ border-radius: var(--xshop-border-radius);
+ position: relative;
+ overflow: hidden;
+
+ h3 {
+ margin-top: 1rem;
+ text-align: center;
+ font-size: 20px;
+ font-weight: 300;
+ color: var(--xshop-text);
+ }
+
+ .prices {
+ display: grid;
+ grid-auto-columns: minmax(0, 1fr);
+ grid-auto-flow: column;
+ text-align: center;
+
+ span {
+ display: block;
+ padding: .5rem;
+ }
+
+ .old-price{
+ text-decoration: red line-through;
+ color: gray;
+ }
+ }
+
+ .fav-btn, .compare-btn {
+ position: absolute;
+ inset-inline-start: -12%;
+ top: 3%;
+ width: 40px;
+ height: 40px;
+ background: #ffffff55;
+ font-size: 25px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ border-radius: 50%;
+ z-index: 4;
+ cursor: pointer;
+ transition: .4s;
+
+ &:hover {
+ background: var(--xshop-primary);
+ color: var(--xshop-diff);
+ }
+ }
+
+ .fav-btn {
+ top: calc(3% + 50px);
+
+ &[data-is-fav="-1"]{
+ display: none;
+ }
+ &[data-is-fav="1"]{
+ .ri-heart-line{
+ display: none;
+ }
+ }
+ &[data-is-fav="0"]{
+ .ri-heart-fill{
+ display: none;
+ }
+ }
+ }
+
+ &:hover {
+ .fav-btn, .compare-btn {
+ inset-inline-start: 3%;
+ }
+ }
+ }
+}