1
0
Fork 0

xshop fix ui

main
A1Gard 2 years ago
parent 3b9d0670f8
commit 1e67096dbc

1
.gitignore vendored

@ -241,3 +241,4 @@ crashlytics-build.properties
fabric.properties
.idea
/yarn.lock

@ -36,8 +36,8 @@ class DatabaseSeeder extends Seeder
MenuSeeder::class,
PropSeeder::class,
ProductSeeder::class,
InvoiceSeeder::class,
SliderSeeder::class,
// InvoiceSeeder::class,
// SliderSeeder::class,
SettingSeeder::class,
MenuSeeder::class,
]);

@ -17,30 +17,32 @@ class SettingSeeder extends Seeder
//
\DB::insert(<<<SQL
REPLACE INTO `settings` (`id`, `section`, `type`, `title`, `active`, `key`, `value`, `created_at`, `updated_at`) VALUES
(1, '1menu', 'image', 'لوگو', 1, 'logo_png', NULL, '2022-08-02 04:44:57', '2022-08-02 04:44:57'),
(2, '2top', 'text', 'عنوان قسمت اصلی', 1, 'top1text', 'محصولات پر فروش', '2022-08-02 04:53:04', '2022-08-02 05:23:03'),
(3, '2top', 'cat', 'دسته قسمت اصلی', 1, 'top1cat', '1', '2022-08-02 04:53:35', '2022-08-02 05:23:57'),
(4, '2top', 'text', 'عنوان قسمت بالا', 1, 'top2text', '33%', '2022-08-02 04:53:04', '2022-08-02 05:24:06'),
(5, '2top', 'cat', 'دسته قسمت بالا', 1, 'top2cat', '1', '2022-08-02 04:53:35', '2022-08-02 05:24:06'),
(6, '2top', 'text', 'عنوان قسمت پایین', 1, 'top3text', '15%', '2022-08-02 04:53:04', '2022-08-02 05:24:06'),
(7, '2top', 'cat', 'دسته قسمت پایین', 1, 'top3cat', '1', '2022-08-02 04:53:35', '2022-08-02 05:24:06'),
(8, '3top', 'text', 'عنوان قسمت دوم', 1, 'sectext', 'سایر محصولات', '2022-08-02 04:53:04', '2022-08-02 05:24:06'),
(9, '3top', 'cat', 'دسته قسمت دوم', 1, 'seccat', '1', '2022-08-02 04:53:35', '2022-08-02 05:24:06'),
(10, '4sec', 'text', 'عنوان قسمت سوم فیلتر دار', 1, '3text', 'لوازم جانبی', '2022-08-02 05:03:47', '2022-08-02 05:24:06'),
(11, '4sec', 'cat', 'دسته قسمت سوم فیلتر دار', 1, '3cat', '1', '2022-08-02 05:04:35', '2022-08-02 05:24:06'),
(12, '5sec', 'cat', 'دسته برند', 1, '4cat', '1', '2022-08-02 05:04:35', '2022-08-02 05:24:06'),
(13, '6footer', 'category', 'دسته فوتر سمت راست', 1, 'footer1', '1', '2022-08-02 05:08:10', '2022-08-02 05:24:06'),
(14, '6footer', 'category', 'فوتر وسط', 1, 'footer2', '4', '2022-08-02 05:08:42', '2022-09-12 05:57:55'),
(15, '6footer', 'code', 'فوتر سمت راست', 1, 'footer3', '<img src="http://parsavps.com/enamad.png" width="145px" />', '2022-08-02 05:10:14', '2022-08-02 05:31:52'),
(16, '6footer', 'text', 'شبکه اجتماعی ایستاگرام', 1, 'soc_in', NULL, '2022-08-02 05:11:20', '2022-08-02 05:11:20'),
(17, '6footer', 'text', 'شبکه اجتماعی تلگرام', 1, 'soc_tg', NULL, '2022-08-02 05:11:20', '2022-08-02 05:11:20'),
(18, '6footer', 'text', 'شبکه اجتماعی توییتر', 1, 'soc_tw', 'https://twitter.com/a1gard', '2022-08-02 05:11:20', '2022-08-02 05:24:06'),
(19, '6footer', 'text', 'شبکه اجتماعی واستاپ (شماره با کد کشور)', 1, 'soc_wp', '+989121234567', '2022-08-02 05:11:20', '2022-08-02 05:27:02'),
(20, '6footer', 'text', 'شبکه اجتماعی یوتویب', 1, 'soc_yt', NULL, '2022-08-02 05:11:20', '2022-08-02 05:11:20'),
(21, '7seo', 'text', 'کد رنگ سایت', 1, 'color', '#3593D2', '2022-08-02 05:18:38', '2022-08-02 05:24:06'),
(22, '7seo', 'text', 'سئو کلمات کلیدی', 1, 'keywords', 'فروشگاه، فروش آنلاین', '2022-08-02 05:19:10', '2022-08-02 05:24:06'),
(23, '7seo', 'text', 'سئو جزئیات', 1, 'desc', 'توضیحات فروشگاه شما', '2022-08-02 05:20:08', '2022-08-02 05:24:06'),
(24, '7seo', 'text', 'متن کپی رایت', 1, 'copyright', 'کلیه حقوق برای وبسایت فروشگاه محفوظ است', '2022-08-02 05:40:18', '2022-08-02 05:40:37');
(NULL, '1menu', 'image', 'لوگو', 1, 'logo_png', NULL, '2022-08-02 04:44:57', '2022-08-02 04:44:57'),
(NULL, '2top', 'text', 'عنوان قسمت اصلی', 1, 'top1text', 'محصولات پر فروش', '2022-08-02 04:53:04', '2022-08-02 05:23:03'),
(NULL, '2top', 'cat', 'دسته قسمت اصلی', 1, 'top1cat', '1', '2022-08-02 04:53:35', '2022-08-02 05:23:57'),
(NULL, '2top', 'text', 'عنوان قسمت بالا', 1, 'top2text', '33%', '2022-08-02 04:53:04', '2022-08-02 05:24:06'),
(NULL, '2top', 'cat', 'دسته قسمت بالا', 1, 'top2cat', '1', '2022-08-02 04:53:35', '2022-08-02 05:24:06'),
(NULL, '2top', 'text', 'عنوان قسمت پایین', 1, 'top3text', '15%', '2022-08-02 04:53:04', '2022-08-02 05:24:06'),
(NULL, '2top', 'cat', 'دسته قسمت پایین', 1, 'top3cat', '1', '2022-08-02 04:53:35', '2022-08-02 05:24:06'),
(NULL, '3top', 'text', 'عنوان قسمت دوم', 1, 'sectext', 'سایر محصولات', '2022-08-02 04:53:04', '2022-08-02 05:24:06'),
(NULL, '3top', 'cat', 'دسته قسمت دوم', 1, 'seccat', '1', '2022-08-02 04:53:35', '2022-08-02 05:24:06'),
(NULL, '4sec', 'text', 'عنوان قسمت سوم فیلتر دار', 1, '3text', 'لوازم جانبی', '2022-08-02 05:03:47', '2022-08-02 05:24:06'),
(NULL, '4sec', 'cat', 'دسته قسمت سوم فیلتر دار', 1, '3cat', '1', '2022-08-02 05:04:35', '2022-08-02 05:24:06'),
(NULL, '5sec', 'cat', 'دسته برند', 1, '4cat', '1', '2022-08-02 05:04:35', '2022-08-02 05:24:06'),
(NULL, '6footer', 'category', 'دسته فوتر سمت راست', 1, 'footer1', '1', '2022-08-02 05:08:10', '2022-08-02 05:24:06'),
(NULL, '6footer', 'category', 'فوتر وسط', 1, 'footer2', '4', '2022-08-02 05:08:42', '2022-09-12 05:57:55'),
(NULL, '6footer', 'code', 'فوتر سمت راست', 1, 'footer3', '<img src="http://parsavps.com/enamad.png" width="145px" />', '2022-08-02 05:10:14', '2022-08-02 05:31:52'),
(NULL, '6footer', 'text', 'شبکه اجتماعی ایستاگرام', 1, 'soc_in', NULL, '2022-08-02 05:11:20', '2022-08-02 05:11:20'),
(NULL, '6footer', 'text', 'شبکه اجتماعی تلگرام', 1, 'soc_tg', NULL, '2022-08-02 05:11:20', '2022-08-02 05:11:20'),
(NULL, '6footer', 'text', 'شبکه اجتماعی توییتر', 1, 'soc_tw', 'https://twitter.com/a1gard', '2022-08-02 05:11:20', '2022-08-02 05:24:06'),
(NULL, '6footer', 'text', 'شبکه اجتماعی واستاپ (شماره با کد کشور)', 1, 'soc_wp', '+989121234567', '2022-08-02 05:11:20', '2022-08-02 05:27:02'),
(NULL, '6footer', 'text', 'شبکه اجتماعی یوتویب', 1, 'soc_yt', NULL, '2022-08-02 05:11:20', '2022-08-02 05:11:20'),
(NULL, '7seo', 'text', 'کد رنگ سایت', 1, 'color', '#3593D2', '2022-08-02 05:18:38', '2022-08-02 05:24:06'),
(NULL, '7seo', 'text', 'سئو کلمات کلیدی', 1, 'keywords', 'فروشگاه، فروش آنلاین', '2022-08-02 05:19:10', '2022-08-02 05:24:06'),
(NULL, '7seo', 'text', 'سئو جزئیات', 1, 'desc', 'توضیحات فروشگاه شما', '2022-08-02 05:20:08', '2022-08-02 05:24:06'),
(NULL, '7seo', 'text', 'متن کپی رایت', 1, 'copyright', 'کلیه حقوق برای وبسایت فروشگاه محفوظ است', '2022-08-02 05:40:18', '2022-08-02 05:40:37'),
(NULL, '1menu', 'text', 'تلفن', 1, 'tel', NULL, '2023-02-23 00:21:33', '2023-02-23 00:21:33'),
(NULL, '1menu', 'text', 'ایمیل', 1, 'email', NULL, '2023-02-23 00:21:53', '2023-02-23 00:21:53');
SQL
);
\DB::insert(<<<SQL

13
package-lock.json generated

@ -1,5 +1,5 @@
{
"name": "xshop",
"name": "xShop10",
"lockfileVersion": 2,
"requires": true,
"packages": {
@ -21,6 +21,7 @@
"vue-multiselect": "^2.1.6",
"vue-select2": "^0.2.6",
"vue-simple-range-slider": "^1.0.0",
"x-mega-menu": "^1.2.0",
"xzoom": "^1.0.15"
},
"devDependencies": {
@ -9743,6 +9744,11 @@
}
}
},
"node_modules/x-mega-menu": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/x-mega-menu/-/x-mega-menu-1.2.0.tgz",
"integrity": "sha512-KuqjPoCptgAujAi4v2M0WnwfKnkCF1RbZIrYpPxvikOvFd4O/FlIasjRTOb/r2kDZ3GLPfT0MbiLlVp5Jm4gVg=="
},
"node_modules/xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
@ -17172,6 +17178,11 @@
"dev": true,
"requires": {}
},
"x-mega-menu": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/x-mega-menu/-/x-mega-menu-1.2.0.tgz",
"integrity": "sha512-KuqjPoCptgAujAi4v2M0WnwfKnkCF1RbZIrYpPxvikOvFd4O/FlIasjRTOb/r2kDZ3GLPfT0MbiLlVp5Jm4gVg=="
},
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",

@ -40,6 +40,7 @@
"vue-multiselect": "^2.1.6",
"vue-select2": "^0.2.6",
"vue-simple-range-slider": "^1.0.0",
"x-mega-menu": "^1.2.0",
"xzoom": "^1.0.15"
}
}

@ -793,7 +793,7 @@ body.hc-nav-open {
margin-bottom: -1px;
}
.hc-offcanvas-nav .nav-title {
color: deeppink !important;
color: dodgerblue !important;
}
.hc-offcanvas-nav .nav-title + .nav-close a:not(.has-label) {
position: absolute;

File diff suppressed because it is too large Load Diff

@ -11487,7 +11487,7 @@ section {
top: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.95);
z-index: 99;
z-index: 9999999;
padding-top: 45vh;
text-align: center;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 64 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -110,7 +110,7 @@ export default {
modal: false,
}
},
props: ['jdata', 'defz', 'images','counts'],
props: ['jdata', 'defz', 'images'],
mounted() {
this.updateJdata(this.jdata, this.defz);
},
@ -143,7 +143,6 @@ export default {
if (this.quantities.length == 0) {
for (const d in def) {
this.quantities[d] = JSON.parse(def[d]);
this.quantities[d].count = this.counts[d];
}
}

@ -206,7 +206,7 @@ jQuery(function ($) {
}
}
} catch (e) {
console.log(e.message);
// console.log(e.message);
}
let lastprice = totalPrice;
if ($(".transport:checked").data('price') !== undefined) {

@ -241,7 +241,7 @@
"Leave your comment": "ارسال دیدگاه",
"Link": "پیوند",
"Login": "ورود",
"Login \/ Register": "ثبت‌نام | ورود",
"Login \/ Register": "ثبت‌نام یا ورود",
"Logout": "خروج",
"Logs": "لاگ ها",
"Long text": "متن طولانی",
@ -257,8 +257,7 @@
"Menus preview": "پیش نمایش منو",
"Message": "پیام",
"Metas and publish": "ویژگی ها و انتشار",
"Mobile": "لطفا شماره موبایل خود را وارد کنید :",
"Mobile-Place": "09** *** ** **",
"Mobile": "موبایل",
"Monday": "دوشنبه",
"Multi level select type": "نوع چند مرحله ای",
"Multi select type": "نوع انتخالی چند گانه",
@ -461,7 +460,6 @@
"Text": "متن",
"Text type": "نوع نوشته",
"The first and\/or second image will be index image": "اولی ویا دومین عکس به عنوان شاخص در نظر گرفته می‌شوند",
"The order is duplicate please check invoices list": "سفارش تکراری دریافت شد لطفا فهرست سفارشات خود را بررسی کنید، اگر صورت حساب ایجاد نشده بود مجدد اقدام کنید",
"Thumbnail": "بند انگشتی",
"Thursday": "پنجشنبه",
"Ticket": "پشتیبانی",

@ -1,4 +1,5 @@
// Fonts
@import "~@fortawesome/fontawesome-free/css/all.min.css";
@import "~vazir-font/dist/font-face.css";
@import "~vue-multiselect/dist/vue-multiselect.min.css";

@ -0,0 +1,131 @@
:root {
--bg: hsl(223deg, 10%, 90%);
--trans-dur: 0.3s;
}
.tvdd {
overflow: hidden;
position: relative;
width: 16em;
height: 16em;
}
.tvdd__ring {
top: 0;
left: 18.75%;
width: 62.5%;
height: 62.5%;
transform-origin: 50% 80%;
}
.tvdd__ring, .tvdd__ring-dot {
position: absolute;
}
.tvdd__ring-dots {
animation: pivot 1s linear infinite;
width: 100%;
height: 100%;
}
.tvdd__ring-dot {
animation: pulse 1s ease-in-out infinite;
background-color: hsl(193deg, 90%, 55%);
border-radius: 50%;
margin: -5% 0 0 -5%;
width: 10%;
height: 10%;
}
.tvdd__ring-dot:nth-child(1) {
top: 38.3531429704%;
left: 6.533337817%;
}
.tvdd__ring-dot:nth-child(2) {
animation-delay: -0.0833333333s;
top: 61.6468570296%;
left: 6.533337817%;
}
.tvdd__ring-dot:nth-child(3) {
animation-delay: -0.1666666667s;
top: 81.8198051534%;
left: 18.1801948466%;
}
.tvdd__ring-dot:nth-child(4) {
animation-delay: -0.25s;
top: 93.466662183%;
left: 38.3531429704%;
}
.tvdd__ring-dot:nth-child(5) {
animation-delay: -0.3333333333s;
top: 93.466662183%;
left: 61.6468570296%;
}
.tvdd__ring-dot:nth-child(6) {
animation-delay: -0.4166666667s;
top: 81.8198051534%;
left: 81.8198051534%;
}
.tvdd__ring-dot:nth-child(7) {
animation-delay: -0.5s;
top: 61.6468570296%;
left: 93.466662183%;
}
.tvdd__ring-dot:nth-child(8) {
animation-delay: -0.5833333333s;
top: 38.3531429704%;
left: 93.466662183%;
}
.tvdd__ring-dot:nth-child(9) {
animation-delay: -0.6666666667s;
top: 18.1801948466%;
left: 81.8198051534%;
}
.tvdd__ring-dot:nth-child(10) {
animation-delay: -0.75s;
top: 6.533337817%;
left: 61.6468570296%;
}
.tvdd__ring-dot:nth-child(11) {
animation-delay: -0.8333333333s;
top: 6.533337817%;
left: 38.3531429704%;
}
.tvdd__ring-dot:nth-child(12) {
animation-delay: -0.9166666667s;
top: 18.1801948466%;
left: 18.1801948466%;
}
.tvdd__ring:nth-child(2) {
transform: rotate(120deg);
}
.tvdd__ring:nth-child(2) .tvdd__ring-dot {
background-color: hsl(223deg, 90%, 55%);
}
.tvdd__ring:nth-child(3) {
transform: rotate(240deg);
}
.tvdd__ring:nth-child(3) .tvdd__ring-dot {
background-color: hsl(253deg, 90%, 55%);
}
/* Dark theme */
@media (prefers-color-scheme: dark) {
:root {
--bg: hsl(223deg, 10%, 10%);
}
}
/* Animations */
@keyframes pivot {
from {
transform: rotate(0);
}
to {
transform: rotate(30deg);
}
}
@keyframes pulse {
from, to {
transform: scale(0.1);
}
50% {
transform: scale(1);
}
}

@ -240,7 +240,7 @@ $hc-offcanvas-nav-text-size: 14px !default;
}
.nav-title {
color: deeppink !important;
color: dodgerblue !important;
& + .nav-close {
a:not(.has-label) {
position: absolute;

@ -1,6 +1,6 @@
#index-top .grid{
display: grid;
grid-template-columns: repeat(12,1fr);
grid-template-columns: repeat(8,1fr);
grid-template-rows: auto;
grid-gap: 10px 10px;
padding-top: 1rem;
@ -8,28 +8,28 @@
#index-top .grid > div{
border-radius: 15px;
/*display: flex;*/
/*align-items: center;*/
/*justify-content: center;*/
display: flex;
align-items: center;
justify-content: center;
color: white;
padding: 2rem 1rem;
}
#index-top .grid > div:first-child{
grid-column: 7 span;
grid-column: 1/5 span;
grid-row: 1/3;
background: transparent ;
position: relative;
background: #273763 ;
}
#index-top .grid > div:nth-child(2){
grid-column: 5 span;
grid-column: 6/3 span ;
grid-row: 1/2;
/*background: rgb(255,125,51);*/
/*background: linear-gradient(180deg, rgba(255,125,51,1) 0%, rgba(255,151,29,1) 100%);*/
background: rgb(255,125,51);
background: linear-gradient(180deg, rgba(255,125,51,1) 0%, rgba(255,151,29,1) 100%);
}
#index-top .grid > div:nth-child(3){
grid-column: 5 span;
grid-column: 6/3 span;
grid-row: 2/2;
/*background: #504cff ;*/
background: #504cff ;
}
#index-top .grid > div:nth-child(2),
#index-top .grid > div:nth-child(3){
@ -38,18 +38,14 @@
#index-top .grid div img{
/*height: 200px;*/
/*margin-bottom: 1rem;*/
border-radius: 35px;
height: 100%;
width: 100%;
object-fit: cover;
height: 200px;
margin-bottom: 1rem;
}
#index-top .grid div article{
/*flex-grow: 1;*/
/*display: flex;*/
/*flex-direction: column;*/
/*align-items:center;*/
flex-grow: 1;
display: flex;
flex-direction: column;
align-items:center;
width:100%;
}
#index-top .grid div article div{
@ -81,11 +77,6 @@
background: #283035aa !important;
}
#index-top .xd img{
width: 100%;
height: 100%;
object-fit: cover;
}
/*-1024px width*/
@media ( max-width: 1024px ) {
@ -230,7 +221,7 @@
}
.list-grid{
display: grid;
grid-template-columns: repeat(4,1fr);
grid-template-columns: repeat(3,1fr);
}
@media ( max-width: 1200px ) {
@ -285,11 +276,3 @@
color: #2d69eb;
text-decoration: none;
}
#index-top .owl-dots{
position: absolute;
bottom: 7px;
z-index: 9;
right: 25px;
}

@ -1,7 +1,4 @@
.mobile-only{
display: none;
}
.main-wrapper {
top: -100px;
transition: 300ms;
@ -27,7 +24,7 @@
}
.main-wrapper a:hover {
color: #f442b3;
color: #0074a7;
opacity: 1;
}
@ -45,7 +42,7 @@
max-height: 100vh;
display: flex;
flex-direction: column;
z-index: 99;
z-index: 10;
}
.brand-and-icon {
@ -145,7 +142,7 @@
}
.sub-menu-item:nth-child(3) {
background: #fdd6ff;
background: #94eafc;
display: flex;
flex-direction: column;
justify-content: center;
@ -161,12 +158,12 @@
}
.sub-menu-item:nth-child(3) .btn {
border: 1px solid deeppink;
border: 1px solid #0d7fa7;
text-transform: uppercase;
font-size: 0.9rem;
padding: 0.6rem 1rem;
cursor: pointer;
background: deeppink;
background: #0085a7;
color: #fff;
transition: all 0.5s ease;
}
@ -227,20 +224,6 @@
color: #000;
}
/*-992px width*/
@media ( max-width: 992px ) {
body{
padding-top: 15px;
}
.mobile-only{
display: block !important;
margin-top: -20px;
}
#top-top .text-end{
text-align: center !important;
}
}
/* Media Queries */
@media screen and (min-width: 992px) {
@ -253,13 +236,12 @@
position: relative;
}
.navbarx-toggler {
display: none;
}
.brand-and-icon {
flex: 0 0 0px;
flex: 0 0 150px;
border-bottom: none;
padding: 0;
}
@ -308,7 +290,7 @@
}
.navbarx-nav > li:hover {
border-bottom-color: deeppink;
border-bottom-color: #0085a7;
}
.sub-menu-item {
@ -339,7 +321,7 @@
top: 0;
left: 0;
right: 0;
z-index: 999;
z-index: 88;
}
@ -349,4 +331,3 @@
max-width: 95%;
}
}

@ -91,7 +91,7 @@
.tabs li.active{
border: none;
transition: 0.4s;
border-bottom: 2px solid deeppink;
border-bottom: 2px solid dodgerblue;
position: relative;
height: 75px;
margin-bottom: -25px;

@ -2,6 +2,7 @@
@import url('grid.css');
@import url('product.css');
* {
font-family: 'Vazir FD', sans-serif;
}
@ -23,38 +24,8 @@ section h1, section h2 {
font-size: 25px;
}
#searching {
border-radius: 15px;
position: relative;
z-index: 3;
}
#addon-wrapping {
background: #1dd3b0 !important;
color: white;
border-radius: 50%;
position: relative;
left: 35px;
z-index: 4;
}
#addon-wrapping:after {
position: absolute;
border: 2px dashed #1dd3b0;
border-radius: 50%;
left: -6px;
right: -6px;
top: -6px;
bottom: -6px;
content: ' ';
z-index: 0;
}
.form-control:focus{
border-color: #f442b3;
box-shadow: 0 0 0 0.25rem #f442b355;
}
footer {
background: url("../css/loginbg.png") !important;
background: #F5F5F5;
color: white;
padding-top: 2em;
}
@ -68,7 +39,7 @@ ul li a {
}
ul li {
color: #ea4c89;
color: #2B63FF;
}
footer h3 {
@ -78,7 +49,8 @@ footer h3 {
color: black;
margin-bottom: 25px;
box-shadow: 0 2px 0 #f5f5f5 inset;
color: deeppink;
background: linear-gradient(#f5f5f5, #f5f5f5) 50% 50%/calc(100%) calc(100% - 2px) no-repeat,
linear-gradient(90deg, transparent 0%, #afafaf77 55%, #afafaf77 65%, #afafaf77 100%);
}
footer a {
@ -198,6 +170,17 @@ aside .form-check {
}
}
#top-top {
padding-bottom: 1em;
}
#top-top .text-end {
margin-top: 1em;
}
#addon-wrapping {
background: #0a53be !important;
border-color: teal;
}
#top {
padding-top: 15px;
@ -248,6 +231,15 @@ aside .form-check {
#top .logo-container {
display: none;
}
#top-top .text-end {
display: grid;
grid-template-columns: repeat(2, 1fr);
grid-gap: 1em;
}
#top-top .text-end .btn.btn {
}
}
@ -299,13 +291,12 @@ aside .form-check {
top: 0;
bottom: 0;
background: #fff;
z-index: 9999999;
z-index: 999;
display: flex;
align-items: center;
align-content: center;
justify-content: center;
text-decoration: unset;
text-decoration: none;
}
#preloader img {
@ -465,7 +456,7 @@ aside .form-check {
/*go top*/
#go-top {
background-color: #ea4c89;
background-color: #FF9800;
width: 50px;
height: 50px;
text-align: center;
@ -580,7 +571,7 @@ aside .form-check {
}
#product {
background: #f7edf6;
background: #efefef;
padding-top: 1em;
}
@ -748,19 +739,6 @@ tr.border-bottom td {
#main-conetent .form-group label {
text-align: end;
}
.card-body{
padding: 55px;
display: block;
margin: auto;
max-width: 480px;
}
.sign-rule{
font-size: 11px;
}
.card{
background: rgb(218,155,183);
background: radial-gradient(circle, rgba(218,155,183,0.844958051580007) 0%, rgba(211,148,233,0.4051821412158614) 100%);
}
#card-info {
position: fixed;
@ -816,7 +794,7 @@ tr.border-bottom td {
}
.simple-range-slider-bar {
background: #f442b3 !important
background: dodgerblue !important
}
.parallax {
@ -841,21 +819,20 @@ tr.border-bottom td {
}
.btn-info:hover {
background: deeppink;
background: dodgerblue;
}
.alert-info {
background: #f3c7e9;
border-color: deeppink;
border-color: dodgerblue;
color: darkred;
}
.form-check-input:checked {
background-color: darkmagenta;
border-color: deeppink;
border-color: dodgerblue;
}
.post-card {
@ -881,12 +858,15 @@ tr.border-bottom td {
.box .fav .fa {
display: none;
}
.box .fav.liked .far {
display: none;
}
.box .fav.liked .fa {
display: block;
}
.box .fav:hover .far, .box .fav.liked:hover .fa {
display: none !important;
}
@ -894,3 +874,46 @@ tr.border-bottom td {
.box .fav:hover .fa, .box .fav.liked:hover .far {
display: block !important;
}
.navbar-brand img {
max-width: 155px;
}
.marquee {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
margin: 12px 0;
font-weight: 100;
}
.marquee:nth-of-type(2) {
background-color: #55BEC9;
}
.marquee:nth-of-type(3) {
background-color: #6ED1A8;
}
.marquee .row {
animation: marquee 20s linear infinite;
position: absolute;
width: 200%;
}
.marquee .row span {
float: left;
width: 50%;
}
@keyframes marquee {
0% {
right: 140%;
}
100% {
right: -140%;
}
}
.btn-outline-primary:hover a{
color: white ;
}

@ -20,5 +20,5 @@ try {
}
});
} catch(e) {
console.log(e.message);
// console.log(e.message);
}

@ -1,7 +1,8 @@
require('hc-offcanvas-nav/dist/hc-offcanvas-nav');
// import xMegaMenu from 'x-mega-menu/src/x-mega-menu';
import xm from 'x-mega-menu/dist/x-mega-menu.min';
let xMegaMenu = window.xMegaMenu = xm.xMegaMenu;
function CopyToClipboard(containerid) {
if (window.getSelection) {
@ -46,38 +47,36 @@ let qnn, images, sizes;
jQuery(function ($) {
try {
var Nav = new hcOffcanvasNav('#main-nav', {
disableAt: 300000,
customToggle: '.toggle',
navTitle: document.title,
levelTitles: true,
rtl: true,
position: 'right',
levelTitleAsBack: true
xMegaMenu('#mega-menu', {
responseWidth: 1124,
isRtl: true,
mainTitle: appName,
blurEffect: true,
disableLinks: false,
});
} catch(e) {
console.log(e.message);
}
try {
$(".xzoom, .xzoom-gallery").xzoom({tint: '#333', Xoffset: 15});
} catch(e) {
console.log(e.message);
}
$(window).on('load', function () {
setTimeout(function () {
$('#preloader').slideUp(700);
let max = 150 ;
for( const b of $(".box")) {
if ($(b).height() > max ){
max= $(b).height();
}
}
$('.box').height(max);
$("#favs .box").removeAttr('style');
// let max = 150 ;
// for( const b of $(".box")) {
// if ($(b).height() > max ){
// max= $(b).height();
// }
// }
// $('.box').height(max);
// $("#favs .box").removeAttr('style');
}, 100);
});
@ -129,7 +128,23 @@ jQuery(function ($) {
autoplay: true,
autoplayTimeout: 5000,
autoplayHoverPause: true,
item: 3,
responsive: {
0: {
nav: false,
items: 1,
},
600: {
items: 2,
nav: false,
loop: false
},
1000: {
items: 3,
nav: false,
loop: false
},
}
});
$('#thumbs').owlCarousel({
loop: false,
@ -214,7 +229,6 @@ jQuery(function ($) {
// console.log(err.response.data.errors);
for (const k in err.response.data.errors) {
let er = err.response.data.errors[k];
console.log(er);
alertify.error(k + ' : ' + er[0]);
}
@ -390,7 +404,7 @@ jQuery(function ($) {
let cl = '';
for( const c of colors) {
cl = colorNames[c.color];
console.log(c.color,colorNames);
// console.log(c.color,colorNames);
txt += `<div data-id="${c.id}"
data-price="${c.price}"
data-count="${c.count}"
@ -418,7 +432,7 @@ jQuery(function ($) {
}
} catch (e) {
console.log('size err',e.message);
// console.log('size err',e.message);
}
@ -449,9 +463,8 @@ jQuery(function ($) {
setParticles(100)
} catch (e) {
console.log(e.message);
// console.log(e.message);
}
});

@ -16,12 +16,15 @@ window.Vue = require('vue').default;
// require('./js/gsap.min.js');
// require('./js/Physics2DPlugin3.min');
require('./js/mega-menu.js');
// require('./js/mega-menu.js');
require('./js/product.js');
require('./js/theme.js');
require('./js/chart.js');
require('../js/customer.js');
// require('../js/')
Vue.component('example-component', require('../js/components/ExampleComponent.vue').default);
Vue.component('meta-price', require('../js/components/MetaPrice.vue').default);
@ -40,7 +43,7 @@ var app = new Vue({
},
created() {
if (document.querySelector('#jDataSrc') !== undefined){
if (document.querySelector('#jDataSrc') !== undefined && document.querySelector('#jDataSrc') != null){
try {
this.jdata = JSON.parse(document.querySelector('#jDataSrc').value);
this.def = JSON.parse(document.querySelector('#jDef').value);

@ -9,70 +9,80 @@
@import '~lightbox2/dist/css/lightbox.min.css';
@import '~xzoom/dist/xzoom.min.css';
@import "css/icofont/icofont.min.css";
@import "../sass/preloader";
@import "css/style.css";
a {
color: #ea4c89;
}
a:hover {
color: deeppink;
}
.btn-primary {
background: #ea4c89 !important;
border-color: deeppink !important;
}
.btn-primary:hover {
background: deeppink !important;
}
.bg-primary {
background: deeppink !important;
}
.btn-info {
background: #ea4c89;
border-color: deeppink !important;
}
.btn-info:hover {
background: deeppink;
}
.btn-outline-primary {
color: #ea4c89 !important;
border-color: #ea4c89 !important;
}
.btn-outline-primary:hover {
background: #ea4c89 !important;
color: white !important;
}
.btn-outline-primary:hover a {
color: white !important;
}
.alert-info {
background: #f3c7e9;
border-color: deeppink;
color: darkred;
}
.alert-info h2 {
color: darkmagenta;
}
.navbar-brand img {
height: 45px;
margin-top: 15px;
}
.form-check-input:checked{
background-color: darkmagenta;
border-color: deeppink;
}
$main-color: #0085a7;
$invert-text-color: white;
$second-color: black;
$sub-menu-color: #222222;
$main-menu-bg: #eeeeee;
$is-dark: 'false';
@import "~x-mega-menu/src/main-x-mega-menu";
//
//a {
// color: #ea4c89;
//}
//
//a:hover {
// color: dodgerblue;
//}
//
//.btn-primary {
// background: #ea4c89 !important;
// border-color: dodgerblue !important;
//}
//
//.btn-primary:hover {
// background: dodgerblue !important;
//}
//
//.bg-primary {
// background: dodgerblue !important;
//}
//
//.btn-info {
// background: #ea4c89;
// border-color: dodgerblue !important;
//}
//.btn-info:hover {
// background: dodgerblue;
//}
//
//.btn-outline-primary {
// color: #ea4c89 !important;
// border-color: #ea4c89 !important;
//}
//
//.btn-outline-primary:hover {
// background: #ea4c89 !important;
// color: white !important;
//}
//
//.btn-outline-primary:hover a {
// color: white !important;
//}
//
//.alert-info {
// background: #f3c7e9;
// border-color: dodgerblue;
// color: darkred;
//}
//
//.alert-info h2 {
// color: darkmagenta;
//}
//
//.navbar-brand img {
// height: 45px;
// margin-top: 15px;
//}
//
//.form-check-input:checked{
// background-color: darkmagenta;
// border-color: dodgerblue;
//}
.product-info {
padding: 0;
list-style: none;
@ -286,7 +296,7 @@ a:hover {
}
i {
color: #f9247a;
color: #0a53be;
margin-left: 10px;
}
@ -437,3 +447,38 @@ a:hover {
#size-pick .size.active {
background: #f9247a !important;
}
#x-toggle {
img{
display: inline-block;
}
}
.x-mega-menu{
margin-bottom: 0 !important;
padding: 0;
}
#x-side-menu {
ul {
padding: 0;
}
h1, h2, h3, h4, h5, h6 {
margin-bottom: 0 !important;
color: white;
}
}
.x-sub-menu{
h3{
font-size: 16px;
color: teal;
}
ul {
padding: 0;
margin-bottom: 0 !important;
}
li{
list-style: none;
}
}

@ -24,9 +24,7 @@
<div id="metaprice">
<meta-price ref="metaPr" :jdata='jdata' :images='{!! isset($product)?$product->getMedia():'[]' !!}'
:defz='{!! isset($product)?$product->quantities()->pluck('data'):'[]' !!}'
:counts='{!! isset($product)?$product->quantities()->pluck('count'):'[]' !!}' ></meta-price>
:defz='{!! isset($product)?$product->quantities()->pluck('data'):'[]' !!}' ></meta-price>
</div>
@if(isset($product))
<input type="hidden" name="id" value="{{$product->id}}"/>

@ -208,7 +208,7 @@
پرداخت آنلاین
</a>
</div>
@if(auth('customer')->check() && auth('customer')->user()->credit > 0)
@if(auth('customer')->user()->credit > 0)
<hr>
<h5 class="text-center">
{{__("Pay by credit")}}: {{number_format(auth('customer')->user()->credit)}} {{config('app.currency_type')}}

@ -1,6 +1,7 @@
<script>
var isInit = false;
var uploadFormData = [];
var appName = `{{config('app.name')}}`;
window.translate = {};
window.translate.next = `{{__('Next')}}`;
window.translate.prev = `{{__('Previous')}}`;

@ -3,7 +3,7 @@
<url>
<loc>{{route('products')}}</loc>
<lastmod>{{ $items[0]->updated_at->tz('UTC')->toAtomString() }}</lastmod>
<changefreq>daily</changefreq>
<changefreq>dayly</changefreq>
<priority>1</priority>
</url>
@foreach($items as $item)

@ -14,16 +14,16 @@
<div class="container pt-5">
<div class="row">
@if (count($products) > 0)
{{-- <div class="col-12">--}}
{{-- <div>--}}
{{-- <img class=" mt-1 me-3 float-start icon-size" style="position: relative;top: -25px"--}}
{{-- src="{{asset('images/track.svg')}}" alt="ارسال آنی">--}}
{{-- <h6 class="mt-1 text-muted">--}}
{{-- ارسال آنی در تهران--}}
{{-- </h6>--}}
{{-- <hr>--}}
{{-- </div>--}}
{{-- </div>--}}
<div class="col-12">
<div>
<img class=" mt-1 me-3 float-start icon-size" style="position: relative;top: -25px"
src="{{asset('images/track.svg')}}" alt="ارسال آنی">
<h6 class="mt-1 text-muted">
ارسال آنی در تهران
</h6>
<hr>
</div>
</div>
<div class="col-xl-3 col-md-4">
<aside class="mb-5">
<input type="hidden" id="catId" value="{{$cat->id}}" data-url="{{route('props.list',$cat->id)}}">

@ -0,0 +1,63 @@
<nav>
<ul id="mega-menu">
<li>
<a href="/">
<img src="{{asset('images/logo.png')}}" class="logo" alt="">
</a>
</li>
@foreach(\App\Helpers\getMainCats(4) as $mcat)
<li>
<a href="{{route('cat',$mcat->slug)}}">
{{$mcat->name}}
</a>
<ul>
<li>
<h3>
محبوب ترین
{{$mcat->name}}
ها
</h3>
<ul>
@foreach($mcat->products()->orderby('stock_quantity','desc')->limit(5)->get() as $p)
<li>
<a href="{{route('product',$p->slug)}}">
{{$p->name}}
</a>
</li>
@endforeach
</ul>
</li>
<li>
<h3>
{{$mcat->name}}
به تفکیک
</h3>
<ul>
@foreach(\App\Helpers\getSubCats($mcat->id) as $subcat)
<li>
<a href="{{route('cat',$subcat->slug)}}">
{{$subcat->name}}
</a>
</li>
@endforeach
</ul>
</li>
<li class="x-highlight">
<h3>
{{$mcat->name}}
</h3>
<br>
<p>
{{$mcat->description}}
</p>
</li>
<li>
<img src="{{$mcat->thumbUrl()}}" alt="">
</li>
</ul>
</li>
@endforeach
{!! \App\Helpers\MenuShowByName('menu') !!}
</ul>
</nav>

@ -198,7 +198,7 @@
</tr>
</thead>
<tbody>
@foreach(\App\Models\Invoice::whereCustomerId(auth('customer')->id())->orderBy('id','desc')->with('successPayments')->get() as $invoice)
@foreach(\App\Models\Invoice::whereCustomerId(auth('customer')->id())->with('successPayments')->get() as $invoice)
<tr class="{{$invoice->status===\App\Models\Invoice::COMPLETED?'text-success':''}}">
<td>{{$loop->index+1}}</td>
<td style="width: 45%">

@ -1,152 +1,163 @@
@extends('website.layout')
@section('body-class') pt-0 @endsection
@section('content')
{{-- <section id="child">--}}
{{-- <div id="particle"></div>--}}
{{-- <div id="owl3" class="owl-carousel owl-theme">--}}
{{-- @foreach($sliders as $x => $slider)--}}
{{-- <div class="item @if(($x+1) % 2 == 0) owl-odd @endif">--}}
{{-- <div class="text">--}}
{{-- {!! $slider->body !!}--}}
{{-- </div>--}}
{{-- </div>--}}
{{-- @endforeach--}}
{{-- </div>--}}
{{-- </section>--}}
<section id="index-top">
<div class="container">
<div class="grid">
<div class="display-block position-relative">
<div class="fa fa-mobile-alt fa-bg"></div>
<h2 class="mt-5 ms-3">
{{\App\Helpers\getSetting('top1text')}}
</h2>
<div class="clearfix mt-5 mb-5"></div>
<div id="owl2" class="owl-carousel owl-theme">
@foreach($sliders as $slider)
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('top1cat'),'id','desc',10) as $p)
<div class="item">
@if(\App\Helpers\findLink($slider->body) != null)
<a href="{{\App\Helpers\findLink($slider->body)}}">
@endif
<img src="{{$slider->imgurl()}}" alt="">
@if(\App\Helpers\findLink($slider->body) != null)
<div class="box">
<a href="{{route('product',$p->slug)}}">
<img src="{{$p->thumbUrl()}}" class="img-fluid" alt="{{$p->name}}" title="{{$p->name}}">
<h4>
{{$p->name}}
</h4>
</a>
@endif
<span>
{{$p->getPrice()}}
</span>
<a href="{{route('card.add',$p->slug)}}" class="add-to-card btn btn-primary btn-block mt-2 mb-2">
<img src="{{asset('images/basket.svg')}}" class="basket-icon" alt=""> &nbsp;
افزودن به سبد خرید
</a>
</div>
</div>
@endforeach
</div>
</div>
<div class="position-relative xd">
<a href="{{\App\Helpers\getSetting('top2text')}}">
<img src="{{asset('images/mahi/sec1-1b.jpg')}}" alt="">
<div class="position-relative">
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('top2cat'),'id','desc',2) as $p)
<article>
<a href="{{route('product',$p->slug)}}">
<img src="{{$p->thumbUrl()}}" alt="{{$p->name}}" title="{{$p->name}}">
<div>
<div class="text-light">
{{$p->getPrice()}}
</div>
</div>
</a>
<span class="badge bg-secondary discount">
{{\App\Helpers\getSetting('top2text')}}
</span>
</article>
@endforeach
</div>
<div class="position-relative">
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('top3cat'),'id','desc',2) as $p)
<article>
<a href="{{route('product',$p->slug)}}">
<img src="{{$p->thumbUrl()}}" alt="{{$p->name}}" title="{{$p->name}}">
<div>
<div class="text-light">
{{$p->getPrice()}}
</div>
</div>
<div class="position-relative xd">
<a href="{{\App\Helpers\getSetting('top3text')}}">
<img src="{{asset('images/mahi/sec1-2b.jpg')}}" alt="">
</a>
<span class="badge bg-secondary discount">
{{\App\Helpers\getSetting('top3text')}}
</span>
</article>
@endforeach
</div>
</div>
</div>
</section>
<section id="new-products" class="mt-5">
<section id="new-products" class="mt-5 long-box">
<div class="container pt-4 pb-4">
<h1 class="mb-4">
{{\App\Helpers\getSetting('sectext')}}
<a href="{{route('products')}}" class="float-end btn btn-outline-primary">
همه محصولات
</a>
</h1>
<div class="owl-carousel owl-theme owl1">
<div id="owl1" class="owl-carousel owl-theme">
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('seccat'),'id','desc',10) as $p)
<div class="item ">
@include('website.component.pro',['p' => $p])
<div class="box">
<a href="{{route('product',$p->slug)}}">
<img src="{{$p->thumbUrl()}}" class="img-fluid" alt="{{$p->name}}" title="{{$p->name}}">
</a>
<a href="{{route('product',$p->slug)}}">
<h4>
{{$p->name}}
</h4>
<span>
{{$p->getPrice()}}
</span>
</a>
<div>
<a href="{{route('card.add',$p->slug)}}" class="add-to-card btn btn-primary btn-block mt-2 mb-2 corner">
<img src="{{asset('images/basket.svg')}}" class="basket-icon" alt=""> &nbsp;
افزودن به سبد خرید
</a>
</div>
@endforeach
</div>
</div>
</section>
{{-- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320" style="margin-top: -120px;margin-bottom: -100px;">--}}
{{-- <path fill="#f442b3" fill-opacity="1"--}}
{{-- d="M0,192L48,176C96,160,192,128,288,112C384,96,480,96,576,117.3C672,139,768,181,864,197.3C960,213,1056,203,1152,192C1248,181,1344,171,1392,165.3L1440,160L1440,320L1392,320C1344,320,1248,320,1152,320C1056,320,960,320,864,320C768,320,672,320,576,320C480,320,384,320,288,320C192,320,96,320,48,320L0,320Z"></path>--}}
{{-- </svg>--}}
<section style="">
<div class="container">
<div class="owl-carousel owl-theme" id="owlx1">
@foreach( \App\Helpers\getMainCats(6) as $cat )
<div class="item">
<a href="{{route('cat',$cat->slug)}}">
<img src="{{$cat->imgurl()}}" alt="{{$cat->name}}">
</a>
</div>
@endforeach
</div>
<a href="{{route('products')}}" class="float-end btn btn-outline-primary">
همه محصولات
</a>
<br>
<br>
</div>
</section>
{{-- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 320">--}}
{{-- <path fill="#f442b3" fill-opacity="1"--}}
{{-- d="M0,288L48,250.7C96,213,192,139,288,122.7C384,107,480,149,576,176C672,203,768,213,864,197.3C960,181,1056,139,1152,128C1248,117,1344,139,1392,149.3L1440,160L1440,0L1392,0C1344,0,1248,0,1152,0C1056,0,960,0,864,0C768,0,672,0,576,0C480,0,384,0,288,0C192,0,96,0,48,0L0,0Z"></path>--}}
{{-- </svg>--}}
<section id="boy">
<section id="filtering" class="pb-4 pt-4 bg long-box">
<div class="container">
<hr>
<h1>
پسرانه
<a href="{{route('cat', \App\Helpers\getSettingCat('3cat')->slug )}}"
class="float-end btn btn-outline-primary">
مشاهده محصولات
</a>
{{\App\Helpers\getSetting('3text')}}
</h1>
<div class="owl-carousel owl-theme owl1">
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('seccat'),'id','desc',10) as $p)
<div class="item">
@include('website.component.pro',['p' => $p])
</div>
<div class="btn-group mt-3" role="group" aria-label="Basic example">
<button type="button" class="btn btn-primary active" data-cat="all">همه</button>
@foreach(\App\Helpers\getSubCats(\App\Helpers\getSetting('3cat')) as $cat)
<button type="button" class="btn btn-primary" data-cat="cat{{$cat->id}}">
{{$cat->name}}
</button>
@endforeach
</div>
<div class="row">
@foreach(\App\Helpers\getSubCats(\App\Helpers\getSetting('4cat')) as $cat)
<div class="col">
<a href="{{route('cat',$cat->slug)}}">
<img src="{{$cat->thumbUrl()}}" class="img-fluid" title="{{$cat->name}}"
alt="{{$cat->name}}">
<div id="da-thumbs" class="da-thumbs">
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('3cat'),'stock_quantity','desc',12) as $p)
<div class="item custom @foreach($p->categories()->pluck('id')->toArray() as $c) cat{{$c}} @endforeach shad pad">
<div class="box">
<a href="{{route('product',$p->slug)}}">
<img src="{{$p->thumbUrl()}}" class="img-fluid" alt="{{$p->name}}" title="{{$p->name}}" >
<h4>
{{$p->name}}
</h4>
</a>
<span>
{{$p->getPrice()}}
</span>
</div>
</div>
@endforeach
</div>
</div>
</section>
<section id="girl">
<section id="brand" class="pt-4 pb-4">
<div class="container">
<hr>
<h1>
دخترانه
<a href="{{route('cat', \App\Helpers\getSettingCat('seccat')->slug )}}"
class="float-end btn btn-outline-primary">
مشاهده محصولات
</a>
برندها
</h1>
<div class="row">
<div class="owl-carousel owl-theme owl1">
@foreach(\App\Helpers\getProductByCat(\App\Helpers\getSetting('4cat'),'id','desc',10) as $p)
<div class="item">
@include('website.component.pro',['p' => $p])
</div>
@endforeach
</div>
@foreach(\App\Helpers\getSubCats(\App\Helpers\getSetting('4cat')) as $cat)
<div class="col">
<div class="col-md-2 col-sm-3 col-4">
<a href="{{route('cat',$cat->slug)}}">
<img class="img-fluid" src="{{$cat->thumbUrl()}}" title="{{$cat->name}}"
alt="{{$cat->name}}">
<img src="{{$cat->thumbUrl()}}" title="{{$cat->name}}" alt="{{$cat->name}}">
</a>
</div>
@endforeach
</div>
</div>
</section>
@endsection

@ -9,33 +9,14 @@
<meta name="keywords" content="{{\App\Helpers\getSetting('keywords')}}">
<meta name="description" content="{{\App\Helpers\getSetting('desc')}}">
<meta name="robots" content="follow,index">
<link rel="apple-touch-icon" sizes="57x57" href="{{asset('favicon/apple-icon-57x57.png')}}">
<link rel="apple-touch-icon" sizes="60x60" href="{{asset('favicon/apple-icon-60x60.png')}}">
<link rel="apple-touch-icon" sizes="72x72" href="{{asset('favicon/apple-icon-72x72.png')}}">
<link rel="apple-touch-icon" sizes="76x76" href="{{asset('favicon/apple-icon-76x76.png')}}">
<link rel="apple-touch-icon" sizes="114x114" href="{{asset('favicon/apple-icon-114x114.png')}}">
<link rel="apple-touch-icon" sizes="120x120" href="{{asset('favicon/apple-icon-120x120.png')}}">
<link rel="apple-touch-icon" sizes="144x144" href="{{asset('favicon/apple-icon-144x144.png')}}">
<link rel="apple-touch-icon" sizes="152x152" href="{{asset('favicon/apple-icon-152x152.png')}}">
<link rel="apple-touch-icon" sizes="180x180" href="{{asset('favicon/apple-icon-180x180.png')}}">
<link rel="icon" type="image/png" sizes="192x192" href="{{asset('favicon/android-icon-192x192.png')}}">
<link rel="icon" type="image/png" sizes="32x32" href="{{asset('favicon/favicon-32x32.png')}}">
<link rel="icon" type="image/png" sizes="96x96" href="{{asset('favicon/favicon-96x96.png')}}">
<link rel="icon" type="image/png" sizes="16x16" href="{{asset('favicon/favicon-16x16.ong')}}">
<link rel="manifest" href="{{asset('favicon/manifest.json')}}">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="{{asset('favicon/ms-icon-144x144.png')}}">
<meta name="theme-color" content="#ffffff">
{!! \App\Helpers\remTitle( SEO::generate()) !!}
{!! \App\Helpers\getSetting('site_webmaster_google') !!}
<title>
@yield('title')
{{config('app.name')}}
</title>
<link rel="stylesheet" href="{{asset('css/theme.css')}}">
@yield('metas')
</head>
<body>
@ -47,7 +28,56 @@
</a>
@endif
<div id="preloader">
<img src="{{asset('images/preloader.gif')}}" alt="">
<div class="tvdd" role="img" aria-label="Three intersecting rings of twelve pulsing dots that never collide">
<div class="tvdd__ring">
<div class="tvdd__ring-dots">
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
</div>
</div>
<div class="tvdd__ring">
<div class="tvdd__ring-dots">
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
</div>
</div>
<div class="tvdd__ring">
<div class="tvdd__ring-dots">
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
<div class="tvdd__ring-dot"></div>
</div>
</div>
</div>
</div>
<a id="go-top" href="#">
<i class="fa fa-angle-up"></i>
@ -55,14 +85,23 @@
<section id="top-top">
<div class="container">
<div class="row">
<div class="col-lg-4 col-md-12">
<a href="{{route('welcome')}}" class="navbar-brand">
<img src="{{asset('images/logo.png')}}" class="logo" alt="">
<div class="col-lg-4 col-md-12 text-start">
<div class='marquee'>
<div class="row mt-2 pt-1" >
<a class="col" href="tel:{{\App\Helpers\getSetting('tel')}}">
<i class="fa fa-phone-alt"></i>
{{\App\Helpers\getSetting('tel')}}
</a>
<a class="col" href="mail:{{\App\Helpers\getSetting('email')}}">
<i class="fa fa-envelope"></i>
{{\App\Helpers\getSetting('email')}}
</a>
</div>
</div>
</div>
<div class="col-lg-4 col-md-6">
<br>
<div class="input-group flex-nowrap">
<div class="input-group flex-nowrap" style="margin-top: 1em;">
<input type="text" id="searching" data-url="{{route('search')}}"
data-ajax="{{route('search.ajax')}}" class="form-control" placeholder="جستجو در محصولات..."
aria-label="search"
@ -73,7 +112,6 @@
</div>
</div>
<div class="col-lg-4 text-end col-md-6">
<br>
<a type="button" class="btn btn-primary position-relative" href="{{route('card.show')}}">
<i class="icofont-shopping-cart"></i>
سبد خرید
@ -83,7 +121,6 @@
</b>
</span>
</a>
&nbsp;
@if(Auth::guard('customer')->check())
<div class="btn btn-outline-primary">
<a href="{{route('customer')}}">
@ -102,109 +139,8 @@
</div>
</div>
</section>
<nav id="main-nav">
<ul>
<li><a href="/">خانه</a></li>
{!! \App\Helpers\showCats() !!}
{!! \App\Helpers\MenuShowByName('menu') !!}
</ul>
</nav>
<section id="top">
<div>
<div class="main-wrapper">
<nav class="navbarx">
<div class="brand-and-icon">
{{-- <button type="button" class="navbarx-toggler">--}}
{{-- <i class="fas fa-bars"></i>--}}
{{-- </button>--}}
<div class="toggle">
<i class="fas fa-bars"></i>
</div>
<div>
<a href="{{route('welcome')}}" class="navbar-brand mobile-only">
<img src="{{asset('images/logo.png')}}" class="logo" alt="">
</a>
</div>
</div>
<div class="navbarx-collapse">
<ul class="navbarx-nav">
<li>
<a href="/">
{{__("Home")}}
</a>
</li>
@foreach(\App\Helpers\getMainCats() as $cat)
<li>
<a href="{{route('cat',$cat->slug)}}" class="menu-link">
{{$cat->name}}
<span class="drop-icon">
<i class="fas fa-chevron-down"></i>
</span>
</a>
<div class="sub-menu">
<!-- item -->
<div class="sub-menu-item">
<h4>
محصولات جدید
{{$cat->name}}
</h4>
<ul>
@foreach(\App\Helpers\getProductByCatQ($cat->id) as $p)
<li>
<a href="{{route('product',$p->slug)}}">
{{$p->name}}
</a>
</li>
@endforeach
</ul>
</div>
<!-- end of item -->
<!-- item -->
<div class="sub-menu-item">
<h4> محصولات به تفکیک </h4>
<ul>
@foreach(\App\Helpers\getSubCats($cat->id) as $c)
<li>
<a href="{{route('cat',$c->slug)}}">
{{$c->name}}
</a>
</li>
@endforeach
</ul>
</div>
<!-- end of item -->
<!-- item -->
<div class="sub-menu-item">
<b>
{{mb_substr($cat->description,0,100)}}...
</b>
<br>
<a href="{{route('cat',$cat->slug)}}" class="btn">همه
محصولات {{$cat->name}} </a>
</div>
<!-- end of item -->
<!-- item -->
<div class="sub-menu-item">
<img src="{{$cat->thumbUrl()}} " alt="{{$cat->name}}">
</div>
<!-- end of item -->
</div>
</li>
@endforeach
{!! \App\Helpers\MenuShowByName('menu') !!}
</ul>
</div>
</nav>
</div>
</div>
<div id="search-list">
search
</div>
</section>
@include('website.component.navbar')
<div id="main-container" class="@yield('body-class')">
<div id="app">

@ -2,20 +2,6 @@
@section('title')
{{$pro->name}} -
@endsection
@section('body-class') bg-pinkk @endsection
@section('metas')
<meta name="product_id" content="{{$pro->id}}">
<meta name="product_name" content="{{$pro->name}}">
<meta property="og:image" content="{{$pro->imgurl()}}">
<meta name="product_price" content="{{$pro->getPurePrice()}}">
<meta name="product_old_price" content="{{$pro->getPurePrice()}}">
@if($pro->stock_quantity == 0)
<meta name="availability" content="outofstock">
@else
<meta name="availability" content="instock">
@endif
<meta name="guarantee" content="اصالت کالا">
@endsection
@section('content')
@php
$commentCount = $pro->comments()->count();
@ -61,9 +47,8 @@
]
}
</script>
<div class="">
<div>
<section id="product">
<div class="container shadow corner">
<div aria-label="breadcrumb">
@ -115,8 +100,6 @@
</h1>
<hr>
<div class="row">
<div class="col-md-8">
<h2>
اطلاعات محصول:
</h2>
@ -137,29 +120,6 @@
{{$pro->getCode()}}
</td>
</tr>
@if($pro->stock_quantity > 0)
<tr>
<th>
انتخاب سایز
</th>
<td id="size-pick">
</td>
</tr>
<tr>
<th>
انتخاب رنگ
</th>
<td>
<div class="color-pick">
<small style="color: gray">برای نمایش رنگ روی سایز دلخواه کلیک
کنید</small>
</div>
</td>
</tr>
<tr>
<th>
قیمت
@ -169,56 +129,57 @@
<span id="last-pricex">
{{$pro->getPrice()}}
</span>
{{config('app.currency_type')}}
</b>
</td>
</tr>
@if($pro->hasMeta('color'))
<tr>
<th style="vertical-align: middle">
تعداد
<th>
انتخاب رنگ
</th>
<td>
<div id="counting" class="text-muted float-start mt-2"></div>
<div class="product-count d-inline-block">
<div class="btn btn-info count-inc" style="padding: 2px 5px">
<i class="fa fa-plus"></i>
</div>
<input type="number" id="single-count" class="product-count" value="1" max="1">
<div class="btn btn-info count-dec" style="padding: 2px 5px">
<i class="fa fa-minus"></i>
</div>
<div class="color-pick">
<input type="hidden" class="color" value="red"/>
@php $colors = json_decode(\App\Helpers\getProp('color')->options,'true'); @endphp
@foreach($colors as $c)
<div style="background: {{$c['value']}}" data-color="{{$c['value']}}"
class="color @if($c['value'] == $pro->getMeta('color')) active @endif"></div>
@endforeach
</div>
</td>
</tr>
@endif
@if($pro->hasMeta('warranty'))
<tr>
<th>
جنس
گارانتی
</th>
<td>
<b>{!! \App\Helpers\showMetaValue('material',$pro->getMeta('material')) !!}</b>
@php $ws = json_decode(\App\Helpers\getProp('warranty')->options,'true'); @endphp
<select name="" id="" class="form-control">
@foreach($ws as $w)
<option value="{{$w['value']}}"> {{$w['title']}} </option>
@endforeach
</select>
</td>
</tr>
@endif
<tr>
<th>
امتیاز
</th>
<td>
<div class="star-rating js-star-rating" dir="ltr">
<input class="star-rating__input" type="radio" name="rating"
value="1"><i
<input class="star-rating__input" type="radio" name="rating" value="1"><i
class="star-rating__star"></i>
<input class="star-rating__input" type="radio" name="rating"
value="2"><i
<input class="star-rating__input" type="radio" name="rating" value="2"><i
class="star-rating__star"></i>
<input class="star-rating__input" type="radio" name="rating"
value="3"><i
<input class="star-rating__input" type="radio" name="rating" value="3"><i
class="star-rating__star"></i>
<input class="star-rating__input" type="radio" name="rating"
value="4"><i
<input class="star-rating__input" type="radio" name="rating" value="4"><i
class="star-rating__star"></i>
<input class="star-rating__input" type="radio" name="rating"
value="5"><i
<input class="star-rating__input" type="radio" name="rating" value="5"><i
class="star-rating__star"></i>
<div
class="current-rating current-rating--{{round($pro->average_rating)}} js-current-rating">
@ -228,141 +189,52 @@
</tr>
</table>
<div class="row mt-3">
<div class="col">
<div class="box border-0" style="margin-top: -7px;">
<div class="fav @if($pro->isFav()) liked @endif" data-id="{{$pro->slug}}">
<i class="far fa-heart fa-3x"></i>
<i class="fa fa-heart fa-3x"></i>
</div>
</div>
<div class="col-5">
<a href="{{route('compare.add',$pro->slug)}}" class="btn btn-warning mt-1"
data-wow-delay="1.5s"
data-wow-duration="2s">
<i class="fa fa-compass mt-2 mb-2"></i>
&nbsp;
مقایسه کالا
</a>
</div>
{{-- <div class="col">--}}
{{-- <a href="{{route('compare.add',$pro->slug)}}" class="btn btn-warning w-75"--}}
{{-- data-wow-delay="1.5s"--}}
{{-- data-wow-duration="2s">--}}
{{-- <i class="fa fa-compass"></i>--}}
{{-- &nbsp;--}}
{{-- مقایسه کالا--}}
{{-- </a>--}}
{{-- </div>--}}
@if($pro->stock_quantity > 0)
<div class="col">
<a href="{{route('card.addq',['',''])}}"
class="add-to-card-q btn btn-primary float-end">
<i class="icofont-shopping-cart"></i> &nbsp;
&nbsp;
<a href="{{route('card.add',$pro->slug)}}"
class="add-to-card btn btn-primary w-100 mt-1">
<img src="{{asset('images/basket.svg')}}" class="basket-icon" alt="">
افزودن به سبد خرید
</a>
</div>
@else
<div class="col text-end">
<div class="text-muted">
ناموجود
</div>
</div>
@endif
</div>
</div>
<div class="col-md-4">
<div class="w-100">
<p class="alert mb-4 p-2 alert-danger">
به علت متفاوت بودن قواره تولیدی ها، سانت محصول حتما چک شود
</p>
<a class="alert pe-1 ps-1 alert-light sizeInfo" href="#my-tabs"
onclick="$(`[data-content='tab-gu']`).click();">
<img src="{{asset('images/mahi/size.png')}}" alt="">
<span>
راهنمای انتخاب سایز
</span>
</a>
<a class="alert pe-1 ps-1 alert-light sizeInfo mt-2" onclick="$(`[data-content='tab-analyze']`).click();" href="#my-tabs">
<img src="{{asset('images/mahi/list.svg')}}" alt="">
<span>
مشخصات محصول
</span>
</a>
@if(auth('customer')->user()->colleague??null)
<a class="alert pe-1 ps-1 alert-light sizeInfo mt-2" id="cp-deteail">
<img src="{{asset('images/mahi/size.png')}}" alt="">
<span>
کپی توضیحات
</span>
</a>
@endif
</div>
</div>
</div>
</div>
<div class="col-12">
<div class="row d-md-block d-none mt-4">
<ul class="trust d-md-flex justify-content-around align-items-center p-3">
<li>
<i class="icofont-shield icofont-2x"></i>
پرداخت مطمئن
</li>
<li>
<i class="icofont-diamond icofont-2x"></i>
اصالت محصول
</li>
<li>
<i class="icofont-rocket-alt-1 icofont-2x"></i>
ارسال سریع
</li>
<li>
<i class="icofont-support icofont-2x"></i>
پشتیبانی سریع
</li>
</ul>
</div>
<hr>
<div class="wow fadeInRight">
<h4 class="mt-3">
محصولات مشابه
</h4>
<div class="owl-carousel owl-sq">
@foreach ($cat->products()->where('stock_quantity','>', 0)->limit(10)->get() as $p)
<div class="item ">
@include('website.component.pro',['p' => $p])
</div>
@endforeach
</div>
</div>
</div>
<div class="col-12">
<ul class="tabs cl" id="my-tabs">
{{-- <li class="active lc" data-content="tab-detail">مشخصات فنی</li>--}}
<li class="lc active" data-content="tab-analyze">
مشخصات
</li>
<li class="lc" data-content="tab-gu">راهنمای سایز</li>
<li class="active lc" data-content="tab-detail">مشخصات فنی</li>
<li class="lc" data-content="tab-analyze">تحلیل و بررسی</li>
<li class="lc" data-content="tab-comment"> دیدگاه کاربران</li>
<li class="lc" data-content="tab-question"> پرسش و پاسخ</li>
{{-- <li class="lc" data-content="tab-chart">نمودار قیمت</li>--}}
<li class="lc" data-content="tab-chart">نمودار قیمت</li>
</ul>
<div class="tab-container">
{{-- <div id="tab-detail" class="active">--}}
{{-- <table class="table table-bordered attribute ">--}}
{{-- @foreach($pro->getAllMeta() as $k => $meta)--}}
{{-- @if($k != 'color' && $k != 'warranty')--}}
{{-- <tr>--}}
{{-- <td>--}}
{{-- {{\App\Helpers\getPropLabel($k)}}--}}
{{-- </td>--}}
{{-- <td>--}}
{{-- {!! \App\Helpers\showMeta($k,$meta) !!}--}}
{{-- </td>--}}
{{-- </tr>--}}
{{-- @endif--}}
{{-- @endforeach--}}
{{-- </table>--}}
{{-- </div>--}}
<div id="tab-analyze" class="active">
<div id="tab-detail" class="active">
<table class="table table-bordered attribute ">
@foreach($pro->getAllMeta() as $k => $meta)
@if($k != 'color' && $k != 'warranty')
<tr>
<td>
{{\App\Helpers\getPropLabel($k)}}
</td>
<td>
{!! \App\Helpers\showMeta($k,$meta) !!}
</td>
</tr>
@endif
@endforeach
</table>
</div>
<div id="tab-analyze">
<div class="content ">
{!! $pro->description !!}
</div>
@ -378,7 +250,7 @@
{{$comments->links()}}
</div>
<div class="comments-container non-print">
<div class="alert" id="comment-form">
<div class="alert alert-secondary" id="comment-form">
@include('starter-kit::component.err')
<h5>
ارسال دیدگاه
@ -470,11 +342,6 @@
@endif
</div>
<div id="tab-gu">
<div class="text-center">
<img src="{{asset('images/sizeGuid.jpg')}}" style="width: 85%;margin: auto;" alt="">
</div>
</div>
<div id="tab-chart">
<!-- chart-->
<div>
@ -484,6 +351,7 @@
</div>
<div class="chartjs-size-monitor-shrink">
<div class=""></div>
</div>
</div>
{!! \App\Helpers\makeChart($pro) !!}
@ -493,11 +361,20 @@
</div>
</div>
</div>
<div class="wow fadeInRight">
<h4 class="mt-3">
محصولات مشابه
</h4>
<div class="owl-carousel owl-sq">
@foreach ($cat->products()->where('stock_quantity','>', 0)->limit(10)->get() as $p)
<div class="item ">
@include('website.component.pro',['p' => $p])
</div>
@endforeach
</div>
</div>
</div>
</section>
<input type="hidden" id="qn" value="">
<input type="hidden" id="qnt" value='{!! $pro->quantities()->orderBy('price')->get();!!}'>
<input type="hidden" id="colors" value='{!! json_encode( \App\Helpers\getColors()) !!}'>

@ -1,9 +1,9 @@
<div class="pt-2 text-muted" id="toggle-side">
<h5 class="text-center py-3">
<div class="pt-2 bg-primary text-light" id="toggle-side">
<h2 class="text-center">
تنظیم صافی و ترتیب نمایش
</h5>
</h2>
</div>
<div class="side-box">
<h2>

@ -8,11 +8,10 @@
<section id="customer" class="wow zoomInUp" data-wow-delay=".5">
@include('starter-kit::component.err')
<div class="card mt-5 mb-5 m-auto" style="max-width: 65rem;">
<div class="card mt-5 mb-5 m-auto" style="max-width: 20rem;">
<div class="card-body">
<img src="{{asset('images/logo.png')}}" class="img-fluid" alt="logo">
<br>
<br>
<hr>
<h5 class="card-title text-center">
{{__("Login / Register")}}
</h5>
@ -21,7 +20,7 @@
<label for="mobile" class="mb-2">
{{__("Mobile")}}
</label>
<input type="tel" id="mobile" name="mobile" value="" placeholder="{{__("Mobile-Place")}}"
<input type="tel" id="mobile" name="mobile" value="" placeholder="{{__("Mobile")}}"
class="form-control">
</div>
<div id="sms-code">
@ -48,16 +47,8 @@
</div>
</div>
<button id="sms-btn" data-customer="{{route('customer')}}" data-check="{{route('checkSMS')}}" data-send="{{route('sendSMS')}}" class="btn btn-primary w-100 mb-2 mt-3">
{{__("Try login")}} به {{config('app.name')}}
{{__("Try login")}}
</button>
<hr>
<div class="sign-rule mt-3 text-center">
<div> ورود شما به معنای پذیرش
<a href="#">شرایط {{config('app.name')}}</a>
و
<a href="#">قوانین حریم‌خصوصی</a>
است.</div>
</div>
</div>
</div>
</div>

@ -106,6 +106,7 @@ Route::prefix(config('starter-kit.uri'))->name('admin.')->group(
Route::post('bulk', [\App\Http\Controllers\Admin\QuestionController::class, "bulk"])->name('bulk');
}
);
Route::prefix('ticket')->name('ticket.')->group(
function () {
Route::get('index', [\App\Http\Controllers\Admin\TicketController::class, "index"])->name('index');

Loading…
Cancel
Save