sachinganesh 2 år sedan
förälder
incheckning
ee730c9a18

+ 28
- 29
dist/Js/auth/apiservice.js Visa fil

@@ -1,7 +1,9 @@
1
-// let SERVERNAME = 'https://anwi.bizgaze.app';
1
+//let SERVERNAME = 'https://anwi.bizgaze.app';
2 2
 let SERVERNAME = 'https://beta.bizgaze.app';
3
-//let SERVERNAME = 'http://localhost:3088';
4 3
 const STAT = 'b276960fddf84e8cb63de6e32d31529b';
4
+
5
+
6
+
5 7
 async function getStatAPIService(url,data={}){
6 8
     let config = {
7 9
         url,
@@ -33,14 +35,13 @@ async function postStatAPIService(url,data={}){
33 35
 }
34 36
 
35 37
 
36
-async function postAPIServiceWarranty(url,data={}){
37
-    let SERVERURL = 'https://anwi.bizgaze.app';
38
+async function postAPIService(url,data={}){
38 39
     let config = {
39
-        url:`${SERVERURL}/${url}`,
40
+        url:`${SERVERNAME}/${url}`,
40 41
         method:'post',
41 42
         data:data,
42 43
         headers: {
43
-            'Authorization': `Basic 6cdcfe22-1623-4740-97e0-363d518c0e8a`,
44
+            'Authorization': `Basic fffe5440-5be6-4c07-876f-113c13de7382`,
44 45
             'Content-Type': 'application/json'
45 46
         },
46 47
     }
@@ -48,27 +49,15 @@ async function postAPIServiceWarranty(url,data={}){
48 49
 
49 50
     return response;
50 51
 }
51
-async function postAPIService(url,data={}){
52
-     let SERVERURL = 'https://beta.bizgaze.app';
53
-    //let SERVERURL = 'http://localhost:3088';
54
-    let config = {
55
-        url:`${SERVERURL}/${url}`,
56
-        method:'post',
57
-        data:data,
58
-    }
59
-    let response = await axios(config);
60
-
61
-    return response;
62
-}
63 52
 
64 53
 
65 54
 async function postAPIServiceLocal(url,data={}){
66 55
     let config = {
67 56
       url:`${SERVERNAME}/${url}`,
68 57
         method:'post',
69
-        data:JSON.stringify(data),
58
+        data:JSON.stringify(data    ),
70 59
         headers: {
71
-            'Authorization': `Basic c86af480-b5ef-43af-8ce9-503e5b831e2e`,
60
+            'Authorization': `Basic fffe5440-5be6-4c07-876f-113c13de7382`,
72 61
             'Content-Type': 'application/json'
73 62
         },
74 63
     }
@@ -77,12 +66,12 @@ async function postAPIServiceLocal(url,data={}){
77 66
     return response;
78 67
 }
79 68
 async function getAPIServiceLocal(url){
80
-    let SERVERURL = 'https://anwi.bizgaze.app';
81 69
     let config = {
82
-      url:`${SERVERURL}/${url}`,
70
+      url:`${SERVERNAME}/${url}`,
83 71
         method:'get',
72
+    
84 73
         headers: {
85
-            'Authorization': `Basic ed40b74d-561a-47af-b03b-4f29c5ff6937`,
74
+            'Authorization': `Basic fffe5440-5be6-4c07-876f-113c13de7382`,
86 75
             'Content-Type': 'application/json'
87 76
         },
88 77
     }
@@ -126,7 +115,7 @@ class API_SERVICE_CLASS{
126 115
         if(!cookieData) return window.location.href = "/"
127 116
        }
128 117
         let token = isStat ?`stat ${this.statToken}` : `Basic ${cookieData.token}`;
129
-        // let token = isStat ?`stat ${this.statToken}` : `Basic ${this.token}`;
118
+        this.token = token;
130 119
         let successResFun = this.buildSuccessResponse;
131 120
         let failureResFun = this.buildFailureResponse;
132 121
         let config = {
@@ -150,7 +139,7 @@ class API_SERVICE_CLASS{
150 139
                 return successResFun(response.data)
151 140
             }
152 141
             if(response.data.code == '417'){
153
-                window.location.href = '/index.html'
142
+                // window.location.href = '/index.html'
154 143
                 return failureResFun(response.data)
155 144
             }
156 145
             if(response.data.code != '0'){
@@ -168,7 +157,6 @@ class API_SERVICE_CLASS{
168 157
 
169 158
     }
170 159
 
171
-
172 160
     buildURL(url){
173 161
         return `${this.baseURL}/${url}`;
174 162
     }
@@ -243,6 +231,10 @@ class API_SERVICE_CLASS{
243 231
         if(!cookieData){
244 232
           return  justGetAPIService('/Account/Session/Validate')
245 233
         }
234
+
235
+      
236
+
237
+
246 238
     }
247 239
 
248 240
     
@@ -277,8 +269,10 @@ class COOKIE_HELPER_CLASS{
277 269
 
278 270
     removeCookie(token){
279 271
         Cookies.remove(token)
280
-}
281
-    async validateToken() {
272
+    }
273
+
274
+
275
+    async validateToken(){
282 276
         return await API_SERVICES_ACTIONS.getAPIService(`Account/Session/Validate`)
283 277
     }
284 278
 }
@@ -290,6 +284,8 @@ const COOKIE_HELPER_ACTIONS ={
290 284
     setCookie :COOKIE_HELPER.setCookie,
291 285
     removeAuthCookie:COOKIE_HELPER.removeCookie.bind(null,AUTH)
292 286
 }
287
+
288
+
293 289
 function setCookieManual(token){
294 290
     Cookies.set(AUTH,{
295 291
         token,
@@ -299,9 +295,9 @@ function setCookieManual(token){
299 295
 
300 296
 async function checkValidAuth(cb,redirect=undefined){
301 297
     debugger;
298
+
302 299
    document.querySelector('auth-loader').show();
303 300
     const res = await COOKIE_HELPER.validateToken();
304
-    debugger
305 301
     if(!res.response){
306 302
         if(redirect){
307 303
             window.location.href =redirect;
@@ -318,3 +314,6 @@ async function checkValidAuth(cb,redirect=undefined){
318 314
     cb();
319 315
    },300);
320 316
 }
317
+
318
+
319
+// setCookieManual('6eb70fee-35ef-4ca2-95cd-01ebdd616eb1');

+ 1
- 0
dist/Js/auth/login.js Visa fil

@@ -131,6 +131,7 @@ function initLogin() {
131 131
         COOKIE_HELPER_ACTIONS.setCookie({
132 132
           token: res.data.result.sessionId,
133 133
           userid: res.data.result.userId,
134
+          ...res.data.result
134 135
         });
135 136
         // setInitLoginLocal();
136 137
         window.localStorage.setItem("Useremail", userEmail);

+ 32
- 1
dist/Js/components/authloader/authloader.js Visa fil

@@ -100,7 +100,20 @@ template.innerHTML = `
100 100
 </style>
101 101
   <div class="overlayanwiAuth ">
102 102
   
103
+  <div style="
104
+    position: absolute;
105
+    top: 50%;
106
+    left: 50%;
107
+    transform: translate(-50%, -50%);
108
+    width:40px;
109
+    display:none;
110
+    ">
103 111
 
112
+    <span>
113
+  <?xml version="1.0" encoding="utf-8"?><svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 122.88 116.31" style="enable-background:new 0 0 122.88 116.31" xml:space="preserve"><g><path d="M4.06,12.67C1.87,12.67,0,10.8,0,8.51c0-2.19,1.87-4.06,4.06-4.06h5.62c0.1,0,0.31,0,0.42,0c3.75,0.1,7.08,0.83,9.88,2.6 c3.12,1.98,5.41,4.99,6.66,9.47c0,0.1,0,0.21,0.1,0.31L27.78,21h2.34V4.12c0-2.27,1.85-4.12,4.12-4.12h21.67 c2.27,0,4.12,1.85,4.12,4.12v10.02c3.42-3.41,8.06-5.5,13.18-5.5c2.22,0,4.36,0.4,6.34,1.12c4.08-4.33,9.87-7.04,16.29-7.04 c10.96,0,20.07,7.88,21.99,18.28h0.99c2.29,0,4.06,1.87,4.06,4.06c0,0.42-0.11,0.83-0.21,1.25l-10.61,42.76 c-0.42,1.87-2.08,3.12-3.95,3.12l0,0H41.51c1.46,5.41,2.91,8.32,4.89,9.68c2.39,1.56,6.56,1.66,13.53,1.56h0.1l0,0h47.03 c2.29,0,4.06,1.87,4.06,4.06c0,2.29-1.87,4.06-4.06,4.06H60.04l0,0c-8.64,0.1-13.94-0.1-18.21-2.91 c-4.37-2.91-6.66-7.91-8.95-16.96l0,0L18.94,18.92c0-0.1,0-0.1-0.1-0.21c-0.62-2.29-1.66-3.85-3.12-4.68 c-1.46-0.94-3.43-1.35-5.72-1.35c-0.1,0-0.21,0-0.31,0H4.06L4.06,12.67L4.06,12.67z M84.38,37.69c0-1.28,1.27-2.32,2.83-2.32 c1.56,0,2.83,1.04,2.83,2.32v15.69c0,1.28-1.27,2.32-2.83,2.32c-1.56,0-2.83-1.04-2.83-2.32V37.69L84.38,37.69z M67.43,37.69 c0-1.28,1.27-2.32,2.83-2.32c1.56,0,2.83,1.04,2.83,2.32v15.69c0,1.28-1.27,2.32-2.83,2.32c-1.56,0-2.83-1.04-2.83-2.32V37.69 L67.43,37.69z M50.49,37.69c0-1.28,1.27-2.32,2.83-2.32c1.56,0,2.83,1.04,2.83,2.32v15.69c0,1.28-1.27,2.32-2.83,2.32 c-1.56,0-2.83-1.04-2.83-2.32V37.69L50.49,37.69z M85.57,13.37c2.31,2.05,4.14,4.66,5.29,7.63h19.85 c-1.68-6.65-7.7-11.58-14.87-11.58C91.89,9.42,88.29,10.91,85.57,13.37L85.57,13.37z M92.21,29.11L92.21,29.11l-38.01,0l0,0H30.07 l0,0l9.26,34.86h65.65l8.63-34.86H92.21L92.21,29.11z M55.31,21c0.11-0.29,0.23-0.57,0.35-0.85V7.2c0-1.64-1.35-2.99-2.99-2.99 H37.71c-1.64,0-2.99,1.34-2.99,2.99V21H55.31L55.31,21z M94.89,96.33c5.52,0,9.99,4.47,9.99,9.99s-4.47,9.99-9.99,9.99 c-5.51,0-9.99-4.47-9.99-9.99S89.38,96.33,94.89,96.33L94.89,96.33L94.89,96.33z M51.09,96.33c5.51,0,9.99,4.47,9.99,9.99 s-4.47,9.99-9.99,9.99s-9.99-4.47-9.99-9.99S45.57,96.33,51.09,96.33L51.09,96.33L51.09,96.33z"/></g>
114
+    </svg>
115
+    </span>
116
+    </div>
104 117
 <div class="authloaderanwi">
105 118
 <div class='loader' id='lrd1'></div>
106 119
 </div>
@@ -111,9 +124,27 @@ template.innerHTML = `
111 124
 class AuthLoader extends HTMLElement {
112 125
     constructor() {
113 126
       super();
127
+      console.log(this.payment);
114 128
       this._shadowRoot = this.attachShadow({ 'mode': 'open' });
115 129
       this._shadowRoot.appendChild(template.content.cloneNode(true));
116 130
     }
131
+
132
+    static get observedAttributes() {
133
+      return ['payment'];
134
+    }
135
+  
136
+    // define getters and setters for attributes
137
+    get payment() {
138
+      return this.getAttribute('payment');
139
+    }
140
+  
141
+    set payment(val) {
142
+      if (val) {
143
+        this.setAttribute('payment', val);
144
+      } else {
145
+        this.removeAttribute('payment');
146
+      }
147
+    }
117 148
     
118 149
 
119 150
     show(){
@@ -122,7 +153,7 @@ class AuthLoader extends HTMLElement {
122 153
     }
123 154
 
124 155
     hide(){
125
-        // $('.overlayanwiAuth').addClass('display','none');
156
+         //$('.overlayanwiAuth').addClass('display','none');
126 157
         this._shadowRoot.querySelector('.overlayanwiAuth').style.display = "none";
127 158
     }
128 159
 }

+ 18
- 0
dist/Js/localstorage/checkout.js Visa fil

@@ -0,0 +1,18 @@
1
+const ALL_ADDRESS_LOCAL = 'ALL_ADDRESS_LOCAL';
2
+
3
+function setAddressLocal(payload){
4
+    let addressList = getAddressLocal();
5
+    addressList = addressList?addressList:[];
6
+    localStorage.setItem(ALL_ADDRESS_LOCAL,JSON.stringify({...addressList,...payload}))
7
+}
8
+
9
+function getAddressLocal(){
10
+    let res =  localStorage.getItem(ALL_ADDRESS_LOCAL)
11
+    if(!res) return null;
12
+
13
+    return JSON.parse(res);
14
+}
15
+
16
+function removeAddressLocal(){
17
+    localStorage.removeItem(ALL_ADDRESS_LOCAL);
18
+}

+ 14
- 0
dist/Js/localstorage/loginauthlocal.js Visa fil

@@ -0,0 +1,14 @@
1
+const INIT_LOGIN_AUTH = 'INIT_LOGIN_AUTH';
2
+
3
+function setInitLoginLocal(){
4
+    localStorage.setItem(INIT_LOGIN_AUTH,true);
5
+}
6
+
7
+function getInitLoginLocal(){
8
+    return JSON.parse(localStorage.getItem(INIT_LOGIN_AUTH));
9
+}
10
+
11
+
12
+function removeInitLoginLocal(){
13
+    localStorage.setItem(INIT_LOGIN_AUTH,false);
14
+}

+ 9
- 3
dist/Js/navbar.js Visa fil

@@ -1,7 +1,9 @@
1 1
 let nav_html = `
2 2
 <header class="header-area section-padding-1 transparent-bar">
3 3
             <div class="header-large-device">
4
-                <div class="header-bottom sticky-bar">
4
+                <div class="header-bottom sticky-bar"  style="
5
+                background: #ed3838;
6
+            ">
5 7
                     <div class="container">
6 8
                         <div class="header-bottom-flex">
7 9
                             <div class="logo-menu-wrap d-flex">
@@ -29,7 +31,9 @@ let nav_html = `
29 31
                                 <a href="./myaccount.html" class="my_avatar"><i class="fa-solid fa-user"></i></a>
30 32
                                 </div>
31 33
                                 <div class="same-style header-cart">
32
-                                    <a class="cart-active1" href="#"><i class="fa-solid fa-cart-shopping"></i></a>
34
+                                <a class="cart-active1 position-relative" href="./shopping-cart.html"><i class="fa-solid fa-cart-shopping"></i>
35
+                                <span class="position-absolute cartnumcount d-none"  style="top:-27%;right:-80%">0</span>
36
+                                </a>
33 37
                                 </div>
34 38
                             </div>
35 39
                         </div>
@@ -61,7 +65,9 @@ let nav_html = `
61 65
                                 <a href="./myaccount.html" class="my_avatar"><i class="fa-solid fa-user"></i></a>
62 66
                                 </div>
63 67
                                 <div class="same-style header-cart">
64
-                                    <a class="cart-active1" href="#"><i class="fa-solid fa-cart-shopping"></i></a>
68
+                                <a class="cart-active1 position-relative" href="./shopping-cart.html"><i class="fa-solid fa-cart-shopping"></i>
69
+                                <span class="position-absolute cartnumcount d-none"  style="top:-27%;right:-80%">0</span>
70
+                                </a>
65 71
                                 </div>
66 72
                             </div>
67 73
                         </div>

+ 145
- 0
dist/Js/orderconfirmation.js Visa fil

@@ -0,0 +1,145 @@
1
+function orderConfirmation(){
2
+    init();
3
+    function init(){
4
+        addFullLoader();
5
+        getOrderStatus();
6
+    }
7
+
8
+    function orderlistsummary({name,price,qty,total}){
9
+        let priceAmt = '';
10
+        let totalAmt = '';
11
+
12
+        
13
+        let [priceSysm,priceamt] = getCurrencySymbol(price)
14
+        priceAmt = `${priceSysm}${priceamt}`
15
+        
16
+
17
+        
18
+        let [qtySymb,qtyamt] = getCurrencySymbol(qty*price)
19
+       
20
+
21
+        totalAmt = `${qtySymb}${qtyamt}`
22
+
23
+        return `
24
+        <div class="row">
25
+                            <div class="col-4">
26
+                                <div class="row">
27
+                                    <div class="col-6">
28
+                                        <img class="w-100 h-100" src="http://127.0.0.1:5504/dist/assets/imgs/Navbar/Accessiories-2.png" alt="">
29
+                                    </div>
30
+                                    <div class="col-6 d-flex justify-content-center align-items-center">
31
+                                        <div class="itemname">${name}</div>
32
+                                        
33
+                                    </div>
34
+                                </div>
35
+                            </div>
36
+                            <div class="col-3 d-flex align-items-center justify-content-center">
37
+                                ${priceAmt}
38
+                            </div>
39
+                            <div class="col-2 d-flex align-items-center justify-content-center">
40
+                               ${qty}
41
+                            </div>
42
+                            <div class="col-3 text-end">
43
+                               ${totalAmt}
44
+                             </div>
45
+                        </div>`;
46
+    }
47
+
48
+    function addFullLoader(){
49
+        document.querySelector('auth-loader').show();
50
+    }
51
+
52
+    function removeFullLoader(){
53
+        document.querySelector('auth-loader').hide();
54
+    }
55
+
56
+    async function getOrderStatus(){
57
+       
58
+        const searchParams = window.location.search.split('&');
59
+        let orderId = searchParams[0].split('=')[1];
60
+
61
+        debugger;
62
+        let orderRes = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/hyperfusionpaymentgateway/gethyperfusionpaymentdetails/orderid/${orderId}`);
63
+        if(orderRes.isError){
64
+            removeFullLoader();
65
+            return;
66
+        }
67
+        console.log(orderRes);
68
+        //payment_group
69
+       
70
+        orderRes = JSON.parse(orderRes.response.result)[0];
71
+        $('.paymentmethodconfirm').html(orderRes.payment_group)
72
+        if(orderRes.payment_status === 'FAILED'){
73
+            $('.ordercontainerconfirmError').removeClass('d-none');
74
+            $('.successorderconfirm').addClass('d-none');
75
+            removeFullLoader();
76
+            return;
77
+        }
78
+      
79
+        const res =  await API_SERVICES_ACTIONS.postAPIService(`apis/v4/bizgaze/transact/orders/updatepaymenttransactionstatus/refid/${orderId}`,null);
80
+
81
+        console.log(res,'ress');
82
+
83
+        if(res.isError){
84
+            console.log(res);
85
+            $('.ordercontainerconfirmError').removeClass('d-none');
86
+            $('.successorderconfirm').addClass('d-none');
87
+            removeFullLoader();
88
+            return;
89
+        }
90
+
91
+
92
+        if(!res.response.message.toLowerCase().includes('success')){
93
+            console.log(res);
94
+            $('.ordercontainerconfirmError').removeClass('d-none');
95
+            $('.successorderconfirm').addClass('d-none');
96
+            removeFullLoader();
97
+            return;
98
+        }
99
+
100
+        let resData = JSON.parse(res.response.result);
101
+
102
+        const {NetTotal,TaxAmount,OrderItems,CreatedDate,OrderNo
103
+        } = resData;
104
+        let [netcurrencySymbol,netamount] = getCurrencySymbol(NetTotal);    
105
+        $('.totalordersummary').html(`${netcurrencySymbol}${netamount}`);
106
+
107
+       {
108
+        let [ordercurrencySymbol,orderamount] = getCurrencySymbol(TaxAmount);
109
+        $('.totaltaxsummary').html(`${ordercurrencySymbol}${orderamount}`);
110
+       }
111
+
112
+       let orderItemsListHTML = '';
113
+
114
+       for(let i=0;i<OrderItems.length;i++){
115
+        const {ItemName:name,UnitPrice:price,Quantity:qty,UnitPrice:total} = OrderItems[i];
116
+        orderItemsListHTML += orderlistsummary({
117
+            name,
118
+            price,
119
+            qty,
120
+            total
121
+        });
122
+       }
123
+       let userData = COOKIE_HELPER_ACTIONS.getCookie();
124
+       let {name} = userData;
125
+       $('.username').html(name);
126
+       $('.orderlistconfirm').html(orderItemsListHTML);
127
+
128
+       $('.createdDateConfirm').html(CreatedDate);
129
+
130
+       $('.ordernumber').html(OrderNo);
131
+debugger;
132
+       localStorage.removeItem(CART_DATA)
133
+
134
+
135
+       removeFullLoader();
136
+        console.log(resData);
137
+
138
+    }
139
+
140
+
141
+   
142
+}
143
+
144
+    
145
+checkValidAuth(orderConfirmation)

+ 469
- 0
dist/Js/productdetails/productdetails.js Visa fil

@@ -0,0 +1,469 @@
1
+function startDetails(){
2
+    // http://127.0.0.1:5502/productdetails.html?productId=106633230000024
3
+    let productId = window.location.search.split('=')[1].split('&')[0];
4
+    console.log(productId);
5
+    let itemtagscombinationRes = null;
6
+    let labels = {};    
7
+    let isThereInLabel = {};
8
+    let currentComb = null;
9
+
10
+    let group = {};
11
+
12
+    let currentClick = null;
13
+    debugger;
14
+    if(productId){
15
+        getProductDetails(productId);
16
+        appendSpecs(productId)
17
+    }else{
18
+       window.location.href = "/notfound.html"
19
+    }
20
+
21
+    let specification_wrap_action = {
22
+        remove(){
23
+            debugger;
24
+            $('.specification-wrap').addClass('d-none');
25
+        },
26
+
27
+        add(){
28
+            $('.specification-wrap').removeClass('d-none');
29
+        }
30
+    }
31
+
32
+    let description_action = {
33
+        addVal(value){
34
+            $('.description-wrap > p').html(value);
35
+        },
36
+
37
+        removeVal(value){
38
+            $('.description-wrap > p').html('');
39
+        }
40
+    }
41
+
42
+    function getSpecsItemHTML({name,des,itemid,id}){
43
+        return ` <tr id="${id}" data-specitemid="${itemid}">
44
+        <td style="width:200px">${name}</td>
45
+        <td class="">${des}</td>
46
+    </tr>`;
47
+    }
48
+
49
+    async function appendSpecs(id){
50
+        let resData = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/itemspecifications/itemid/${id}`,true);
51
+
52
+        if(resData.isError){
53
+
54
+            return;
55
+        }
56
+
57
+        const res = resData.response;
58
+        console.log(JSON.parse(res.result));
59
+        const data = JSON.parse(res.result);
60
+        console.log(data);
61
+        let html = '';
62
+        for(let i=0;i<data.length;i++){
63
+            const {specificationname,specificationitemid,itemid,description} = data[i];
64
+            html += getSpecsItemHTML({
65
+                name:specificationname,id:specificationitemid,itemid,des:description
66
+            });
67
+        }
68
+        debugger;
69
+        
70
+        $('.append-specs').html(html)
71
+    }
72
+   
73
+
74
+    function getParentHTML(name,productid,id,isMain){
75
+        return `<div class="pb-2 $${name?.replace(" ",'')}-parent">
76
+        <h5 class="py-2 smallHeadingProductDetails">${name}</h5>
77
+        <div class="d-flex gap-2 ${id}container" data-tagid="${id}">
78
+           
79
+        </div>
80
+    </div>`;
81
+    }
82
+
83
+    function onClickHandler(e) {
84
+  
85
+        $(e).parent().find('.borderselector').removeClass('borderselector');
86
+    
87
+        $(e).addClass('borderselector')
88
+    
89
+    }
90
+
91
+    function getChildHTML(tagid,name,isTrue){
92
+        return `
93
+        <div  data-type="${tagid}-${name}" data-tagiditem="${tagid}" class="specsmallcard optiontaganwi ${isTrue?'borderselector':''} card small-font  p-3">
94
+            ${name}
95
+        </div>
96
+    `
97
+    }
98
+
99
+    function addeventlisteners(){
100
+      
101
+        $('.optiontaganwi').each(function (i,el){
102
+          $(el).click(function (e){
103
+            
104
+            $(e.target).parent().find('.borderselector').removeClass('borderselector');
105
+            $(e.target).addClass('borderselector')
106
+           searchComb();
107
+            currentClick = e.target;
108
+           // getAllCombination();
109
+          })
110
+        });
111
+    }
112
+
113
+    function searchComb(){
114
+        let valuesSelected = [];
115
+ 
116
+        
117
+        $('#addtocart').removeClass('disabled');
118
+        $('.msgErrorDetailsItem').addClass('d-none');
119
+        $('.borderselector').each(function (i,el){
120
+            let val = $(el).html();
121
+            valuesSelected.push(val.trim());
122
+        });
123
+
124
+        let labelRecord = {};
125
+
126
+        for(let label in labels){
127
+            labelRecord[label] = false;
128
+        }
129
+
130
+        console.log(labelRecord);
131
+        specification_wrap_action.add();
132
+        console.log(group);
133
+        let unFiler = null;
134
+        for(let i=0;i<itemtagscombinationRes.length;i++){
135
+            const currItem = itemtagscombinationRes[i];
136
+            const {tagnames} = currItem;
137
+           
138
+
139
+                let isTrue = true;
140
+                let labelFilter = labelRecord;
141
+                
142
+                for(let i=0;i<valuesSelected.length;i++){
143
+                  
144
+                    if(!tagnames.includes(valuesSelected[i])){
145
+                        isTrue = false
146
+                        
147
+                        unFiler = labelFilter;
148
+                        break;
149
+                    }
150
+                    labelFilter[group[valuesSelected[i]]] = true;
151
+                }
152
+    
153
+                if(isTrue){
154
+                    console.log(itemtagscombinationRes[i],'itemtagscombinationRes[i]');
155
+                    const {quantity} = itemtagscombinationRes[i];
156
+                    if(quantity>=$('#quantity').val() && quantity>=1){
157
+                        currentComb = itemtagscombinationRes[i];
158
+                        $('.productname').html(itemtagscombinationRes[i].itemname)
159
+                        $('.price').html(itemtagscombinationRes[i].pricelist);
160
+                        // location.hash = itemtagscombinationRes[i].itemname.trim();
161
+                        appendSpecs(itemtagscombinationRes[i].itemid)
162
+                        history.replaceState(null, null, `#itemid=${itemtagscombinationRes[i].itemid}#${itemtagscombinationRes[i].itemname.trim()}`);
163
+                        let searchparms = location.search;
164
+                   debugger;
165
+                       
166
+                   
167
+
168
+//                         const regex = /sku="(\w+)"/g;
169
+// const newParams = searchparms.replace("sku", `$1${itemtagscombinationRes[i].sku}$2`);
170
+//                         location.search = newParams;
171
+                        $('#skudetailitem').val(itemtagscombinationRes[i].sku)
172
+                    }else{
173
+                        debugger;
174
+                        let name = itemtagscombinationRes[i].itemname.split('-')[0];
175
+                        $('#addtocart').addClass('disabled');
176
+                        let itemsName = name;
177
+                        $('.borderselector').each(function (i,e){
178
+                            itemsName += ` ${$(e).html().trim()}`;
179
+                        });
180
+
181
+                       specification_wrap_action.remove();
182
+                        $('#skudetailitem').val(-1)
183
+                         $('.productname').html(itemsName)
184
+                         history.replaceState(null, null, `#`);
185
+                         
186
+                         $('.msgErrorDetailsItem').removeClass('d-none');
187
+                        $('.price').html('');
188
+                    }
189
+                  
190
+                    initAddToCart()
191
+                    return;
192
+                  
193
+                }
194
+            
195
+        }
196
+
197
+        let name = itemtagscombinationRes[0].itemname.split('-')[0];
198
+        let itemsName = name;
199
+        $('.borderselector').each(function (i,e){
200
+            itemsName += `- ${$(e).html().trim()}`;
201
+        })
202
+        specification_wrap_action.remove();
203
+            $('.productname').html(itemsName)
204
+            $('#skudetailitem').val(-1)
205
+        $('.price').html('');
206
+        $('#addtocart').addClass('disabled');
207
+        $('.msgErrorDetailsItem').removeClass('d-none');
208
+        
209
+        initAddToCart()
210
+    }
211
+
212
+    function getAllCombination(){
213
+     const currClickAttr =  $(currentClick).html().trim();
214
+
215
+     let isThere = [];
216
+     for(let item in isThereInLabel){
217
+        let {tagnames} = isThereInLabel[item];
218
+        if(tagnames.includes(currClickAttr)){
219
+            isThere.push( isThereInLabel[item])
220
+        }
221
+     }
222
+        let selected = [];
223
+        $('.borderselector').each(function (i,e){
224
+            selected.push($(e).html().trim())
225
+        });
226
+        
227
+        // console.log(selected);
228
+        // console.log(isThere);
229
+
230
+        let ishashObj = {};
231
+
232
+        for(let i=0;i<isThere.length;i++){
233
+            let  {tagnames,tagids} = isThere[i];
234
+            tagnames = tagnames.split('|');
235
+            tagids = tagids.split('|');
236
+
237
+            for(let j=0;j<tagnames.length;j++){
238
+                if(!ishashObj[tagnames[j]]){
239
+                    ishashObj[tagnames[j]] = tagids[j];
240
+                }
241
+            }
242
+        }
243
+
244
+        // console.log(ishashObj);
245
+
246
+        // for(let i=0;i<itemtagscombinationRes.length;i++){
247
+            
248
+        // }
249
+    
250
+    }
251
+
252
+
253
+    async function getProductDetails(id){
254
+        
255
+   
256
+
257
+        // let res = await getStatAPIService(`${SERVERNAME}/apis/v4/bizgaze/integrations/products/productattributelist/productid/${id}`);
258
+  
259
+        let resData = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/productattributelist/productid/${id}`,true);
260
+
261
+        if(resData.isError){
262
+            alert(resData.errorMsg.message);
263
+            return;
264
+        }
265
+
266
+        let res = resData.response;
267
+            
268
+        res = JSON.parse(res.result);
269
+        // console.log(res);
270
+
271
+      if(!res) return;
272
+
273
+        
274
+       
275
+
276
+        let html = '';
277
+     
278
+        for(let i=0;i<res.length;i++){
279
+            const currItem = res[i];
280
+            // parenttagid means under what label
281
+            // tag id means it know unquie id
282
+            const {parentattribute,parenttagid,tagid,attribute,productid} = currItem;
283
+
284
+            if(labels[parentattribute]){
285
+                labels[parentattribute].items.push({
286
+                    attribute,
287
+                    tagid:tagid
288
+                });
289
+            }else{
290
+                labels[parentattribute] = {
291
+                    id:parenttagid,
292
+                    items:[{
293
+                        attribute,
294
+                        tagid:tagid
295
+                    }]
296
+                };
297
+                html += getParentHTML(parentattribute,productid,parenttagid,i==0);
298
+            }
299
+
300
+        }
301
+        $('#spec-container-details').html(html);
302
+       
303
+
304
+        // console.log(labels,'labels');
305
+
306
+        let childIds = [];
307
+
308
+        for(let item in labels){
309
+            let {id,items} = labels[item];
310
+            // $(`[data-tagid=${id}]`)
311
+            let html = '';
312
+          
313
+            for(let i=0;i<items.length;i++){
314
+                const {attribute,tagid} = items[i]
315
+                childIds.push(tagid);
316
+                group[attribute] = item;
317
+                html +=  getChildHTML(tagid,attribute,i==0);
318
+            }
319
+            $(`[data-tagid="${id}"]`).html(html);
320
+        }
321
+
322
+        itemtagscombinationRes = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/itemtagscombination/productid/${id}`,true); 
323
+
324
+        itemtagscombinationRes = JSON.parse(itemtagscombinationRes.response.result);
325
+         console.log(itemtagscombinationRes);
326
+
327
+        let valuesSelected = [];
328
+
329
+        $('.borderselector').each(function (i,el){
330
+        
331
+            let val = $(el).html();
332
+            valuesSelected.push(val.trim());
333
+        });
334
+        debugger;
335
+        let searchParams = window.location.search.split("&");
336
+        let skuId = window.location.hash.split('=')[1];
337
+        // skuId = skuId.split('=')[1]
338
+        let isGo = true;
339
+        for(let i=0;i<itemtagscombinationRes.length;i++){
340
+            const currItem = itemtagscombinationRes[i];
341
+           
342
+            const {tagnames,sku,itemid} = currItem;
343
+          
344
+            isThereInLabel[tagnames] = itemtagscombinationRes[i];
345
+
346
+
347
+            let isTrue = true;
348
+            if(isGo){
349
+                // for(let i=0;i<valuesSelected.length;i++){
350
+                //     if(!tagnames.includes(valuesSelected[i])){
351
+                //         isTrue = false
352
+                //     }
353
+                // }
354
+                if(skuId != itemid){
355
+                    isTrue = false
356
+                }
357
+    
358
+                if(isTrue){
359
+                    debugger;
360
+                    console.log(itemtagscombinationRes[i],'itemtagscombinationRes[i]');
361
+                    currentComb = itemtagscombinationRes[i];
362
+                    $('.productname').html(itemtagscombinationRes[i].itemname);
363
+                    location.hash = itemtagscombinationRes[i].itemname.trim();
364
+                    $('#skudetailitem').val(itemtagscombinationRes[i].sku)
365
+                    $('.price').html(itemtagscombinationRes[i].pricelist)
366
+                    appendSpecs(itemtagscombinationRes[i].itemid)
367
+                    isGo = false;
368
+                    let {tagnames,tagids,pricelist} = itemtagscombinationRes[i];
369
+                        tagids = tagids.split('|');
370
+                        tagnames = tagnames.split('|');
371
+                        $('.optiontaganwi').removeClass('borderselector');
372
+             
373
+                        for(let i=0;i<tagids.length;i++){
374
+                        
375
+                            $(`[data-tagiditem="${tagids[i]}"]`).addClass('borderselector');
376
+                        } 
377
+                   // tagiditem
378
+                }
379
+            }
380
+        }
381
+
382
+
383
+        if(isGo){
384
+            console.log(itemtagscombinationRes[0]);
385
+            let {tagnames,tagids,pricelist} = itemtagscombinationRes[0];
386
+            tagids = tagids.split('|');
387
+            tagnames = tagnames.split('|');
388
+            $('.optiontaganwi').removeClass('borderselector');
389
+            currentComb = itemtagscombinationRes[0];
390
+            for(let i=0;i<tagids.length;i++){
391
+             
392
+                $(`[data-type="${tagids[i]}-${tagnames[i]}"]`).addClass('borderselector');
393
+            }
394
+
395
+            $('.price').html(pricelist);
396
+            //console.log(childIds);
397
+            // 
398
+          
399
+        }
400
+      
401
+        //getAllCombination(valuesSelected)
402
+
403
+      
404
+        
405
+        // for(let i=0;i<itemtagscombinationRes.length;i++){
406
+        //     const {tagnames} = itemtagscombinationRes[i];
407
+            
408
+        // }
409
+
410
+        $('#spec-container-details').children().slice(1).find('.specsmallcard').removeClass('specsmallcard');
411
+        addeventlisteners();
412
+        return;
413
+        // let resTwo = await postStatAPIService(`${SERVERNAME}/apis/v4/bizgaze/integrations/products/itemtagscombination/productid/${id}`);
414
+            
415
+      
416
+        //let html = '';
417
+        let attributesObj = {};
418
+        for(let i=0;i<res.length;i++){
419
+            const {parentattribute,tagid,productid} = res[i];
420
+            // let attributes = await postStatAPIService(`${SERVERNAME}/apis/v4/bizgaze/integrations/products/productattributelist/parenttagid/${tagid}`);
421
+            // attributesObj[tagid] = JSON.parse(attributes.data.result);
422
+            // console.log(attributes.data.result,tagid);
423
+            html += getParentHTML(parentattribute,productid,tagid,i==0);
424
+        }
425
+
426
+        $('#spec-container-details').html(html);
427
+
428
+       
429
+        // let attributes = await postStatAPIService(`${SERVERNAME}/apis/v4/bizgaze/integrations/products/productattributelist/parenttagid/${tagid}`);
430
+        return;
431
+        for(let attr in attributesObj){
432
+            const arr = attributesObj[attr];
433
+           
434
+            let html = '';
435
+            for(let i=0;i<arr.length;i++){
436
+                const {attribute,tagid} = arr[i];
437
+                html += getChildHTML(tagid,attribute,i==0);
438
+            }
439
+
440
+            
441
+            $(`[data-tagid="${attr}"]`).html(html);
442
+
443
+
444
+        }
445
+
446
+        let defaultValues = await postStatAPIService(`${SERVERNAME}/apis/v4/bizgaze/integrations/products/sellableitemlist/productid/${id}`);
447
+        defaultValues = JSON.parse(defaultValues.data.result);
448
+        let {itemname,price} = defaultValues[0];
449
+        $('.productname').html(itemname);
450
+        $('.price').html(price)
451
+
452
+        $('#spec-container-details').children().slice(1).find('.specsmallcard').removeClass('specsmallcard');
453
+
454
+
455
+        
456
+
457
+       // getQuantityById(id)
458
+       
459
+    
460
+
461
+    }
462
+
463
+    
464
+}
465
+
466
+
467
+
468
+startDetails();
469
+

dist/Js/productdetails.js → dist/Js/productdetails_old.js Visa fil


+ 143
- 0
dist/Js/products/products.js Visa fil

@@ -0,0 +1,143 @@
1
+function ramProductsInit(){
2
+    let RAM_ID =  '';
3
+  
4
+    async function init(){
5
+        const id = await getProductIdService();
6
+        getRamData(id)
7
+    }
8
+
9
+    function getProductIdService(){
10
+        return new Promise(async (reslove,reject)=>{
11
+            let resData =await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getallproducts`,true); 
12
+           if(resData.isError){
13
+                alert(resData.errorMsg.message);
14
+                return;
15
+            }
16
+
17
+            let res = resData.response;
18
+                
19
+            res = JSON.parse(res.result);
20
+
21
+            console.log(res);
22
+            let urlPathName = window.location.pathname; 
23
+            let searchTerm = '';
24
+             if(urlPathName.includes('ram')){
25
+                searchTerm = "RAM ORA";
26
+            }else if(urlPathName.includes('storage')){
27
+                searchTerm = `SSD ORA`;
28
+            }
29
+            let resultItem = null;
30
+
31
+            for(let i=0;i<res.length;i++){
32
+                if(res[i].productname.includes(searchTerm)){
33
+                    resultItem = res[i];
34
+                    break;
35
+                }
36
+            }
37
+            const {productid} = resultItem;
38
+            RAM_ID = productid;
39
+            console.log(resultItem);
40
+            return reslove(productid)
41
+
42
+        });
43
+    }
44
+
45
+    async function getRamData(id){
46
+        let resData =await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/itemtagscombination/productid/${id}`,true); 
47
+
48
+        if(resData.isError){
49
+            alert(resData.errorMsg.message);
50
+            return;
51
+        }
52
+
53
+        let res = resData.response;
54
+            
55
+        res = JSON.parse(res.result);
56
+
57
+        console.log(res);
58
+        let html = '';
59
+
60
+        for(let i=0;i<res.length;i++){
61
+            html += getRamCardHTML(res[i]);
62
+        }
63
+
64
+        $('.product_card_section').html(html);
65
+
66
+        $('.ramcard').click(function(e){
67
+            let sku = $(e.target).data('itemid');
68
+            let itemid = $(e.target).data('itemid');
69
+            debugger;
70
+            window.location.href = `/productdetails.html?productId=${RAM_ID}#itemid=${itemid}`
71
+
72
+        })
73
+    }
74
+
75
+    function getRamCardHTML({itemname,pricelist,itemid,sku}){
76
+        let tags = itemname.split('-');
77
+        let ramTech = tags[tags.length-2];
78
+        let gb =  tags[tags.length-1];
79
+        const [currencySymbol,amount] = getCurrencySymbol(pricelist);
80
+        let priceAmt = `${currencySymbol} ${amount}`;
81
+        return ` 
82
+        
83
+            <!--desktop--->
84
+            <div class="col-sm-4 p-3">
85
+                <div class="product_card_3 shadow ram_card">
86
+                    <div class="card-item-header">
87
+                        <div class="card-header-sub-3"><a class=" py-md-1" href="/productdetails.html?productId=${RAM_ID}#itemid=${itemid}">
88
+                        <img src="./dist/assets/imgs/Navbar/ora_ddr4_desktop.png" class="w-100 h-100"></a>
89
+                        </div>
90
+                    </div>
91
+                    <div class="card-item-body">
92
+                      <h3 cclass="mb-2"> <a href="/productdetails.html?productId=${RAM_ID}#itemid=${itemid}" class="" >  ${itemname} </a></h3>
93
+                      <hr>
94
+                        <h6>${gb}</h6> <h6>${ramTech}</h6><h6>${priceAmt}</h6>
95
+                        <div class="py-2 card_product_footer">
96
+                            <button   data-sku="${sku}" data-itemid="${itemid}" class="w-100 border-0 ramcard bg-transparent satoshi_font ram_btn" data_name="ORA 8GB DDR4 3200MHz Desktop RAM "  data_version="DDR4" data_device="Desktop" data_gb="8GB"   data_price="2900">Details </button>
97
+                        </div>
98
+                    </div>
99
+                </div>
100
+         </div>
101
+           `;
102
+        return `<div class="col-lg-3 col-md-6 ram_card">
103
+        <div class="card shadow border-0 p-1 h-100">
104
+            <a href="#">
105
+                <img src="../dist/assets/imgs/Navbar/ora_ddr5_laptop.png" class="card-img-top" alt="...">
106
+            </a>
107
+            <div class="card-body">
108
+                <a href="#" class="text-decoration-none text-dark">
109
+                    <h5 class="card-title satoshi_font mb-0">
110
+                        ${itemname}
111
+                    </h5>
112
+                </a>
113
+            </div>
114
+            <ul class="list-group list-group-flush">
115
+                <li class="list-group-item border-0 py-0">
116
+                    <span class="satoshi_font">${gb} ${ramTech}</span>
117
+                </li>
118
+                <li class="list-group-item border-0 py-0">
119
+                    <span class="satoshi_font">3200 Mhz</span>
120
+                </li>
121
+            </ul>
122
+            <div class="card-body d-none">
123
+                <button class="btn--md btn-primary w-100 card-link">
124
+                    <span class="cost currency-symbol">₹</span><span class="cost product-price satoshi_font">${pricelist}</span>
125
+                </button>
126
+            </div>
127
+            <div class="card-body text-center">
128
+                <div  data-sku="${sku}" data-itemid="${itemid}" class="bg-black ramcard btn font-1-2 px-5 text-white w-100 satoshi_font" data_des="Upgrade your laptop with DDR4 Laptop
129
+                    Memory, oering 3200 MHz speed in 8, 16,
130
+                    and 32 GB capacities. Experience enhanced
131
+                    thermal performance, increased longevity,
132
+                    and superior performance with our
133
+                    innovative graphene sticker technology." data_name="ORA 8GB DDR4 3200MHz Laptop RAM ">Details
134
+                </div>
135
+            </div>
136
+        </div>
137
+    </div>`
138
+    }
139
+
140
+    init();
141
+}
142
+debugger;
143
+ramProductsInit();

+ 81
- 0
dist/Js/ramproducts/ramproducts.js Visa fil

@@ -0,0 +1,81 @@
1
+function ramProductsInit(){
2
+    const RAM_ID = 106633230000024;
3
+    function init(){
4
+        getRamData(RAM_ID)
5
+    }
6
+    async function getRamData(id){
7
+        let resData =await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/itemtagscombination/productid/${id}`,true); 
8
+
9
+        if(resData.isError){
10
+            alert(resData.errorMsg.message);
11
+            return;
12
+        }
13
+
14
+        let res = resData.response;
15
+            
16
+        res = JSON.parse(res.result);
17
+
18
+        console.log(res);
19
+        let html = '';
20
+
21
+        for(let i=0;i<res.length;i++){
22
+            html += getRamCardHTML(res[i]);
23
+        }
24
+
25
+        $('.ramsContainer').html(html);
26
+
27
+        $('.ramcard').click(function(e){
28
+            let sku = $(e.target).data('sku');
29
+            let itemid = $(e.target).data('itemid');
30
+
31
+            window.location.href = `/productdetails.html?productId=${RAM_ID}?sku=${sku}`
32
+
33
+        })
34
+    }
35
+
36
+    function getRamCardHTML({itemname,pricelist,itemid,sku}){
37
+        let tags = itemname.split('-');
38
+        let ramTech = tags[tags.length-2];
39
+        let gb =  tags[tags.length-1];
40
+        return `<div class="col-lg-3 col-md-6 ram_card">
41
+        <div class="card shadow border-0 p-1 h-100">
42
+            <a href="#">
43
+                <img src="../dist/assets/imgs/Navbar/ora_ddr5_laptop.png" class="card-img-top" alt="...">
44
+            </a>
45
+            <div class="card-body">
46
+                <a href="#" class="text-decoration-none text-dark">
47
+                    <h5 class="card-title satoshi_font mb-0">
48
+                        ${itemname}
49
+                    </h5>
50
+                </a>
51
+            </div>
52
+            <ul class="list-group list-group-flush">
53
+                <li class="list-group-item border-0 py-0">
54
+                    <span class="satoshi_font">${gb} ${ramTech}</span>
55
+                </li>
56
+                <li class="list-group-item border-0 py-0">
57
+                    <span class="satoshi_font">3200 Mhz</span>
58
+                </li>
59
+            </ul>
60
+            <div class="card-body d-none">
61
+                <button class="btn--md btn-primary w-100 card-link">
62
+                    <span class="cost currency-symbol">₹</span><span class="cost product-price satoshi_font">${pricelist}</span>
63
+                </button>
64
+            </div>
65
+            <div class="card-body text-center">
66
+                <div  data-sku="${sku}" data-itemid="${itemid}" class="bg-black ramcard btn font-1-2 px-5 text-white w-100 satoshi_font" data_des="Upgrade your laptop with DDR4 Laptop
67
+                    Memory, oering 3200 MHz speed in 8, 16,
68
+                    and 32 GB capacities. Experience enhanced
69
+                    thermal performance, increased longevity,
70
+                    and superior performance with our
71
+                    innovative graphene sticker technology." data_name="ORA 8GB DDR4 3200MHz Laptop RAM ">Details
72
+                </div>
73
+            </div>
74
+        </div>
75
+    </div>`
76
+    }
77
+
78
+    init();
79
+}
80
+
81
+ramProductsInit();

+ 208
- 0
dist/Js/shoppingcart/addtocart.js Visa fil

@@ -0,0 +1,208 @@
1
+const CART_DATA = 'CART_DATA';
2
+
3
+let cartLength = 0;
4
+const CART_ADD = 'CART_ADD';
5
+function getCartData(){
6
+    const data = localStorage.getItem(CART_DATA);
7
+    if(data) return JSON.parse(data);
8
+    return null;
9
+}
10
+
11
+function removeCartData(){
12
+    localStorage.removeItem(CART_DATA);
13
+}
14
+
15
+function setCartData(data){
16
+    localStorage.setItem(CART_DATA,JSON.stringify(data));
17
+}
18
+
19
+function setLengthCart(){
20
+  const data =   getCartData();
21
+  if(!data) return;
22
+
23
+  
24
+  let length = 0;
25
+
26
+  for(let item in data){
27
+    let curr = data[item];
28
+    length += parseInt(curr.quantity);
29
+  }
30
+
31
+  if(length>0){
32
+    $('.cartnumcount').removeClass('d-none').html(length);
33
+  }else{
34
+    $('.cartnumcount').addClass('d-none').html(0);
35
+  }
36
+
37
+}
38
+
39
+
40
+function getQuantityById(id){
41
+   const data =  getCartData();
42
+   if(!data) return;
43
+
44
+   for(let item in data){
45
+        if(id == item){
46
+            $('#quantity').val(products[item].quantity);
47
+        }
48
+    }
49
+}
50
+
51
+function updateCartQuantity(id,val){
52
+    const data = getCartData();
53
+    if(!data) return;
54
+
55
+
56
+    data[id].quantity = val;
57
+
58
+    
59
+    setCartData(data);
60
+    updateSummaryPriceAdd();
61
+
62
+}
63
+
64
+function removeCartItem(id){
65
+    debugger;
66
+    let data = getCartData();
67
+    if(!data) return;
68
+
69
+    let newdata = {};
70
+   
71
+    for(let item in data){
72
+        if(item != id){
73
+            newdata[item] = data[item];
74
+        }
75
+    }
76
+
77
+    setCartData(newdata);
78
+    updateSummaryPriceAdd();
79
+
80
+    return Object.keys(newdata).length;
81
+}
82
+
83
+function updateSummaryPriceAdd(){
84
+    let data = getCartData();
85
+    let totalSummaryPrice = $('.totalSummaryPrice');
86
+    let totalPrice = $('.totalPrice');
87
+    let currecy = $('.currecy');
88
+    let noofitems = $('.noofitems');
89
+    if(!data) return;
90
+    let len = 0;
91
+    let totalAmt = 0;
92
+    for(let item in data) {
93
+        let {price,quantity} = data[item];
94
+        totalAmt += parseInt(price*quantity);
95
+        len += parseInt(quantity);
96
+    }
97
+    const [currencySymbol,amount] = getCurrencySymbol(totalAmt);
98
+    noofitems.html(len);
99
+
100
+    totalSummaryPrice.html(amount);
101
+    totalPrice.html(amount);
102
+    currecy.html(currencySymbol);
103
+
104
+
105
+}
106
+
107
+function initAddToCart(){
108
+
109
+    addEventListeners();
110
+
111
+    function addToCartFun(){
112
+        const data = getCartData();
113
+          
114
+        let id =  window.location.search.split('=')[1];
115
+        if(!data){
116
+          
117
+            let cartObj = {};
118
+           debugger;
119
+      
120
+            cartObj[$('#skudetailitem').val()]  = {
121
+                name:$('.productname').html(),
122
+                price:$('.price').html(),
123
+                quantity:$('#quantity').val(),
124
+                img:$('.productDetailsMain img').attr('src'),
125
+                sku:$('#skudetailitem').val()
126
+            }
127
+
128
+
129
+            addtoCart(cartObj);
130
+            //$('.cartnumcount').removeClass('d-none').html(1);
131
+            setLengthCart();
132
+           
133
+        }else{
134
+            //if(!data[id]) data['length']++;
135
+            let name = $('.productname').html();
136
+            let price = $('.price').html();
137
+            let quantity = $('#quantity').val();
138
+            let img = $('.productDetailsMain img').attr('src');
139
+            let sku = $('#skudetailitem').val();
140
+
141
+           
142
+       
143
+            if(data[$('#skudetailitem').val()]){
144
+                data[$('#skudetailitem').val()] = {
145
+                    name:name,
146
+                    price:price,
147
+                    quantity: parseInt(data[sku].quantity)+parseInt(quantity),
148
+                    img:img,
149
+                    sku:sku
150
+                }
151
+                addtoCart(data);
152
+            }else{
153
+                data[$('#skudetailitem').val()] = {
154
+                    name:name,
155
+                    price:price,
156
+                    quantity:parseInt(quantity),
157
+                    img:img,
158
+                    sku:sku
159
+                }
160
+                addtoCart(data);
161
+            }
162
+            
163
+        }
164
+
165
+        setLengthCart();
166
+
167
+    }
168
+    
169
+    function addEventListeners(){
170
+        $('#addtocart').html('Add to cart')
171
+        $('#addtocart').off().click((e)=>{
172
+            debugger    
173
+            $('#addtocart').off().click(function (el){
174
+                window.location.href = '/shopping-cart.html';
175
+
176
+            });
177
+
178
+            addToCartFun();
179
+            debugger;
180
+            toasterHelper('success',"Item added to cart");
181
+           
182
+           $('#addtocart').html('Go to cart');
183
+        });
184
+
185
+        $('.buynow').off('click').click(async (e)=>{
186
+            addToCartFun();
187
+            const res = await COOKIE_HELPER.validateToken();
188
+            if(!res.response){
189
+                localStorage.setItem(CART_ADD,true);
190
+                window.location.href = '/login.html';
191
+                
192
+                $('.checkoutbtn').find('span').removeClass('d-none');
193
+                $('.checkoutbtn').find('div').addClass('d-none');
194
+                 return;
195
+            }
196
+            window.location.href = '/selectdelivery.html';
197
+
198
+        });
199
+    }
200
+
201
+    function addtoCart(data){
202
+        const currData = getCartData();
203
+        let newData = {...currData,...data};
204
+        setCartData(newData);
205
+    }
206
+}
207
+
208
+initAddToCart();

+ 665
- 0
dist/Js/shoppingcart/select_delivery.js Visa fil

@@ -0,0 +1,665 @@
1
+function initSelectDevlivery() {
2
+    let editMode = false;
3
+    let countryId = null;
4
+    let currencyId = null;
5
+    let billingInfo = null;
6
+    let userName = null;
7
+   
8
+    let orderBtnAction = {
9
+        removeOrdernowBtn() {
10
+            $('.ordernowbtn').parent().addClass('d-none');
11
+        },
12
+
13
+        addOrdernowBtn() {
14
+            $('.ordernowbtn').parent().removeClass('d-none');
15
+        }
16
+    }
17
+
18
+    let addresslistAction = {
19
+        removeAddressContainer(){
20
+            $('.addresslist').addClass('d-none');
21
+        },
22
+        addAddressContainer(){
23
+            $('.addresslist').removeClass('d-none');
24
+        }
25
+    }
26
+
27
+    let changeAddressBtnAction = {
28
+        removeChangeAddressBtn() {
29
+            $('.changeAddressBtn').addClass('d-none');
30
+        },
31
+        addChangeAddressBtn() {
32
+            $('.changeAddressBtn').removeClass('d-none');
33
+        }
34
+        
35
+    }
36
+
37
+    let changesaveCancelBtnAction = {
38
+        removeChangeCancelBtn() {
39
+            $('.saveanddeliverCanel').addClass('d-none');
40
+        },
41
+        addChangeCancelBtn() {
42
+            $('.saveanddeliverCanel').removeClass('d-none');
43
+        }
44
+        
45
+    }
46
+
47
+    let saveFormLoading = {
48
+        addSpinner(){
49
+            $('.saveanddeliver').find('.spinner-border').removeClass('d-none');
50
+            $('.saveanddeliver').find('span').addClass('d-none');
51
+        },
52
+
53
+        removeSpinner(){
54
+            $('.saveanddeliver').find('.spinner-border').addClass('d-none');
55
+            $('.saveanddeliver').find('span').removeClass('d-none');
56
+        },
57
+    }
58
+    let paymentgatewaypageAction = {
59
+        addPaymentgatewaypage(){
60
+            $('.paymentgatewaypage').removeClass('d-none');
61
+        },
62
+
63
+        removePaymentgatewaypage(){
64
+            $('.paymentgatewaypage').addClass('d-none');
65
+        }
66
+    }
67
+
68
+    let paymentContainerAction = {
69
+        paymentContainerAdd(){
70
+            $('.orderslist').parent().removeClass('d-none');
71
+        },
72
+
73
+        paymentContainerRemove(){
74
+            $('.orderslist').parent().addClass('d-none');
75
+        }
76
+    }
77
+
78
+    const {phonenumber_errorhandler,addressdes_errorhandler,zipcode_errorhandler,state_errorhandler} = factoryErrorControl();
79
+
80
+    function init() {
81
+        getAddressRes();
82
+        loadEvents();
83
+        updateSummaryPriceAdd();
84
+        // changeAddressBtnAction.removeChangeAddressBtn();
85
+
86
+    }
87
+
88
+    function removeAllFormError(){
89
+        phonenumber_errorhandler.removeError();
90
+        addressdes_errorhandler.removeError();
91
+        zipcode_errorhandler.removeError();
92
+        state_errorhandler.removeError();
93
+
94
+        $('.errMsgFormEdit').addClass('d-none');
95
+        $('.errMsgFormEdit').html('');
96
+
97
+    }
98
+
99
+    async function getAddressRes() {
100
+        let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
101
+        console.log(cookieRes);
102
+        const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getbillinginfo/contactid/${cookieRes.userId}`);
103
+
104
+        let res = JSON.parse(response.result);
105
+        console.log(res, 'befores');
106
+        res = res[res.length - 1];
107
+
108
+        //createBillingForm();
109
+
110
+        const {cityid, lobid,organizationname,addressline,cityname,phonenumber,zipcode,name } =res;
111
+        billingInfo = res;
112
+        debugger;
113
+        console.log(res);
114
+        if (cityid != 0) {
115
+            $('.addnewAddressContainer').addClass('d-none');
116
+            $('.detailsAddressBg').removeClass('detailsAddressBg');
117
+            $('.ordersummaryheader').addClass('detailsAddressBg');
118
+            $('.displayadress').removeClass('d-none')
119
+            // $('.addresslist').removeClass('d-none');
120
+            loadShippingProducts();
121
+            userName = organizationname;
122
+            
123
+            setAddressHeader({name:organizationname,phonenumber,addressline,cityname,zipcode});
124
+            debugger;
125
+           
126
+            editMode = true;
127
+
128
+
129
+            // adding values
130
+
131
+            $('#phonenumber').val(phonenumber);
132
+            $('#addressdes').val(addressline);
133
+            $('#zipcode').val(zipcode);
134
+            debugger;
135
+            $('.userNamelogin').html(`${userName}`);
136
+            changeAddressBtnAction.addChangeAddressBtn()
137
+            getCountryStateCurrency();
138
+        }else{
139
+            $('.userNamelogin').html(`${organizationname}`);
140
+            loadShippingProducts();
141
+            paymentContainerAction.paymentContainerRemove();
142
+            getCountryStateCurrency();
143
+            orderBtnAction.removeOrdernowBtn();
144
+            $('.detailsAddressBg').removeClass('detailsAddressBg');
145
+            $('.selectAddress').addClass('detailsAddressBg');
146
+        }
147
+    }
148
+
149
+    function setAddressHeader({name,phonenumber,addressline,cityname,zipcode}){
150
+        $('.innerDisplayAddress').html(`${name}-${phonenumber}, ${addressline}, ${cityname} - `);
151
+        $('.zipcodeAddress').html(`${zipcode}`);
152
+
153
+    }
154
+
155
+    function checkForm(){
156
+   
157
+        let number = $('#phonenumber').val();
158
+        let zipcode = $('#zipcode').val();
159
+        let state = $('#state').val();
160
+        let address = $('#addressdes').val();
161
+
162
+        let isTrue = false;
163
+        if(!number || number.length!=10){
164
+            isTrue = true;
165
+            phonenumber_errorhandler.addError();
166
+        }
167
+
168
+        if(zipcode.length<6 || zipcode.length>6){
169
+            isTrue = true;
170
+            zipcode_errorhandler.addError();
171
+        }
172
+
173
+        if(!state){
174
+            isTrue = true;
175
+            state_errorhandler.addError();
176
+        }
177
+
178
+        if(!address){
179
+            isTrue = true;
180
+            addressdes_errorhandler.addError();
181
+        }
182
+
183
+        return isTrue;
184
+
185
+
186
+    }
187
+
188
+    async function createBillingForm(){
189
+        debugger;
190
+        let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
191
+        let { userId, name } = cookieRes;
192
+        const ctyId =   await getCountryId();
193
+        
194
+        let stateId = parseInt($('#state').val());
195
+         let payload = {
196
+                "cityid": stateId,
197
+                "CityName":$(`[data-id="${stateId}"`).html(),
198
+                "addressline1": $('#addressdes').val(),
199
+
200
+                "OrganizationType": 2,
201
+                "organizationname": name,
202
+                //"OrganizationId":,
203
+                "ContactName": name,
204
+                "ContactId": userId,
205
+                "countryname": 'india',
206
+                "countryid": ctyId,
207
+                "statename":$(`[data-id="${stateId}"`).html(),
208
+                "phonenumber": $('#phonenumber').val(),
209
+
210
+                "OrganizationId": userId,
211
+                "currencyid": 2,
212
+                "taxno": '0',
213
+                "BillingInfoExists": false,
214
+                "lobid": 0,
215
+                "lobname": "IT Products",
216
+                "gstindetailid": 0,
217
+                zipcode:$('#zipcode').val()
218
+            }
219
+            const res = await API_SERVICES_ACTIONS.postAPIService('apis/v4/bizgaze/crm/address/savebillinginfo', payload);
220
+            // http://localhost:3088/apis/v4/bizgaze/crm/address/savebillinginfo
221
+
222
+
223
+            setAddressHeader({name,phonenumber:$('#phonenumber').val(),addressline: $('#addressdes').val(),cityname:$(`[data-id="${stateId}"`).html(),zipcode:$('#zipcode').val()});
224
+
225
+            return new Promise((reslove,reject) => {
226
+                reslove(res);
227
+            })
228
+        console.log(res);
229
+    }
230
+
231
+    async function saveForm() {
232
+        
233
+        let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
234
+        let { userId, name } = cookieRes;
235
+        const { errorMsg, isError, response } = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getbillinginfo/contactid/${cookieRes.userId}`);
236
+
237
+        let resAnwi = JSON.parse(response.result);
238
+        console.log(resAnwi, 'befores');
239
+        resAnwi = resAnwi[resAnwi.length - 1];
240
+
241
+        let stateId = parseInt($('#state').val());
242
+        let payload = {
243
+            ...resAnwi,
244
+            phonenumber:$('#phonenumber').val(),
245
+            addressline1:$('#addressdes').val(),
246
+            zipcode:$('#zipcode').val(),
247
+            cityid:stateId,
248
+            CityName:$(`[data-id="${stateId}"`).html(),
249
+           
250
+        }
251
+
252
+        console.log(payload,"ertyuioghjkl");
253
+
254
+
255
+      
256
+        //
257
+        const res = await API_SERVICES_ACTIONS.postAPIService('apis/v4/bizgaze/crm/address/savebillinginfo', payload);
258
+
259
+        return new Promise((reslove,reject) => {
260
+            reslove(res);
261
+        })
262
+    }
263
+
264
+    async function loadEvents() {
265
+        $('.addnewAddressContainer').off('click').click(function (e) {
266
+            $('.addnewAddressContainer').addClass('d-none');
267
+            $('.addresslist').removeClass('d-none');
268
+            changeAddressBtnAction.removeChangeAddressBtn();
269
+            changesaveCancelBtnAction.addChangeCancelBtn();
270
+           
271
+        });
272
+
273
+        $('.saveanddeliverCanel').off('click').click(function (){
274
+           if(!editMode){
275
+            $('.addnewAddressContainer').removeClass('d-none');
276
+            $('.addresslist').addClass('d-none');
277
+            changeAddressBtnAction.removeChangeAddressBtn();
278
+            changesaveCancelBtnAction.removeChangeCancelBtn();
279
+           }else{
280
+            loadShippingProducts();
281
+            addresslistAction.removeAddressContainer()
282
+            changeAddressBtnAction.addChangeAddressBtn();
283
+            paymentContainerAction.paymentContainerAdd();
284
+            $('.displayadress').removeClass('d-none');
285
+           }
286
+        });
287
+
288
+        
289
+        $('.saveanddeliver').off('click').click(async function (e) {
290
+           
291
+            saveFormLoading.addSpinner()
292
+            let isErrorForm =  checkForm();
293
+
294
+            if(isErrorForm){ 
295
+                saveFormLoading.removeSpinner();
296
+                return;
297
+            }
298
+            let res;
299
+            if(editMode){
300
+                res = await saveForm();
301
+            }else{
302
+                res = createBillingForm();
303
+            }
304
+            saveFormLoading.removeSpinner();
305
+
306
+       
307
+            const {isError,errorMsg,response} = res;
308
+            console.log(errorMsg);
309
+            if(isError){
310
+
311
+                $('.errMsgFormEdit').removeClass('d-none');
312
+                $('.errMsgFormEdit').html(`${errorMsg.message}`);
313
+
314
+
315
+
316
+                return;
317
+            }
318
+            debugger;
319
+            editMode = true;
320
+            let {name} = COOKIE_HELPER.getCookie();
321
+            // phonenumber:$('#phonenumber').val(),
322
+            // addressline1:$('#addressdes').val(),
323
+            // zipcode:$('#zipcode').val(),
324
+            // cityid:stateId,
325
+            // CityName:$(`[data-id="${stateId}"`).html(),
326
+            let stateId = parseInt($('#state').val());
327
+            setAddressHeader({name,addressline:$('#addressdes').val(),cityname:$(`[data-id="${stateId}"`).html(),phonenumber:$('#phonenumber').val(),zipcode:$('#zipcode').val()});
328
+
329
+
330
+            $('.errMsgFormEdit').html('');
331
+             loadShippingProducts();
332
+            addresslistAction.removeAddressContainer()
333
+            changeAddressBtnAction.addChangeAddressBtn();
334
+            paymentContainerAction.paymentContainerAdd();
335
+            $('.displayadress').removeClass('d-none');
336
+         
337
+
338
+        });
339
+        $('.changeAddressBtn').off('click').click(function (e){
340
+            console.log(e.target);
341
+            removeOrderSummary();
342
+            changeAddressBtnAction.removeChangeAddressBtn();
343
+            $('.displayadress').addClass('d-none')
344
+        })
345
+
346
+        $('.ordernowbtn').off().click(async function (e){
347
+            let cookieRes = COOKIE_HELPER_ACTIONS.getCookie();
348
+            let { userId, name } = cookieRes;
349
+           
350
+            paymentgatewaypageAction.addPaymentgatewaypage();
351
+            let payload = {
352
+                "OrganizationName": name,
353
+                "BranchId": 106632280000001,
354
+                "OrderItems": [
355
+                    {            
356
+                        "UnitPrice": 20,
357
+                        "Quantity": 1,
358
+                        "SKU": "11",
359
+                        "DiscountValue": 0,
360
+                        "DiscountPercent": 0
361
+                    }
362
+                ]
363
+            }
364
+            $('.paymentgatewaypage').removeClass('d-none');
365
+            const data = getCartData();
366
+       
367
+            let orderItems = [];
368
+            for(let i in data){
369
+                const {price,quantity,sku} = data[i];
370
+                let payload = {
371
+                    "UnitPrice": price,
372
+                    "Quantity": quantity,
373
+                    "SKU": sku,
374
+                    "DiscountValue": 0,
375
+                    "DiscountPercent": 0
376
+                }
377
+                orderItems.push(payload)
378
+            }
379
+
380
+            payload['OrderItems'] = orderItems;
381
+
382
+            debugger;
383
+          try {
384
+            const res =  await API_SERVICES_ACTIONS.postAPIService(`apis/v4/bizgaze/integrations/salesorder/save`,payload);
385
+          console.log(res.response.result);;
386
+
387
+          if(!res.response.result){
388
+            paymentgatewaypageAction.removePaymentgatewaypage();
389
+          }
390
+
391
+
392
+         
393
+        //   `http://localhost:3088/apis/v4/bizgaze/transact/orders/getpaymentgatewaytransaction/refid/106633780000069`
394
+
395
+          let response =  await  API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/transact/orders/getpaymentgatewaytransaction/refid/${res.response.result}`);
396
+         let  {PaymentLink} = JSON.parse(response.response.result);
397
+         window.location.href = PaymentLink;
398
+          } catch (error) {
399
+            paymentgatewaypageAction.removePaymentgatewaypage();
400
+          }
401
+        });
402
+    }
403
+
404
+    function getItemProductHTML(item) {
405
+        const { img, name, price, quantity, sku, id } = item;
406
+
407
+        return ` <div class="align-items-center item-product-add d-flex justify-content-between" data-id="${id}" data-sku="${sku}">
408
+        <div style="max-width: 100px;" class="">
409
+            <img class="w-100" src="${img}" alt="">
410
+        </div>
411
+       <div>
412
+        <div>
413
+            <div style="font-size:12px">${name}</div>
414
+        </div>
415
+        <div>
416
+            <span style="font-size:12px" class="font-weight-600">${getCurrencySymbol(price)}</span> <span>x <span class="qtyitem" style="font-size:12px">${quantity}</span></span>
417
+        </div>
418
+       </div>
419
+    </div>`;
420
+        return ` <div class="item-product-add" data-id="${id}" data-sku="${sku}">
421
+        <div class="row py-2">
422
+            <div class="col-sm-2">
423
+               <div class="w-100 d-flex justify-content-around">
424
+                <div class="d-flex flex-column align-items-baseline">
425
+                    <div class="px-4 py-2 selectaddressimgshow">
426
+                        <img class="w-100" src="${img}" alt="" class="w-100">
427
+                    </div>
428
+                    <div class="addresscontrol w-100 d-flex justify-content-center gap-1">
429
+                        <div class="rounded-contain btnminus">
430
+                            -
431
+                        </div>
432
+                        <div class="w-100p">
433
+                            <input class="qtyshowinput" disabled value="${quantity}" type="number">
434
+                        </div>
435
+                        <div class="rounded-contain btnplus">
436
+                            +
437
+                        </div>
438
+                    </div>
439
+                   </div>
440
+               </div>
441
+            </div>
442
+            <div class="col-sm-10">
443
+                <div class="row h-100">
444
+                   <div class="col-sm-8">
445
+                    <div class="h-100 d-flex flex-column justify-content-between">
446
+                        <div> ${name}</div>
447
+                        <div>
448
+                           <span>$</span> ${price} <span class="d-none">56% Off 2 offers applied</span>
449
+                        </div>
450
+                    <div class="d-flex gap-3">
451
+                        <span class="text-uppercase d-none">Save for later</span>
452
+                        <span class="text-uppercase cursor-pointer removecartItem">Remove</span>
453
+                    </div>
454
+                    </div>
455
+                   </div>
456
+                </div>
457
+            </div>
458
+        </div>
459
+      </div>`;
460
+    }
461
+
462
+    async function getCountryId(){
463
+        const countryRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/products/getcountry');;
464
+        
465
+        if (countryRes.isError) {
466
+            alert("something went wrong");
467
+            console.log(countryRes);
468
+            return;
469
+        }
470
+
471
+        let ctyId = 0
472
+        let countryData = JSON.parse(countryRes.response.result);
473
+
474
+        console.log(countryData);
475
+
476
+        for (let i = 0; i < countryData.length; i++) {
477
+            if (countryData[i].countryname.toLowerCase() === 'india') {
478
+                countryId = countryData[i].countryid;
479
+                ctyId = countryId
480
+                countrynameData = countryData[i].countryname;
481
+                break;
482
+            }
483
+        }
484
+
485
+        return ctyId;
486
+
487
+    }
488
+
489
+    async function getCountryStateCurrency() {
490
+        const countryRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/products/getcountry');;
491
+
492
+        if (countryRes.isError) {
493
+            alert("something went wrong");
494
+            console.log(countryRes);
495
+            return;
496
+        }
497
+
498
+
499
+        let countryData = JSON.parse(countryRes.response.result);
500
+
501
+        console.log(countryData);
502
+
503
+        for (let i = 0; i < countryData.length; i++) {
504
+            if (countryData[i].countryname.toLowerCase() === 'india') {
505
+                countryID = countryData[i].countryid;
506
+                countrynameData = countryData[i].countryname;
507
+                break;
508
+            }
509
+        }
510
+
511
+        const stateRes = await API_SERVICES_ACTIONS.getAPIService(`apis/v4/bizgaze/integrations/products/getcities/countryid/${countryID}`);
512
+
513
+        if (stateRes.isError) {
514
+            alert("something went wrong");
515
+            console.log(stateRes);
516
+            return;
517
+        }
518
+
519
+        let stateData = JSON.parse(stateRes.response.result);
520
+
521
+        console.log(stateData, 'state');
522
+
523
+
524
+        $('#state').html('');
525
+        console.log("start")
526
+        let html = '';
527
+        statesList = stateData;
528
+        for (let i = 0; i < stateData.length; i++) {
529
+            html += `<option value="${stateData[i].cityid}" data-id="${stateData[i].cityid}">${stateData[i].cityname}</option>`
530
+
531
+        }
532
+
533
+        $('#state').append(html);
534
+
535
+        $("#state").select2({
536
+            placeholder: "Select a City",
537
+            allowClear: true
538
+        });
539
+
540
+        const currencyRes = await API_SERVICES_ACTIONS.getAPIService('apis/v4/bizgaze/integrations/products/getcurrencies');
541
+
542
+        if(currencyRes.isError){
543
+            alert("something went wrong");
544
+            console.log(currencyRes);
545
+            return;
546
+        }
547
+
548
+        let currencyData = JSON.parse(currencyRes.response.result);
549
+
550
+        console.log(currencyData,'currencyDatacurrencyDatacurrencyData');
551
+
552
+        for(let i=0;i<currencyData.length;i++){
553
+            const curr = currencyData[i];
554
+            if(curr.currencyname.toLowerCase().includes('india')){
555
+                currencyid = curr.currencyid;
556
+            }
557
+        }
558
+    }
559
+
560
+    function loadShippingProducts(){
561
+        $('.detailsAddressBg').removeClass('detailsAddressBg');
562
+        $('.ordersummaryheader ').addClass('detailsAddressBg')
563
+debugger;
564
+        const products = getCartData();
565
+        console.log(products);
566
+        if (Object.keys(products||{}).length) orderBtnAction.addOrdernowBtn();
567
+
568
+        let productsHTML = '';
569
+        for (let item in products) {
570
+            const currItem = products[item];
571
+            productsHTML += getItemProductHTML({ ...currItem, id: item })
572
+        }
573
+        $('.orderlistcart').html(productsHTML);
574
+        // $('.orderslist').html(productsHTML);
575
+        $('.orderslist').html(` <label for="online">
576
+        Online
577
+        <input checked data-op="online" name="payment" type="radio" class="paymentbtn   " id="online">
578
+    </label>
579
+    <label for="cod">
580
+        Cash on develiop
581
+        <input data-op="cod" name="payment" type="radio" class="paymentbtn  " id="cod">
582
+    </label>`);
583
+
584
+    $('.paymentbtn').off().click(function (e){
585
+        const data = $(e.target).data('op');
586
+        if(data == 'online'){
587
+            orderBtnAction.addOrdernowBtn();
588
+        }else{
589
+            orderBtnAction.removeOrdernowBtn();
590
+        }
591
+    })
592
+        $('.btnminus').each(function (i, el) {
593
+            $(el).off().click(function (elm) {
594
+                let id = $(elm.target).parents('.item-product-add').data('id');
595
+                let val = parseInt($(elm.target).parents('.item-product-add').find('.qtyshowinput').val());
596
+                if (val <= 1) return;
597
+                val--;
598
+                updateCartQuantity(id, val)
599
+                $(elm.target).parents('.item-product-add').find('.qtyshowinput').val(val)
600
+            });
601
+        })
602
+        $('.btnplus').each(function (i, el) {
603
+            $(el).off().click(function (elm) {
604
+                let id = $(elm.target).parents('.item-product-add').data('id');
605
+                let val = parseInt($(elm.target).parents('.item-product-add').find('.qtyshowinput').val());
606
+                if (val >= 11) return;
607
+                val++;
608
+                updateCartQuantity(id, val)
609
+                $(elm.target).parents('.item-product-add').find('.qtyshowinput').val(val);
610
+            });
611
+        })
612
+        $('.removecartItem').each(function (i, el) {
613
+            $(el).click(function (elm) {
614
+                let id = $(elm.target).parents('.item-product-add').data('id');
615
+
616
+                let len = removeCartItem(id);
617
+                $(`.item-product-add[data-id="${id}"]`).remove();
618
+                if (!len) {
619
+                    orderBtnAction.removeOrdernowBtn();
620
+                }
621
+            });
622
+
623
+
624
+        })
625
+    }
626
+
627
+    function removeOrderSummary(){
628
+        $('.detailsAddressBg').removeClass('detailsAddressBg');
629
+        $('.selectAddress').addClass('detailsAddressBg');
630
+        $('.orderslist').html('');
631
+        orderBtnAction.removeOrdernowBtn();
632
+
633
+       // $('.detailsAddressBtn').addClass('d-none');
634
+        addresslistAction.addAddressContainer();
635
+        $('.saveanddeliver').removeClass('d-none');
636
+        $('.saveanddeliverCanel').removeClass('d-none')
637
+    }
638
+
639
+    function factoryErrorControl(){
640
+        let inputsArr = ['phonenumber','addressdes','zipcode','state'];
641
+
642
+        let controls = {};
643
+        for(let i=0;i<inputsArr.length;i++){
644
+            const id =inputsArr[i];
645
+
646
+            controls[`${id}_errorhandler`] = {
647
+                addError(){
648
+                    debugger;
649
+                    $(`#${id}`).parents('.col-sm-6').find('.invalid-feedback').addClass('d-block');
650
+                },
651
+                removeError(){
652
+                    $(`#${id}`).parents('.col-sm-6').find('.invalid-feedback').addClass('d-block');
653
+                }
654
+            }
655
+
656
+        }
657
+
658
+        return controls;
659
+    }
660
+
661
+    init();
662
+
663
+}
664
+
665
+checkValidAuth(initSelectDevlivery);

+ 228
- 0
dist/Js/shoppingcart/shoppingcart.js Visa fil

@@ -0,0 +1,228 @@
1
+shoppingCartInit();
2
+
3
+debugger;
4
+function shoppingCartInit() {
5
+
6
+    shoppingCartAppend();
7
+
8
+    function shoppingCartAppend() {
9
+        let data = getCartData();
10
+
11
+        if (!data) {
12
+            $('.emptyShow').removeClass('d-none');
13
+            $('.checkoutbtn').addClass('d-none');
14
+            return;
15
+        };
16
+
17
+        let html = '';
18
+        let products = data;
19
+
20
+        
21
+
22
+        // for(let i=0;i<products.length;i++){
23
+        //     const {img,name,price,quantity,total} = products[i];
24
+        //     debugger;
25
+        //     html += shoppingCartDesktopHTML(products[i]);
26
+        // }
27
+        if(Object.keys(data).length === 0) {
28
+            $('.checkoutbtn').addClass('d-none');
29
+            $('.emptyShow').removeClass('d-none');
30
+        }
31
+        setLengthCart();
32
+        for (let product in products) {
33
+
34
+            html += shoppingCartDesktopHTML({ ...products[product], total: products[product].quantity * products[product].price, id: product });
35
+        }
36
+
37
+        $('.appendItems').html(html);
38
+
39
+
40
+        addEventListenerCart();
41
+
42
+    }
43
+
44
+    // event listeners
45
+    function addEventListenerCart() {
46
+
47
+        $('.quantitySelect').each(function (i, element) {
48
+            if (!$(element).hasClass('d-none')) {
49
+                $(element).off().change(function (e) {
50
+                    let num = e.target.value;
51
+                    if (num == 5) {
52
+                        $(e.target).parents('.mainselectcontainer').find('.inputcartaddmore').removeClass('d-none');
53
+                        $(e.target).addClass('d-none');
54
+                        $(e.target).parents('.mainselectcontainer').find('.inputcartaddmore button').off().click(function (item) {
55
+                            const val = $(item.target).parent().find('input').val()
56
+                            let id = $(item.target).parents('.mainselectcontainer').data('id');
57
+                            updateCartQuantity(id, val);
58
+                            //    $(item.target).parents('.mainselectcontainer').find('.inputcartaddmore').addClass('d-none');
59
+                            //    $(e.target).removeClass('d-none');
60
+                            setLengthCart();
61
+                            shoppingCartAppend();
62
+
63
+                        })
64
+                    } else {
65
+                        let id = $(e.target).parents('.mainselectcontainer').data('id');
66
+                        updateCartQuantity(id, num);
67
+                        setLengthCart();
68
+                        shoppingCartAppend();
69
+                    }
70
+                });
71
+            } else {
72
+                $(element).parents('.mainselectcontainer').find('.inputcartaddmore button').off().click(function (item) {
73
+                    const val = $(item.target).parent().find('input').val()
74
+                    let id = $(item.target).parents('.mainselectcontainer').data('id');
75
+                    updateCartQuantity(id, val);
76
+                    //    $(item.target).parents('.mainselectcontainer').find('.inputcartaddmore').addClass('d-none');
77
+                    //    $(e.target).removeClass('d-none');
78
+                    setLengthCart();
79
+                    shoppingCartAppend();
80
+
81
+                })
82
+            }
83
+        });
84
+
85
+        $('.btndeletecart').each(function (i, element) {
86
+            $(element).click(function (e) {
87
+                const cardId = $(e.target).data('cartid');
88
+                let data = getCartData();
89
+                console.log(data, 'cardId', cardId);
90
+                if (!data) return;
91
+                debugger;
92
+                const products = data;
93
+                const productsFilter = {};
94
+                for (let product in products) {
95
+                    if (product != cardId) productsFilter[product] = products[product];
96
+                }
97
+
98
+
99
+                data  = productsFilter;
100
+                let len = Object.keys(data).length
101
+                if(!len){
102
+
103
+                    $('.checkoutbtn').addClass('d-none');
104
+                    $('.emptyShow').removeClass('d-none');
105
+                }else{
106
+                    $('.checkoutbtn').removeClass('d-none');
107
+                    $('.emptyShow').addClass('d-none');
108
+                }
109
+                setCartData(data);
110
+                setLengthCart();
111
+                shoppingCartAppend();
112
+            });
113
+        });
114
+
115
+        $('.checkoutbtn').click(async function (e){
116
+            $('.checkoutbtn').find('span').addClass('d-none');
117
+            $('.checkoutbtn').find('div').removeClass('d-none');
118
+            const res = await COOKIE_HELPER.validateToken();
119
+            if(!res.response){
120
+                localStorage.setItem(CART_ADD,true);
121
+                window.location.href = '/login.html';
122
+                
123
+                $('.checkoutbtn').find('span').removeClass('d-none');
124
+                $('.checkoutbtn').find('div').addClass('d-none');
125
+                 return;
126
+            }
127
+            window.location.href = '/selectdelivery.html';
128
+            $('.checkoutbtn').find('span').removeClass('d-none');
129
+            $('.checkoutbtn').find('div').addClass('d-none');
130
+            
131
+            
132
+        });
133
+    }
134
+
135
+    function getQuantityHTML(value, id) {
136
+        return `<div data-id="${id}" class="mainselectcontainer w-100">
137
+        <div class="w-100">
138
+        <label>Qty</label>
139
+        <select class="quantitySelect form-select ${value >= 5 ? 'd-none' : ''}" value="${value}">
140
+                <option ${value == 1 ? 'selected="selected"' : null} value="1">
141
+                    1
142
+                </option>
143
+                <option  ${value == 2 ? 'selected="selected"' : null} value="2">
144
+                    2
145
+                </option>
146
+                <option  ${value == 3 ? 'selected="selected"' : null} value="3">
147
+                    3
148
+                </option>
149
+                <option  ${value == 4 ? 'selected="selected"' : null} value="4">
150
+                    4
151
+                </option>
152
+                <option  ${value == 5 ? 'selected="selected"' : null} value="5">
153
+                    5+
154
+                </option>
155
+            </select>
156
+    </div>
157
+
158
+    <div class=" inputcartaddmore d-flex gap-2 ${value >= 5 ? '' : 'd-none'}">
159
+        <input min="1" class="form-control" style="max-width:100px" value="${value <= 5 ? '5' : value}" type="number" />
160
+        <button class="btn border-none bg-info">Add</button>
161
+    </div>
162
+        
163
+        </div>`
164
+    }
165
+
166
+    function shoppingCartDesktopHTML({ id, img, name, price, description, quantity, total }) {
167
+        const [currencySymbol,amt] = getCurrencySymbol(price);
168
+        return `
169
+        <div class="row bg-white mt-3 rounded py-3 d-flex  ">
170
+        <div class="col-md-2 text-center"><img src="${img}" alt="${name}" class="img-fluid"></div>
171
+        <div class="col-md-4 d-flex justify-content-center align-items-center">
172
+          
173
+            <a class="text-decoration-none text-dark cursor-pointer" href="/productdetails.html?productId=${id}">${name}</a>
174
+            <small>${description||''}</small>
175
+            <span class="badge d-none text-bg-warning">8 Offers ></span>   
176
+        </div>
177
+        <div class="col-md-2 d-flex justify-content-center align-items-center">
178
+            <p class="text-right"><span>${currencySymbol}</span> ${amt}</p>
179
+        </div>
180
+        <div class="col-md-2 d-flex justify-content-center align-items-center">
181
+   
182
+            ${getQuantityHTML(quantity, id)}
183
+        </div>
184
+        <div class="col-md-2 d-flex justify-content-center align-items-center">
185
+            <div class="d-flex justify-content-between w-100">
186
+                <p class="fw-bold"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-currency-rupee" viewBox="0 0 16 16">
187
+                    <path d="M4 3.06h2.726c1.22 0 2.12.575 2.325 1.724H4v1.051h5.051C8.855 7.001 8 7.558 6.788 7.558H4v1.317L8.437 14h2.11L6.095 8.884h.855c2.316-.018 3.465-1.476 3.688-3.049H12V4.784h-1.345c-.08-.778-.357-1.335-.793-1.732H12V2H4v1.06Z"/>
188
+                  </svg>${total}</p>
189
+                <span class="btndeletecart cursor-pointer" data-cartid="${id}">x</span>
190
+            </div>
191
+        </div>
192
+        <div class="warrenty-sec px-3 sec-space-4 d-none">
193
+            <div class="row align-items-center border
194
+                            py-2 mx-4">
195
+                <div class="col-md-8">
196
+                    <p class="mb-0"> <img src="./dist/assets/imgs/Home/Anwi-cart-logo.png" alt="shopping-cart-item-img"> Anwi Extended Warranty 2 Year: Protect your Laptop for another 2 years Learn more </p>
197
+                </div>
198
+                <div class="col-md-3">
199
+                    <p class="text-end mb-0"> ₹3,200 (2 year)
200
+                    </p>
201
+                </div>
202
+            </div>
203
+            <div class="row align-items-center border
204
+                            py-2 mx-4 mt-3">
205
+                <div class="col-md-8">
206
+                    <p class="mb-0"> <img src="./dist/assets/imgs/Home/Anwi-cart-logo-2.png" alt="shopping-cart-item-img"> Anwi Extended Warranty 2 Year: Protect your Laptop for another 2 years Learn more </p>
207
+                </div>
208
+                <div class="col-md-3">
209
+                    <p class="text-end mb-0"> ₹2,900 (2 year)
210
+                    </p>
211
+                </div>
212
+            </div>
213
+        </div>
214
+    </div>
215
+
216
+    <div class=" bg-white mt-3 rounded py-3 d-block d-sm-none ">
217
+        <div class="row">
218
+            <div class=""></div>
219
+        </div>
220
+
221
+
222
+        <div>
223
+
224
+        </div>
225
+    </div>
226
+        `;
227
+    }
228
+}

+ 0
- 0
dist/Js/utils/cookiehelper.js Visa fil


+ 44
- 0
dist/Js/utils/helpers.js Visa fil

@@ -0,0 +1,44 @@
1
+
2
+const uid = function(){
3
+    return Date.now().toString(36) + Math.random().toString(36).substr(2);
4
+}
5
+
6
+function getCurrencySymbol(value=0) {
7
+    let type = 'INR'
8
+    if (type) {
9
+        const ans = new Intl.NumberFormat('en-US', { style: 'currency', currency: type }).format(value);;
10
+        const res = ans.split(/(\D+)/);
11
+        const currencySymbol = res[1];
12
+        const amount = res.slice(2,res.length).join('')
13
+
14
+
15
+        return [currencySymbol,amount]
16
+    } else {
17
+        console.log("errrrrrrrrrrrrrrrrrrrrrrrrr",type);
18
+        return ['',0];
19
+    }
20
+}
21
+
22
+function toasterHelper(type,message){
23
+    // toasterOpts()
24
+Command: toastr[type](message);
25
+function toasterOpts(){
26
+    toastr.options = {
27
+      "closeButton": true,
28
+      "debug": false,
29
+      "newestOnTop": true,
30
+      "progressBar": true,
31
+      "positionClass": "toast-top-center",
32
+      "preventDuplicates": true,
33
+      "onclick": null,
34
+      "showDuration": "300",
35
+      "hideDuration": "1000",
36
+      "timeOut": "5000",
37
+      "extendedTimeOut": "1000",
38
+      "showEasing": "swing",
39
+      "hideEasing": "linear",
40
+      "showMethod": "fadeIn",
41
+      "hideMethod": "fadeOut"
42
+    }
43
+  }
44
+}

+ 21
- 0
dist/css/pages/orderconfirmation.css Visa fil

@@ -0,0 +1,21 @@
1
+/* html,body{
2
+    height: 100%;
3
+} */
4
+.orderconfirmationMain{
5
+    /* height: 100%; */
6
+  
7
+    padding-top: 5rem;
8
+
9
+    display: flex;
10
+    
11
+    justify-content: center;
12
+}
13
+
14
+.ordercontainerconfirm{
15
+    max-width: 800px;
16
+    height: max-content;
17
+}
18
+
19
+.summaryconfirmdetails{
20
+    width: 250px;
21
+}

+ 31
- 7
dist/css/pages/productdetails.css Visa fil

@@ -1,6 +1,3 @@
1
-*{
2
-    font-family:"Satoshi", sans-serif;
3
-}
4 1
 .font-w600{
5 2
     font-weight: 600;
6 3
 }
@@ -59,9 +56,9 @@
59 56
  
60 57
 }
61 58
 
62
-/* .productDetailsShadow{
59
+.productDetailsShadow{
63 60
    
64
-} */
61
+}
65 62
 
66 63
 .learnMoreA{
67 64
     text-decoration: none;
@@ -80,9 +77,9 @@
80 77
     font-size: 1rem;
81 78
 }
82 79
 
83
-/* .bgproductDGen{
80
+.bgproductDGen{
84 81
     
85
-} */
82
+}
86 83
 
87 84
 .product-item-gallery{
88 85
     background: linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%);
@@ -101,4 +98,31 @@
101 98
 
102 99
 .product-item-gallery.active-gallery-img{
103 100
     border: 3px solid;
101
+}
102
+
103
+.disable-item{
104
+    pointer-events: none;
105
+    background: #f3f3f3;
106
+}
107
+
108
+.tabsContainer{
109
+    margin-top: 100px !important;
110
+    transition: none !important;
111
+}
112
+
113
+
114
+.no-transition{
115
+    transition: none !important;
116
+}
117
+
118
+
119
+.productdetailstabs .active{
120
+    transition: none !important;
121
+    border-bottom: 3px solid;
122
+    font-weight: 600;
123
+
124
+}
125
+
126
+.tabsContainer .wrap-content-product-tabs{
127
+    margin-top: 40px !important;
104 128
 }

+ 133
- 0
dist/css/pages/selectdelivery.css Visa fil

@@ -0,0 +1,133 @@
1
+html,body{
2
+    height: 100%;
3
+}
4
+
5
+:root{
6
+    --info-header-color: blue;
7
+}
8
+
9
+h5{
10
+    margin: 0;
11
+    padding: 0;
12
+}
13
+
14
+.mianselectdelivery{
15
+    min-height: 100vh;
16
+}
17
+
18
+.info-numberbox{
19
+    width: 20px;
20
+    /* height: 20px; */
21
+    background-color: white;
22
+    color: var(--info-header-color);
23
+    display: flex;
24
+    justify-content: center;
25
+    align-items: center;
26
+    font-size: 14px;
27
+    font-weight: 700;
28
+}
29
+
30
+.info-numberbox.selectdonefiled{
31
+    background-color: #f3f3f3;
32
+}
33
+
34
+.addresslabel{
35
+    position: relative;
36
+}
37
+
38
+.addressedit{
39
+    position: absolute;
40
+    top: 0;
41
+    right: 0;
42
+    cursor: pointer;
43
+    text-transform: uppercase;
44
+    font-weight: 500;
45
+    font-size: 14px;
46
+}
47
+
48
+.addresscontrol input{
49
+    width: 50px;
50
+}
51
+
52
+.rounded-contain{
53
+    width: 25px;
54
+    height: 25px;
55
+   border: 1px solid #c2c2c2;
56
+    border-radius: 25px;
57
+    display: flex;
58
+    align-items: center;
59
+    justify-content: center;
60
+    cursor: pointer;
61
+}
62
+
63
+.selectaddressimgshow{
64
+    width: 130px;
65
+}
66
+
67
+.displayadress{
68
+    
69
+}
70
+
71
+.changeaddressbtn{
72
+    position: absolute;
73
+    top:50%;
74
+    right: 0;
75
+
76
+    width: max-content;
77
+
78
+
79
+    transform: translateY(-50%);
80
+}
81
+
82
+.detailsAddressBg{
83
+    background: #2E1835;
84
+    color: white;
85
+}
86
+
87
+.detailsAddressBtn{
88
+    background-color: #F89C1F;
89
+    border: none;
90
+    padding: 0.5rem;
91
+    border-radius: 5px;
92
+    cursor: pointer;
93
+    color: white;
94
+}
95
+
96
+.paymentgatewaypage{
97
+    width: 100vw;
98
+    height: 100vh;
99
+
100
+    position: fixed;
101
+    top: 0;
102
+    left: 0;
103
+    background: rgba(0, 0, 0, 0.378);
104
+    color: white;
105
+    font-weight: 800;
106
+    display: flex;
107
+    justify-content: center;
108
+    align-items: center;
109
+    flex-direction: column;
110
+    z-index: 9999;
111
+}
112
+
113
+.select2-container--default{
114
+    width: 100% !important;
115
+}
116
+
117
+.select2-selection__clear span{
118
+    display: none !important;
119
+}
120
+
121
+.select2-selection__rendered {
122
+    line-height: 50px !important;
123
+}
124
+.select2-container .select2-selection--single {
125
+    height: 60px !important;
126
+}
127
+.select2-selection__arrow {
128
+    height: 50px !important;
129
+}
130
+
131
+[name="payment"]:checked ~ label{
132
+    border: 1px solid blue  ;
133
+}

+ 146
- 0
orderconfirmation.html Visa fil

@@ -0,0 +1,146 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+
4
+<head>
5
+    <meta charset="UTF-8" />
6
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
8
+
9
+    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
10
+    <link rel="stylesheet" href="./dist/css/main.css" />
11
+    <link rel="stylesheet" href="./dist/css/vendor/bootstrap.min.css">
12
+    <link rel="stylesheet" href="./dist/css/style.css">
13
+    <link rel="stylesheet" href="./dist/css/fontawesome.all.min.css">
14
+    <link rel="stylesheet" href="./dist/css/fontawesome.min.css">
15
+
16
+    <link rel="stylesheet" href="./dist/css/pages/orderconfirmation.css">
17
+    <title>Anwi</title>
18
+
19
+</head>
20
+
21
+<body>
22
+    <!-- navbar -->
23
+    <div id="navbar-head"></div>
24
+    <!-- end-navbar -->
25
+    <!-- main-body -->
26
+    <auth-loader></auth-loader>
27
+    <main class="orderconfirmationMain">
28
+        <section class="container d-flex justify-content-center">
29
+            <div class="ordercontainerconfirm ordercontainerconfirmError d-none  d-flex flex-column align-items-center justify-content-center">
30
+                <div class="p-3">
31
+                    <div class="text-center text-danger font-5">
32
+                        <i class="fa fa-warning"></i>
33
+                    </div>
34
+                    <div class="text-center">
35
+                    
36
+                        <h2>Payment Failed</h2>
37
+                    </div>
38
+                    <div>Please try a different payment method  </div>
39
+                </div>
40
+            </div>
41
+            <div class="ordercontainerconfirm successorderconfirm card">
42
+                <div class="p-3">
43
+                    <h2>Thank You!</h2>
44
+                    <div class="font-weight-600"> Hi, <span class="username">User</span></div>
45
+                    <div>Your order has been confirmed and will be shipping right away!</div>
46
+                </div>
47
+                <hr class="m-0 p-0"/>
48
+                <div class="p-3">
49
+                    <div>
50
+                        Details
51
+                    </div>
52
+                    <div class="row">
53
+                        <div class="col-sm-4">
54
+                            <div class="font-weight-600">Date</div>
55
+                            <div class="createdDateConfirm">Nov-03-2021</div>
56
+                        </div>
57
+                        <div class="col-sm-4">
58
+                            <div class="font-weight-600">Order Number</div>
59
+                            <div class="ordernumber">123456789</div>
60
+                        </div>
61
+                        <div class="col-sm-4">
62
+                            <div class="font-weight-600">Payment Method</div>
63
+                            <div class="paymentmethodconfirm">Visa 24-BLK</div>
64
+                        </div>
65
+                    </div>
66
+                </div>
67
+                <hr class="m-0 p-0"/>
68
+                <div class="p-3">
69
+                    <div>
70
+                        <div class="row">
71
+                            <div class="col-4 font-weight-600">
72
+                                Order Summary
73
+                            </div>
74
+                            <div class="col-3 text-center font-weight-600">
75
+                                Unit Price
76
+                            </div>
77
+                            <div class="col-2 text-center font-weight-600">
78
+                               Qty
79
+                            </div>
80
+                            <div class="col-3 text-end font-weight-600">
81
+                               Total
82
+                             </div>
83
+                        </div>
84
+                        <div class="orderlistconfirm">
85
+
86
+                        </div>
87
+                    </div>
88
+                </div>
89
+                <hr class="m-0 p-0"/>
90
+                <div class="d-flex justify-content-end p-3">
91
+                   <div  class="summaryconfirmdetails">
92
+                    <div class="d-flex justify-content-between">
93
+                        <div class="">Shipping </div>
94
+                        <div>0 Rs</div>
95
+                    </div>
96
+                     <div class="d-flex justify-content-between">
97
+                        <div class="">Tax </div>
98
+                        <div class="totaltaxsummary">50 Rs</div>
99
+                    </div>
100
+                     <div class="d-flex justify-content-between">
101
+                        <div class="font-weight-600 ">Total </div>
102
+                        <div class="totalordersummary">1050 Rs</div>
103
+                    </div>
104
+                   </div>
105
+                </div>
106
+            </div>
107
+
108
+        </section>
109
+    </main>
110
+    <!-- end main-body -->
111
+    <!-- footer -->
112
+    <div id="footer-head" class="sec-space-1"></div>
113
+    <!-- end-footer -->
114
+
115
+
116
+
117
+    <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
118
+    <script src="./dist/js/jquery.min.js"></script>
119
+    <script src="./dist/js/navbar.js"></script>
120
+
121
+    <script src="./dist/js/footer.js"></script>
122
+    <script src="./libs/cookies.min.js"></script>
123
+
124
+
125
+
126
+    <!--  -->
127
+    <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
128
+        <script src="./dist/js/fontawesome.all.js"></script>
129
+    <script src="./dist/js/fontawesome.min.js"></script>
130
+
131
+
132
+    <script src="./dist/js/utils/helpers.js"></script>
133
+    <script src="./dist/js/footer.js"></script>
134
+    <script src="./libs/axios.min.js"></script>
135
+    <script src="./dist/js/components/authloader/authloader.js"></script>
136
+    <script src="./dist/js/auth/apiservice.js"></script>
137
+    <script src="./dist/js/shoppingcart/addtocart.js"></script>
138
+
139
+
140
+    <script src="./dist/js/orderconfirmation.js"></script>
141
+
142
+  
143
+
144
+</body>
145
+
146
+</html>

+ 148
- 144
productdetails.html Visa fil

@@ -5,14 +5,22 @@
5 5
     <meta charset="UTF-8" />
6 6
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7 7
     <meta http-equiv="X-UA-Compatible" content="ie=edge" />
8
-    <link rel="shortcut icon" type="image/x-icon" href="./dist/assets/imgs/favicon.gif">
8
+
9 9
     <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
10 10
     <link rel="stylesheet" href="./dist/css/main.css" />
11 11
     <link rel="stylesheet" href="./styles/style.css">
12 12
     <link rel="stylesheet" href="./libs/Owlcarousel/Css/owl.carousel.min.css">
13 13
     <link rel="stylesheet" href="./libs/Owlcarousel/Css/owl.theme.default.min.css">
14
-    <link rel="stylesheet" href="./dist/css/pages/productdetails.css">
14
+    <link rel="stylesheet" href="dist/css/pages/productdetails.css">
15
+
16
+    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
17
+    <link rel="stylesheet" href="./dist/css/main.css" />
15 18
     <link rel="stylesheet" href="./style.css">
19
+    <link rel="stylesheet" href="./libs/owlcarousel/Css/owl.carousel.min.css">
20
+    <link rel="stylesheet" href="./libs/owlcarousel/Css/owl.theme.default.min.css">
21
+    <!-- <link rel="stylesheet" href="./dist/css/font_icon.min.css"> -->
22
+
23
+    <link rel="stylesheet" href="./libs/toaster/toastr.css" />
16 24
 
17 25
     <link rel="stylesheet" href="./dist/css/vendor/bootstrap.min.css">
18 26
     <link rel="stylesheet" href="./dist/css/vendor/bootstrap.min.css">
@@ -29,7 +37,9 @@
29 37
     <link rel="stylesheet" href="./dist/css/style.css">
30 38
     <link rel="stylesheet" href="./dist/css/fontawesome.all.min.css">
31 39
     <link rel="stylesheet" href="./dist/css/fontawesome.min.css">
32
-    <title>Products | Anwi</title>
40
+    <link rel="stylesheet" href="./dist/toaster/toastr.css" />
41
+    
42
+    <title>Anwi</title>
33 43
 
34 44
 </head>
35 45
 
@@ -38,22 +48,16 @@
38 48
     <div id="navbar-head"></div>
39 49
     <!-- end-navbar -->
40 50
     <!-- main-body -->
41
-    
42
-    <main class="main-body home-main-container" >
43
-        <section class="services h-100 pt-3  bg-gradient-anwi">
44
-            <div class="container pt-5 ">
45
-                <div class="text-center text-white ">
46
-                </div>
47
-            </div>
48
-        </section>
51
+    <main class="main-body home-main-container" style="margin-top: 30px;">
49 52
         <div class="container mainContanierProduct">
50 53
             <div class="row">
51 54
                 <div class="col-xl-7 ">
52
-                    <div class=" bgproductDGen border-0 ">
55
+                    <div class=" bgproductDGen  border-0 ">
53 56
                         <div class="row">
54
-                            <div class="d-none col-xl-2">
55
-                                <div class=" d-flex flex-column gap-2 p-2">
56
-                                    <div class="product-item-gallery active-gallery-img">
57
+                            <div class="d-none">
58
+                            <!-- <div class="d-none d-xl-flex flex-column col-xl-2"> -->
59
+                                <div class=" d-flex flex-column gap-2 p-2 d-none">
60
+                                   <!--  <div class="product-item-gallery active-gallery-img">
57 61
                                         <img src="./dist/assets/imgs/Navbar/Accessiories-1.png" alt=""
58 62
                                             class="w-100 h-100">
59 63
                                     </div>
@@ -72,13 +76,14 @@
72 76
                                     <div class="product-item-gallery ">
73 77
                                         <img src="https://www.pngall.com/wp-content/uploads/5/RAM-PNG.png" alt=""
74 78
                                             class="w-100 h-100">
75
-                                    </div>
79
+                                    </div> -->
76 80
                                 </div>
77 81
                             </div>
78
-                            <div class="col-xl-10" type="button" data-toggle="modal" data-target="#exampleModal">
82
+                            <div class="col-xl-12" type="button" data-toggle="modal" data-target="#exampleModal">
79 83
                                 <div
80 84
                                     class=" productDetailsShadow productDetailsMain  card border-0 box-shodow d-flex justify-content-center align-items-center">
81
-                                    <img src="#" alt="" class="card-img img-fluid">
85
+                                    <img src="./dist/assets/imgs/Navbar/Accessiories-1.png" alt=""
86
+                                        class="card-img img-fluid">
82 87
                                 </div>
83 88
                             </div>
84 89
 
@@ -89,33 +94,30 @@
89 94
                     <div class="card border-0">
90 95
                         <div>
91 96
                             <div>
92
-                                <h5 class="productname" style="font-size:1.5rem">ORA3, M.2 NVMe SSD </h5>
97
+                                <input type="hidden" name="" id="skudetailitem">
98
+                                <h5 class="productname">ORA3, M.2 NVMe SSD </h5>
93 99
                             </div>
94
-                            <div class="small-font product_desc d-none">Elevate your laptop's capabilities with DDR5
95
-                                Laptop Memory, featuring 4800 MHz speed
96
-                                in 8, 16, and 32 GB capacities. Benefit from
97
-                                unparalleled thermal performance, extended
98
-                                component lifespan, and consistently fast
99
-                                speeds thanks to our cutting-edge graphene
100
-                                sticker technology.</div>
101
-                            <div class="py-2">₹ <span class="price" style="font-size:1.5rem;font-weight:600">
102
-                                    3000</span></div>
100
+                            <div class="small-font">Improve your system's responsiveness, run apps faster and multitask
101
+                                with ease. Compatibility assurance when using the Crucial System Scanner or Crucial
102
+                                Advisor Tool</div>
103
+                            <div>₹<span class="price">3000</span></div>
104
+                            <div class="text-danger msgErrorDetailsItem d-none">Product out of stock</div>
103 105
                         </div>
104 106
 
105 107
                         <hr>
106 108
 
107
-                        <div class="d-none">
109
+                        <!-- <div class="d-none">
108 110
                             <h5 class="my-3 smallHeadingProductDetails ">Processor And Graphics
109 111
                             </h5>
110 112
                             <div class="d-flex gap-2">
111
-                                <div class="specsmallcard borderselector card small-font  p-3">
113
+                                <div class="specsmallcard  borderselector card small-font  p-3">
112 114
                                     Intel® Core i5-9400F
113 115
                                 </div>
114 116
                                 <div class="specsmallcard card small-font  p-3">
115 117
                                     Intel® Core i5-9400F
116 118
                                 </div>
117 119
                             </div>
118
-                        </div>
120
+                        </div> -->
119 121
                         <div class="pb-2 d-none">
120 122
                             <h5 class="pt-2 smallHeadingProductDetails">Colors</h5>
121 123
                             <!-- <div class="d-flex gap-2 colors-display-container">
@@ -136,29 +138,31 @@
136 138
                         <div id="spec-container-details">
137 139
 
138 140
                         </div>
139
-                        <div class="pb-2 memory-parent">
141
+
142
+
143
+                        <!-- <div class="pb-2 memory-parent d-none">
140 144
                             <h5 class="py-2 smallHeadingProductDetails">Memory</h5>
141 145
                             <div class="d-flex gap-2 memorycontainer">
142
-                                <div data-type="memory-desktop" data-device="Desktop"
146
+                                <div data-type="memory-desktop"
143 147
                                     class="specsmallcard borderselector card small-font  p-3">
144 148
                                     Desktop
145 149
                                 </div>
146
-                                <div data-type="memory-laptop" class="specsmallcard card small-font p-3" data-device="Laptop">
150
+                                <div data-type="memory-laptop" class="specsmallcard card small-font   p-3">
147 151
                                     Laptop
148 152
                                 </div>
149 153
                             </div>
150 154
                         </div>
151 155
 
152
-                        <div class="memory-details">
156
+                        <div class="memory-details d-none">
153 157
                             <h5 class="py-2 smallHeadingProductDetails">RAM Memory Technology</h5>
154 158
                             <div class="d-flex gap-2 pb-2 ramtech">
155
-                                <div type="button" onclick="onClickHandler(this)" 
159
+                                <div type="button" onclick="onClickHandler(this)"
156 160
                                     class="specsmallcard-mini borderselector card small-font  p-3">
157
-                                   <span data-version="DDR4">DDR4</span> 
161
+                                    DDR4
158 162
                                 </div>
159
-                                <div type="button" onclick="onClickHandler(this)" data-version="DDR5"
160
-                                    class="specsmallcard-mini card small-font  p-3">
161
-                                    <span data-version="DDR5">DDR5</span> 
163
+                                <div type="button" onclick="onClickHandler(this)"
164
+                                    class="specsmallcard-mini card small-font   p-3">
165
+                                    DDR5
162 166
                                 </div>
163 167
                             </div>
164 168
 
@@ -167,32 +171,37 @@
167 171
                                 <div class="d-flex gap-2 computersize">
168 172
 
169 173
                                     <div type="button" onclick="onClickHandler(this)"
170
-                                        class="specsmallcard-mini borderselector card small-font  p-3" data-gb="8 ">
171
-                                        8 GB 
174
+                                        class="specsmallcard-mini borderselector card small-font  p-3">
175
+                                        8 GB
172 176
                                     </div>
173 177
                                     <div type="button" onclick="onClickHandler(this)"
174
-                                        class="specsmallcard-mini card small-font p-3" data-gb="16GB">
178
+                                        class="specsmallcard-mini card small-font   p-3">
175 179
                                         16 GB
176 180
                                     </div>
177 181
                                     <div type="button" onclick="onClickHandler(this)"
178
-                                        class="specsmallcard-mini card small-font p-3" data-gb="32GB">
182
+                                        class="specsmallcard-mini card small-font   p-3">
179 183
                                         32 GB
180 184
                                     </div>
181 185
                                 </div>
182 186
                             </div>
183
-                        </div>
187
+                        </div> -->
184 188
 
185
-                        <div class="pb-2 d-none">
189
+
190
+
191
+
192
+                        <!-- <div class="pb-2 d-none">
186 193
                             <h5 class="py-2 smallHeadingProductDetails">Storage</h5>
187 194
                             <div class="d-flex gap-2">
188
-                                <div class="specsmallcard borderselector card small-font p-3">
195
+                                <div class="specsmallcard borderselector card small-font  p-3">
196
+
189 197
                                     256 GB SSD Capacity
198
+
190 199
                                 </div>
191 200
                                 <div class="specsmallcard card small-font   p-3">
192 201
                                     1 TB SSD Capacity
193 202
                                 </div>
194 203
                             </div>
195
-                        </div>
204
+                        </div> -->
196 205
 
197 206
 
198 207
                         <div class="d-none">
@@ -211,14 +220,16 @@
211 220
                                 <span class="qtybtn qtybtright bgGreyLight">+</span>
212 221
                             </div>
213 222
                         </div>
214
-                        <div class="card border-0 p-4 bgGreyLight my-3 d-none">
223
+                        <!-- <div class="card border-0 p-4 bgGreyLight my-3 d-none">
215 224
                             <div class="row">
216 225
                                 <div class="col-sm-8 small-font ">
217
-                                    Anwi NoteBook Pro Lustrous Gray i5 11th Gen + Iris Xe Graphics 16GB RAM + 512GB NVMe
226
+                                    Mi NoteBook Pro Lustrous Gray i5 11th Gen + Iris Xe Graphics 16GB RAM + 512GB NVMe
218 227
                                     SSD. * 1
228
+
219 229
                                 </div>
220 230
                                 <div class="col-sm-4">
221 231
                                     ₹59,999
232
+
222 233
                                 </div>
223 234
                             </div>
224 235
                             <div class="row">
@@ -231,7 +242,7 @@
231 242
                                     ₹59,999
232 243
                                 </div>
233 244
                             </div>
234
-                        </div>
245
+                        </div> -->
235 246
 
236 247
                         <!--  -->
237 248
                         <!-- <hr> -->
@@ -247,8 +258,8 @@
247 258
                                 </div>
248 259
                             </div>
249 260
                         </div>
250
-
251
-                        <div class="d-none">
261
+                        <hr>
262
+                        <div>
252 263
                             <ul>
253 264
                                 <li class="small-font">No Cost EMI Available <a class="learnMoreA" href="">Learn
254 265
                                         More</a></li>
@@ -262,9 +273,9 @@
262 273
                             </ul>
263 274
                         </div>
264 275
                         <hr>
265
-                        <div class="pb-2">
276
+                        <div class="pb-2 quantityHTML">
266 277
                             <span>Quantity :</span>
267
-                            <select name="quantity" class="p-2 rounded" id="quantity">
278
+                            <select name="quantity" id="quantity">
268 279
                                 <option value="1">1</option>
269 280
                                 <option value="2">2</option>
270 281
                                 <option value="3">3</option>
@@ -275,7 +286,7 @@
275 286
                             <button id="addtocart" class="w-100 btn bg-black text-white" style="border-radius: 5px;">
276 287
                                 Add to cart
277 288
                             </button>
278
-                            <button class="w-100 btn bg-black text-white" style="border-radius: 5px;">
289
+                            <button class="w-100 btn buynow bg-black text-white" style="border-radius: 5px;">
279 290
                                 Buy Now
280 291
                             </button>
281 292
                         </div>
@@ -285,109 +296,102 @@
285 296
 
286 297
                 </div>
287 298
             </div>
288
-            <div class="row py-4">
289
-                <div class="py-2">
290
-                    <h1 class="font-weight-600 product_heading satoshi_font text-black-50">The Advantages of
291
-                        Graphene-Based Insulation</h1>
292
-                    <p class="font-weight-500 mb-0 py-3 satoshi_font text-black-50">Introducing the all-new ORA memory
293
-                        series powered by Anwi Systems, specially craÿed for high-performance Laptops, PCs, and
294
-                        All-in-ones with graphene-based insulation to provide an exceptional
295
-                        heat dissipation effect.</p>
296
-                    <p class="font-weight-500 mb-0 pb-3 satoshi_font text-black-50">ORA memory series featured by Anwi
297
-                        Systems with graphene-based insulation to provide a more effective
298
-                        heat dissipation effect. The graphene cooling module allows natural convection or forced air
299
-                        cooling for
300
-                        fully enhanced heat dissipation. ORA memory series is the first on the market built specifically
301
-                        for high-</p>
299
+
300
+            <!-- tabs -->
301
+            <div class="row tabsContainer">
302
+            
303
+                <div class="col-lg-12 ">
304
+                    <div class="dec-review-topbar no-transition nav mb-65 productdetailstabs d-flex gap-4" role="tablist">
305
+                        <a class="active font-1-5 no-transition" data-bs-toggle="tab" href="#des-details1"  aria-selected="true" role="tab">Description</a>
306
+
307
+                        <a data-bs-toggle="tab" href="#des-details2" aria-selected="false" role="tab" class="font-1-5 no-transition" tabindex="-1">Specification</a>
308
+                      
309
+                    </div>
310
+                    <div class="tab-content dec-review-bottom">
311
+                        <div id="des-details1" class="tab-pane active show" role="tabpanel">
312
+                            <div class="description-wrap wrap-content-product-tabs">
313
+                               <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Suscipit, recusandae! Alias tempore, molestias, architecto provident excepturi voluptate non repellendus, repellat a quis iusto consequuntur quas beatae fugit nisi totam ratione nesciunt reiciendis quod? Quae, consequuntur quasi. Laudantium, doloribus aliquam incidunt error qui itaque aperiam quia ducimus cupiditate, magnam aliquid iste molestiae eveniet? Eaque veniam illo hic, possimus dolorum quaerat ratione in ex voluptas itaque ullam, maiores iusto illum blanditiis sequi. Ex, ab nemo vero libero pariatur architecto culpa! Recusandae at fugiat itaque libero amet corporis exercitationem dolorum? Tenetur repellat tempora perspiciatis quibusdam maxime facilis necessitatibus eius sint corporis nihil! Accusantium.</p>
314
+                            </div>
315
+                        </div>
316
+                        <div id="des-details2" class="tab-pane" role="tabpanel">
317
+                            <div class="specification-wrap table-responsive">
318
+                                <table class="table table-bordered wrap-content-product-tabs">
319
+                                    <tbody class="append-specs">
320
+                                        <tr>
321
+                                            <td class="width1">Data Transfer Rate</td>
322
+                                            <td>Anwi Ram</td>
323
+                                        </tr>
324
+                                        <tr>
325
+                                            <td>Memory Speed</td>
326
+                                            <td>3200</td>
327
+                                        </tr>
328
+                                        <!-- <tr>
329
+                                            <td class="width1">Models</td>
330
+                                            <td>FX 829 v1</td>
331
+                                        </tr>
332
+                                        <tr>
333
+                                            <td class="width1">Categories</td>
334
+                                            <td>Digital Print</td>
335
+                                        </tr>
336
+                                        <tr>
337
+                                            <td class="width1">Size</td>
338
+                                            <td>60’’ x 40’’</td>
339
+                                        </tr>
340
+                                        <tr>
341
+                                            <td class="width1">Brand </td>
342
+                                            <td>Individual Collections</td>
343
+                                        </tr>
344
+                                        <tr>
345
+                                            <td class="width1">Color</td>
346
+                                            <td>Black, White</td>
347
+                                        </tr> -->
348
+                                    </tbody>
349
+                                </table>
350
+                            </div>
351
+                        </div>
352
+                       
353
+                    </div>
302 354
                 </div>
355
+              
303 356
             </div>
304 357
         </div>
305 358
 
306
-
307
-
308 359
     </main>
309 360
     <!-- footer -->
310 361
     <div id="footer-head" class="sec-space-1"></div>
311 362
     <!-- end-footer -->
312 363
 
313
-    <!-- modal open -->
314
-    <!-- Button trigger modal -->
315
-    <!-- <button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#authmodal">
316
-        Launch demo modal
317
-    </button>
318 364
   
319
-    <div class="modal fade" id="authmodal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
320
-        <div class="modal-dialog">
321
-            <div class="modal-content">
322
-               
323
-                <div class="modal-body">
324
-                    hello world
325
-                </div>
326
-                <div class="modal-footer">
327
-                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
328
-                    <button type="button" class="btn btn-primary">Save changes</button>
329
-                </div>
330
-            </div>
331
-        </div>
332
-    </div> -->
365
+
333 366
     <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
334 367
     <script src="./dist/js/jquery.min.js"></script>
335
-    <script src="./libs/Owlcarousel/js/owl.carousel.min.js"></script>
336
-    <script src="./dist/js/navbar.js"></script>
337
-    <script src="./dist/js/footer.js"></script>
338
-    <script src="./dist/js/productdetails.js"></script>
339
-    <!-- <script src="./dist/js/addtocart.js"></script> -->
340
-      <script src="./libs/cookies.min.js"></script>
341
-
368
+    <script src="./libs/axios.min.js"></script>
342 369
     <script src="./dist/js/fontawesome.all.js"></script>
343 370
     <script src="./dist/js/fontawesome.min.js"></script>
344
-    <script src="./dist/js/vendor/modernizr-3.11.7.min.js"></script>
345
-    <script src="./dist/js/vendor/jquery-v3.6.0.min.js"></script>
346
-    <script src="./dist/js/vendor/jquery-migrate-v3.3.2.min.js"></script>
347 371
     <script src="./dist/js/vendor/bootstrap.min.js"></script>
348
-    <script src="./dist/js/plugins/slick.js"></script>
349
-    <script src="./dist/js/plugins/wow.js"></script>
350
-    <script src="./dist/js/plugins/svg-injector.min.js"></script>
351
-    <script src="./dist/js/plugins/jquery.nice-select.min.js"></script>
352
-    <script src="./dist/js/plugins/mouse-parallax.js"></script>
353
-    <script src="./dist/js/plugins/images-loaded.js"></script>
354
-    <script src="./dist/js/plugins/isotope.js"></script>
355
-    <script src="./dist/js/plugins/jquery-ui.js"></script>
356
-    <script src="./dist/js/plugins/magnific-popup.js"></script>
357
-    <!-- Main JS -->
358
-    <script src="./dist/js/main.js"></script>
359
-    <script>
360
-        let product_data = localStorage.getItem("product_data");
361
-        if(product_data === null){
362
-            let top_data = localStorage.getItem("top_data");
363
-            let t_data = JSON.parse(top_data);
364
-            $(".productname").html(t_data.name);
365
-            $(".price").html(t_data.price);
366
-            $(".productDetailsMain").find("img").attr("src",t_data.img);
367
-            $(".memorycontainer").find(".borderselector").removeClass("borderselector");
368
-            $(".memorycontainer").find("[data-device='"+t_data.device+"']").addClass("borderselector");
369
-            $(".memory-details").find(".borderselector").removeClass("borderselector");
370
-            $(".memory-details").find("[data-version='"+t_data.version+"']").addClass("borderselector");
371
-            $(".computersize").find("[data-gb='"+t_data.gb+"']").addClass("borderselector");
372
-
373
-        }else{
374
-            let data = JSON.parse(product_data);
375
-            $(".productname").html(data.name);
376
-            $(".price").html(data.price);
377
-            $(".memorycontainer").find(".borderselector").removeClass("borderselector");
378
-            $(".memorycontainer").find("[data-device='"+data.device+"']").addClass("borderselector");
379
-            $(".memory-details").find(".borderselector").removeClass("borderselector");
380
-            $(".memory-details").find("[data-version='"+data.version+"']").addClass("borderselector");
381
-            $(".computersize").find("[data-gb='"+data.gb+"']").addClass("borderselector");
382
-        }
383
-        
384
-
385
-
386
-       
387
-       
388
-    // $(".product_desc").html(data.description);
389
-    // $(".productDetailsMain").find("img").attr("src",data.image)
390
-    </script>
372
+
373
+    <!--  -->
374
+    <!-- <script src="./libs/toaster/toastr.js"></script> -->
375
+    <script src="./dist/toaster/toastr.js"></script>
376
+    <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
377
+    <script src="./dist/Js/jquery.min.js"></script>
378
+
379
+
380
+
381
+    <script src="./libs/cookies.min.js"></script>
382
+  
383
+
384
+    <script src="./dist/js/navbar.js"></script>
385
+<script src="./dist/js/footer.js"></script>
386
+    <script src="./dist/js/utils/helpers.js"></script>
387
+    <script src="./dist/js/auth/apiservice.js"></script>
388
+    <script src="./dist/js/shoppingcart/addtocart.js"></script>
389
+    <script src="./dist/js/shoppingcart/shoppingcart.js"></script>
390
+    <script src="./dist/js/productdetails/productdetails.js"></script>
391
+
392
+
393
+
394
+
391 395
 </body>
392 396
 
393 397
 </html>

+ 46
- 470
ramproducts.html Visa fil

@@ -51,15 +51,13 @@
51 51
     <div id="navbar-head" class="shadow"></div>
52 52
     <!-- end-navbar -->
53 53
     <!-- main-body -->
54
-    
55
-    <main class="main-body home-main-container">
54
+    <main class="main-body home-main-container pt-md-0 pt-5">
56 55
         <section class="services h-100 pt-3  bg-gradient-anwi">
57 56
             <div class="container pt-5 ">
58 57
                 <div class="text-center text-white ">
59 58
                 </div>
60 59
             </div>
61 60
         </section>
62
-
63 61
         <section class="position-relative bg-black">
64 62
             <!-- <img src="./dist/assets/imgs/allin_imgs/ssd_img.png" class="img-fluid w-100" alt="ssd_img"/> -->
65 63
             <iframe src="https://player.vimeo.com/video/816131155?h=4667fd18e1&autoplay=1&loop=1&autopause=0&badge=0&player_id=0&controls=0&muted=1" width="1536px" height="860px" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" allowfullscreen></iframe>
@@ -68,438 +66,42 @@
68 66
             <p class="bg-blue mb-0 p-2 px-3 rounded-circle shadow" id="unmute"><i class="fa-sharp fa-volume-xmark"></i></p>
69 67
         </div> -->
70 68
         </section>
71
-        <section class="pt-2" id="ora_products">
72
-            <div class="products-container">
73
-                <div class="product-cards">
74
-                    <div class="tab-content container" id="pills-tabContent1">
75
-                        <!------------------------------ RAM-------------------------->
76
-                        <div class="tab-pane fade show active" id="pills-network-cards" role="tabpanel" aria-labelledby="pills-network-cards-tab">
77
-                            <div class="py-md-5">
78
-                                <div class="text-center">
79
-                                    <h1 class="satoshi_font pb-md-4 pb-3">Discover the revolution of ORA</h1>
80
-                                    <p class="fs-6 satoshi_font fw-500 pb-md-4">
81
-                                        ORA Memory Series, harnessing cutting-edge</br>
82
-                                        Graphene technology for blazing-fast heat absorption in NVMe SSDs.</br>
83
-                                        Boasting an ultra-slim 1mm Heatsink, we defy temperature limits and redefine storage performance.
84
-                                    </p>
85
-                                </div>
86
-                                <div class="tab-content  rounded-4" id="pills-tabContent">
87
-                                    <div class="text-center py-md-5 py-4">
88
-                                        <span class="bg-black fs-5 px-md-4 py-md-2 py-2 px-4 rounded-3 text-white">Join the future with Anwi Systems</span>
89
-                                    </div>
90
-                                    <!-- first tab-pane -->
91
-                                    <div class="tab-pane fade show active" id="pills-network-cards-card" role="tabpanel" aria-labelledby="pills-network-cards-card-tab">
92
-                                        <div class="row g-4 pb-5 px-md-4">
93
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
94
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
95
-                                                    <img src="./dist/assets/imgs/Navbar/ora_ddr4_desktop.png" class="card-img-top" alt="...">
96
-                                                    <div class="card-body">
97
-                                                        <h5 class="card-title satoshi_font mb-0">ORA 8GB DDR4 3200MHz Desktop RAM </h5>
98
-                                                    </div>
99
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
100
-                                                        <li class="border-0 py-0">
101
-                                                            <span class="satoshi_font">8GB DDR4</span>
102
-                                                        </li>
103
-                                                        <li class="border-0 py-0">
104
-                                                            <span class="satoshi_font">3200 Mhz</span>
105
-                                                        </li>
106
-                                                    </ul>
107
-                                                    <div class="card-body text-center">
108
-                                                        <a href="#"
109
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
110
-                                                            data_name="ORA 8GB DDR4 3200MHz Desktop RAM "
111
-                                                            data_version="DDR4"
112
-                                                            data_device="Desktop"
113
-                                                            data_gb="8GB"
114
-                                                            data_price="2900">Details
115
-                                                        </a>
116
-                                                    </div>
117
-                                                </div>
118
-                                            </div>
119
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
120
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
121
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr5_desktop.png" class="card-img-top" alt="...">
122
-                                                    <div class="card-body">
123
-                                                            <h5 class="card-title satoshi_font mb-0">
124
-                                                                ORA 16GB DDR4 3200MHz Desktop RAM 
125
-                                                            </h5>
126
-                                                    </div>
127
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
128
-                                                        <li class=" border-0 py-0">
129
-                                                            <span class="satoshi_font">16GB DDR5</span>
130
-                                                        </li>
131
-                                                        <li class=" border-0 py-0">
132
-                                                            <span class="satoshi_font">3200 Mhz</span>
133
-                                                        </li>
134
-                                                    </ul>
135
-                                                    <div class="card-body text-center">
136
-                                                        <a href="#"
137
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
138
-                                                            data_name="ORA 16GB DDR4 3200MHz Desktop RAM "
139
-                                                            data_version="DDR4"
140
-                                                            data_device="Desktop"
141
-                                                            data_gb="16GB"
142
-                                                            data_price="4750">Details 
143
-                                                        </a>
144
-                                                    </div>
145
-                                                </div>
146
-                                            </div>
147
-                                             <div class="col-lg-4 col-md-6 col-md-6 ram_card">
148
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
149
-                                                  
150
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr4_laptop.png" class="card-img-top" alt="...">
151
-                                                    
152
-                                                    <div class="card-body">
153
-                                                       
154
-                                                            <h5 class="card-title satoshi_font mb-0">
155
-                                                                ORA 32GB DDR4 3200MHz Desktop RAM
156
-                                                            </h5>
157
-                                                    </div>
158
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
159
-                                                        <li class=" border-0 py-0">
160
-                                                            <span class="satoshi_font">32GB DDR4</span>
161
-                                                        </li>
162
-                                                        <li class=" border-0 py-0">
163
-                                                            <span class="satoshi_font">3200 Mhz</span>
164
-                                                        </li>
165
-                                                    </ul>
166
-                                                    <div class="card-body d-none">
167
-                                                        <button class="btn--md btn-primary w-100 card-link">
168
-                                                            <span class="cost currency-symbol satoshi_font">₹</span><span
169
-                                                                class="cost product-price satoshi_font">999</span>
170
-                                                        </button>
171
-                                                    </div>
172
-                                                    <div class="card-body text-center">
173
-                                                        <a href="#"
174
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
175
-                                                            data_name="ORA 32GB DDR4 3200MHz Desktop RAM "
176
-                                                            data_version="DDR4"
177
-                                                            data_device="Desktop"
178
-                                                            data_gb="32GB"
179
-                                                            data_price="9450">Details
180
-                                                        </a>
181
-                                                    </div>
182
-                                                </div>
183
-                                            </div>
184
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
185
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
186
-                                                   
187
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr5_laptop.png" class="card-img-top" alt="...">
188
-                                                  
189
-                                                    <div class="card-body">
190
-                                                        <a href="#"
191
-                                                            class="text-decoration-none text-dark">
192
-                                                            <h5 class="card-title satoshi_font mb-0">
193
-                                                                ORA 8GB DDR4 3200MHz Laptop RAM
194
-                                                            </h5>
195
-                                                        </a>
196
-                                                    </div>
197
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
198
-                                                        <li class=" border-0 py-0">
199
-                                                            <span class="satoshi_font">8GB DDR4</span>
200
-                                                        </li>
201
-                                                        <li class=" border-0 py-0">
202
-                                                            <span class="satoshi_font">3200 Mhz</span>
203
-                                                        </li>
204
-                                                    </ul>
205
-                                                    <div class="card-body d-none">
206
-                                                        <button class="btn--md btn-primary w-100 card-link">
207
-                                                            <span class="cost currency-symbol">₹</span><span
208
-                                                                class="cost product-price satoshi_font">999</span>
209
-                                                        </button>
210
-                                                    </div>
211
-                                                    <div class="card-body text-center">
212
-                                                        <a href="#"
213
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
214
-                                                            data_name="ORA 8GB DDR4 3200MHz Laptop RAM "
215
-                                                            data_version="DDR4"
216
-                                                            data_device="Laptop"
217
-                                                            data_gb="8GB"
218
-                                                            data_price="2990">Details 
219
-                                                        </a>
220
-                                                    </div>
221
-                                                </div>
222
-                                            </div>
223
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
224
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
225
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr4_desktop.png" class="card-img-top" alt="...">
226
-                                                    <div class="card-body">
227
-                                                            <h5 class="card-title satoshi_font mb-0">
228
-                                                                ORA 16GB DDR4 3200MHz Laptop RAM
229
-                                                            </h5>
230
-                                                    </div>
231
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
232
-                                                        <li class=" border-0 py-0">
233
-                                                          
234
-                                                            <span class="satoshi_font">16GB DDR4</span>
235
-                                                        </li>
236
-                                                        <li class=" border-0 py-0">
237
-                                                            
238
-                                                            <span class="satoshi_font">3200 Mhz</span>
239
-                                                        </li>
240
-                                                        
241
-                                                    </ul>
242
-                                                    <div class="card-body text-center">
243
-                                                        <a href="#"
244
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
245
-                                                            data_name="ORA 16GB DDR4 3200MHz Laptop RAM "
246
-                                                            data_version="DDR4"
247
-                                                            data_device="Laptop"
248
-                                                            data_gb="16GB"
249
-                                                            data_price="4750">Details
250
-                                                        </a>
251
-                                                    </div>
252
-                                                </div>
253
-                                            </div>
254
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
255
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
256
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr5_desktop.png" class="card-img-top" alt="...">
257
-                                                    <div class="card-body">
258
-                                                            <h5 class="card-title satoshi_font mb-0">
259
-                                                                ORA 32GB DDR4 3200MHz Laptop RAM
260
-                                                            </h5>
261
-                                                    </div>
262
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
263
-                                                        <li class=" border-0 py-0">
264
-                                                           
265
-                                                            <span class="satoshi_font">32GB DDR4</span>
266
-                                                        </li>
267
-                                                        <li class=" border-0 py-0">
268
-                                                            
269
-                                                            <span class="satoshi_font">3200 Mhz</span>
270
-                                                        </li>
271
-                                                    </ul>
272
-                                                    <div class="card-body text-center">
273
-                                                        <a href="#"
274
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
275
-                                                            data_name="ORA 32GB DDR4 3200MHz Laptop RAM "
276
-                                                            data_version="DDR4"
277
-                                                            data_device="Laptop"
278
-                                                            data_gb="32GB"
279
-                                                            data_price="8450">Details
280
-                                                        </a>
281
-                                                    </div>
282
-                                                </div>
283
-                                            </div>
284
-                                             <div class="col-lg-4 col-md-6 col-md-6 ram_card">
285
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
286
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr4_laptop.png" class="card-img-top" alt="...">
287
-                                                    <div class="card-body">
288
-                                                            <h5 class="card-title satoshi_font mb-0">
289
-                                                                ORA 8GB DDR5 4800MHz Desktop RAM
290
-                                                            </h5> 
291
-                                                    </div>
292
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
293
-                                                        <li class=" border-0 py-0">
294
-                                                           
295
-                                                            <span class="satoshi_font">8GB DDR5</span>
296
-                                                        </li>
297
-                                                        <li class=" border-0 py-0">
298
-                                                          
299
-                                                            <span class="satoshi_font">4800 Mhz</span>
300
-                                                        </li>
301
-                                                    </ul>
302
-                                                    <div class="card-body d-none">
303
-                                                        <button class="btn--md btn-primary w-100 card-link">
304
-                                                            <span class="cost currency-symbol satoshi_font">₹</span><span
305
-                                                                class="cost product-price satoshi_font">999</span>
306
-                                                        </button>
307
-                                                    </div>
308
-                                                    <div class="card-body text-center">
309
-                                                        <a href="#"
310
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
311
-                                                            data_name="ORA 8GB DDR5 4800MHz Desktop RAM "
312
-                                                            data_version="DDR5"
313
-                                                            data_device="Desktop"
314
-                                                            data_gb="8GB"
315
-                                                            data_price="5800">Details 
316
-                                                        </a>
317
-                                                    </div>
318
-                                                </div>
319
-                                            </div>
320
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
321
-                                                <div class="card border bg-gray-3 rounded-3 p-1 -100">
322
-                                                   
323
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr5_laptop.png" class="card-img-top" alt="...">
324
-                                                   
325
-                                                    <div class="card-body">
326
-                                                       
327
-                                                            <h5 class="card-title satoshi_font mb-0">
328
-                                                                ORA 16GB DDR5 4800MHz Desktop RAM
329
-                                                            </h5>
330
-                                                    </div>
331
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
332
-                                                        <li class=" border-0 py-0">
333
-                                                            <span class="satoshi_font">16GB DDR5</span>
334
-                                                        </li>
335
-                                                        <li class=" border-0 py-0">
336
-                                                            <span class="satoshi_font">4800 Mhz</span>
337
-                                                        </li>
338
-                                                    </ul>
339
-                                                    <div class="card-body d-none">
340
-                                                        <button class="btn--md btn-primary w-100 card-link">
341
-                                                            <span class="cost currency-symbol">₹</span><span
342
-                                                                class="cost product-price satoshi_font">999</span>
343
-                                                        </button>
344
-                                                    </div>
345
-                                                    <div class="card-body text-center">
346
-                                                        <a href="#"
347
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
348
-                                                            data_name="ORA 16GB DDR5 4800MHz Desktop RAM "
349
-                                                            data_version="DDR5"
350
-                                                            data_device="Desktop"
351
-                                                            data_gb="16GB"
352
-                                                            data_price="7600">Details 
353
-                                                        </a>
354
-                                                    </div>
355
-                                                </div>
356
-                                            </div>
357
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
358
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
359
-                                                
360
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr4_desktop.png" class="card-img-top" alt="...">
361
-                                                    
362
-                                                    <div class="card-body">
363
-                                                       
364
-                                                            <h5 class="card-title satoshi_font mb-0">
365
-                                                                ORA 32GB DDR5 4800MHz Desktop RAM
366
-                                                            </h5>
367
-                                                    </div>
368
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
369
-                                                        <li class=" border-0 py-0">
370
-                                                            <span class="satoshi_font">32GB DDR5</span>
371
-                                                        </li>
372
-                                                        <li class=" border-0 py-0">
373
-                                                            <span class="satoshi_font">3200 Mhz</span>
374
-                                                        </li>
375
-                                                        
376
-                                                    </ul>
377
-                                                    <div class="card-body text-center">
378
-                                                        <a href="#"
379
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
380
-                                                            data_name="ORA 32GB DDR5 4800MHz Desktop RAM "
381
-                                                            data_version="DDR5"
382
-                                                            data_device="Desktop"
383
-                                                            data_gb="32GB"
384
-                                                            data_price="15500">Details
385
-                                                        </a>
386
-                                                    </div>
387
-                                                </div>
388
-                                            </div>
389
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
390
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
391
-                                                   
392
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr5_desktop.png" class="card-img-top" alt="...">
393
-                                                    
394
-                                                    <div class="card-body">
395
-                                                       
396
-                                                            <h5 class="card-title satoshi_font mb-0">
397
-                                                                ORA 8GB DDR5 4800MHz Laptop RAM
398
-                                                            </h5>
399
-                                                    </div>
400
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
401
-                                                        <li class=" border-0 py-0">
402
-                                                            <span class="satoshi_font">8GB DDR5</span>
403
-                                                        </li>
404
-                                                        <li class=" border-0 py-0">
405
-                                                            <span class="satoshi_font">4800 Mhz</span>
406
-                                                        </li>
407
-                                                    </ul>
408
-                                                    <div class="card-body text-center">
409
-                                                        <a href="#"
410
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
411
-                                                            data_name="ORA 8GB DDR5 4800MHz Laptop RAM "
412
-                                                            data_version="DDR5"
413
-                                                            data_device="Laptop"
414
-                                                            data_gb="8GB"
415
-                                                            data_price="5150">Details
416
-                                                        </a>
417
-                                                    </div>
418
-                                                </div>
419
-                                            </div>
420
-                                             <div class="col-lg-4 col-md-6 col-md-6 ram_card">
421
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
422
-                                                   
423
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr4_laptop.png" class="card-img-top" alt="...">
424
-                                                   
425
-                                                    <div class="card-body">
426
-                                                       
427
-                                                            <h5 class="card-title satoshi_font mb-0">
428
-                                                                ORA 16GB DDR5 4800MHz Laptop RAM
429
-                                                            </h5>
430
-                                                    </div>
431
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
432
-                                                        <li class=" border-0 py-0">
433
-                                                            <span class="satoshi_font">16GB DDR5</span>
434
-                                                        </li>
435
-                                                        <li class=" border-0 py-0">
436
-                                                            <span class="satoshi_font">4800 Mhz</span>
437
-                                                        </li>
438
-                                                    </ul>
439
-                                                    <div class="card-body d-none">
440
-                                                        <button class="btn--md btn-primary w-100 card-link">
441
-                                                            <span class="cost currency-symbol satoshi_font">₹</span><span
442
-                                                                class="cost product-price satoshi_font">999</span>
443
-                                                        </button>
444
-                                                    </div>
445
-                                                    <div class="card-body text-center">
446
-                                                        <a href="#"
447
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
448
-                                                            data_name="ORA 16GB DDR5 4800MHz Laptop RAM "
449
-                                                            data_version="DDR5"
450
-                                                            data_device="Laptop"
451
-                                                            data_gb="16GB"
452
-                                                            data_price="7800">Details
453
-                                                        </a>
454
-                                                    </div>
455
-                                                </div>
456
-                                            </div>
457
-                                            <div class="col-lg-4 col-md-6 col-md-6 ram_card">
458
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
459
-                                                 
460
-                                                        <img src="./dist/assets/imgs/Navbar/ora_ddr5_laptop.png" class="card-img-top" alt="...">
461
-                                                    
462
-                                                    <div class="card-body">
463
-                                                       
464
-                                                            <h5 class="card-title satoshi_font mb-0">
465
-                                                                ORA 32GB DDR5 4800MHz Laptop RAM
466
-                                                            </h5>
467
-                                                    </div>
468
-                                                    <ul class="border-0 d-flex h-100 justify-content-between px-md-3 px-4 list-group-flush p-0 text-secondary" style="list-style: none;">
469
-                                                        <li class=" border-0 py-0">
470
-                                                            <span class="satoshi_font">32GB DDR5</span>
471
-                                                        </li>
472
-                                                        <li class=" border-0 py-0">
473
-                                                            <span class="satoshi_font">4800Mhz</span>
474
-                                                        </li>
475
-                                                    </ul>
476
-                                                    <div class="card-body d-none">
477
-                                                        <button class="btn--md btn-primary w-100 card-link">
478
-                                                            <span class="cost currency-symbol">₹</span><span
479
-                                                                class="cost product-price satoshi_font">999</span>
480
-                                                        </button>
481
-                                                    </div>
482
-                                                    <div class="card-body text-center">
483
-                                                        <a href="#"
484
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
485
-                                                            data_name="ORA 32GB DDR5 4800MHz Laptop RAM "
486
-                                                            data_version="DDR5"
487
-                                                            data_device="Laptop"
488
-                                                            data_gb="32GB"
489
-                                                            data_price="13900">Details 
490
-                                                        </a>
491
-                                                    </div>
492
-                                                </div>
493
-                                            </div>
494
-                                        </div>
495
-                                    </div>
496
-                                </div>
497
-                            </div>
69
+       <section class="pt-2 ramsContainer " id="ora_products">
70
+    <div class="products-container container pb-5" id="pills-tabContent">
71
+        <div class="text-center pb-md-5 pt-5">
72
+            <h1 class="satoshi_font pb-md-4 pb-3">Discover the revolution of ORA</h1>
73
+            <p class="fs-6 satoshi_font fw-500 pb-md-4">
74
+                ORA Memory Series, harnessing cutting-edge<br>
75
+                Graphene technology for blazing-fast heat absorption in NVMe SSDs.<br>
76
+                Boasting an ultra-slim 1mm Heatsink, we defy temperature limits and redefine storage performance.
77
+            </p>
78
+        </div>
79
+        <div class="text-center py-md-5 py-4">
80
+            <span class="bg-black fs-5 px-md-4 py-md-2 py-2 px-4 rounded-3 text-white">Join the future with Anwi Systems</span>
81
+        </div>
82
+        <div class="row product_card_section">
83
+            <!--desktop--->
84
+            <div class="col-sm-4 p-3">
85
+                <div class="product_card_3 shadow ram_card">
86
+                    <div class="card-item-header">
87
+                        <div class="card-header-sub-3"><a class=" py-md-1" href="">
88
+                        <img src="./dist/assets/imgs/Navbar/ora_ddr4_desktop.png" class="w-100 h-100"></a>
89
+                        </div>
90
+                    </div>
91
+                    <div class="card-item-body">
92
+                      <h3 cclass="mb-2"> <a href="#" class="" > ORA 8GB DDR4 3200MHz Desktop RAM </a></h3>
93
+                      <hr>
94
+                        <h6>8GB DDR4</h6> <h6>3200 Mhz</h6>
95
+                        <div class="py-2 card_product_footer">
96
+                            <a href="#" class="w-100 satoshi_font ram_btn" data_name="ORA 8GB DDR4 3200MHz Desktop RAM "  data_version="DDR4" data_device="Desktop" data_gb="8GB"   data_price="2900">Details </a>
498 97
                         </div>
499 98
                     </div>
500 99
                 </div>
501 100
             </div>
502
-        </section>
101
+            <!--desktop--->
102
+        </div>
103
+    </div>
104
+</section>
503 105
     </main>
504 106
     <div id="enquire"></div>
505 107
     <!-- footer -->
@@ -507,53 +109,27 @@
507 109
     <!-- end-footer -->
508 110
     <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
509 111
     <script src="./dist/js/jquery.min.js"></script>
510
-    <script src="./libs/owlcarousel/js/owl.carousel.min.js"></script>
511
-    <script src="./dist/js/navbar.js"></script>
512 112
    <script src="./libs/axios.min.js"></script>
513
-    <script src="./dist/js/footer.js"></script>
514
-      <script src="./libs/cookies.min.js"></script>
515
-    <script src="./dist/js/form.js"></script>
516 113
 
114
+    <script src="./libs/cookies.min.js"></script>
517 115
     <script src="./dist/js/fontawesome.all.js"></script>
518 116
     <script src="./dist/js/fontawesome.min.js"></script>
519
-    <script src="./dist/js/vendor/modernizr-3.11.7.min.js"></script>
520 117
     <script src="./dist/js/vendor/jquery-v3.6.0.min.js"></script>
521
-    <script src="./dist/js/vendor/jquery-migrate-v3.3.2.min.js"></script>
522 118
     <script src="./dist/js/vendor/bootstrap.min.js"></script>
523
-    <script src="./dist/js/plugins/slick.js"></script>
524
-    <script src="./dist/js/plugins/wow.js"></script>
525
-    <script src="./dist/js/plugins/svg-injector.min.js"></script>
526
-    <script src="./dist/js/plugins/jquery.nice-select.min.js"></script>
527
-    <!-- <script src="./dist/js/plugins/mouse-parallax.js"></script>
528
-    <script src="./dist/js/plugins/images-loaded.js"></script>
529
-    <script src="./dist/js/plugins/isotope.js"></script>
530
-    <script src="./dist/js/plugins/jquery-ui.js"></script>
531
-    <script src="./dist/js/plugins/magnific-popup.js"></script> -->
119
+
120
+
532 121
 <!-- Main JS -->
533
-<script src="./dist/js/main.js"></script>
534
-<script src="./dist/js/productdetails.js"></script>
122
+<script src="./dist/js/utils/helpers.js"></script>
123
+    <script src="./dist/js/navbar.js"></script>
124
+        <script src="./dist/js/footer.js"></script>
125
+
126
+    <script src="./dist/js/main.js"></script>
535 127
 
536
-    <script>
537
-       $("#pills-tabContent").find(".ram_card").each(function(){
538
-        $(this).addClass("cursor-pointer");
539
-        $(this).click(function(){
540
-        let product_name = $(this).find(".card-body").find("a.btn").attr("data_name");
541
-        let version = $(this).find(".card-body").find("a.btn").attr("data_version");
542
-        let device = $(this).find(".card-body").find("a.btn").attr("data_device");
543
-        let gb = $(this).find(".card-body").find("a.btn").attr("data_gb");
544
-        let price = $(this).find(".card-body").find("a.btn").attr("data_price");
545
-            let product_obj = {
546
-                name:product_name,
547
-                version:version,
548
-                device:device,
549
-                gb:gb,
550
-                price:price
551
-            }
552
-        localStorage.setItem("product_data",JSON.stringify(product_obj));
553
-        window.location.href="/productdetails.html";
554
-    })
555
-});
556
-    </script>
128
+
129
+   <script src="./dist/js/auth/apiservice.js"></script>
130
+  <script src="./dist/js/products/products.js"></script>
131
+
132
+    
557 133
 </body>
558 134
 
559 135
 </html>

+ 309
- 0
selectdelivery.html Visa fil

@@ -0,0 +1,309 @@
1
+<!DOCTYPE html>
2
+<html lang="en">
3
+
4
+<head>
5
+    <meta charset="UTF-8" />
6
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
8
+
9
+    <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
10
+    <link rel="stylesheet" href="./dist/css/main.css" />
11
+    <link rel="stylesheet" href="./style.css">
12
+    <link rel="stylesheet" href="./libs/owlcarousel/Css/owl.carousel.min.css">
13
+    <link rel="stylesheet" href="./libs/owlcarousel/Css/owl.theme.default.min.css">
14
+    <link rel="stylesheet" href="./libs/select2/select2.min.css" rel="stylesheet" />
15
+    <link rel="stylesheet" href="./dist/css/vendor/bootstrap.min.css">
16
+    <link rel="stylesheet" href="./dist/css/vendor/vandella.css">
17
+    <link rel="stylesheet" href="./dist/css/vendor/jellybelly.css">
18
+    <link rel="stylesheet" href="./dist/css/vendor/fontello.css">
19
+    <link rel="stylesheet" href="./dist/css/plugins/easyzoom.css">
20
+    <link rel="stylesheet" href="./dist/css/plugins/slick.css">
21
+    <link rel="stylesheet" href="./dist/css/plugins/nice-select.css">
22
+    <link rel="stylesheet" href="./dist/css/plugins/animate.css">
23
+    <link rel="stylesheet" href="./dist/css/plugins/magnific-popup.css">
24
+    <link rel="stylesheet" href="./dist/css/plugins/jquery-ui.css">
25
+    <link rel="stylesheet" href="./dist/css/style.css">
26
+    <link rel="stylesheet" href="./dist/css/fontawesome.all.min.css">
27
+    <link rel="stylesheet" href="./dist/css/fontawesome.min.css">
28
+
29
+
30
+    <link rel="stylesheet" href="./dist/css/pages/selectdelivery.css">
31
+    <title>Anwi</title>
32
+</head>
33
+
34
+<body class="order_details_page">
35
+    <!-- navbar -->
36
+    <div id="navbar-head"></div>
37
+    <!-- end-navbar -->
38
+    <!-- main-body -->
39
+    <div class="pt-5 mianselectdelivery">
40
+        <div class="pt-5 container">
41
+            <div class="row">
42
+                <div class="col-sm-8">
43
+                    <div>
44
+                        <auth-loader payment="rtyui"></auth-loader>
45
+                        <div class="card">
46
+                            <div class=" p-3 gap-3 d-flex align-items-center ">
47
+                                <div class="info-numberbox">1</div>
48
+                                <div class="d-flex flex-column align-content-center w-100">
49
+
50
+                                    <div>Login</div>
51
+                                    <div class="d-flex justify-content-between align-items-center">
52
+                                        <div class="displayadresslogin">
53
+                                          
54
+                                            <span class="font-weight-600 d-flex gap-1">
55
+                                                <div class="userNamelogin">
56
+                                                    XXXXXX
57
+                                                </div>
58
+                                                <div class="useremail d-none">
59
+                                                    XX@XX.com
60
+                                                </div>
61
+                                            </span>
62
+                                        </div>
63
+                                        
64
+                                    </div>
65
+                                </div>
66
+                            </div>
67
+                        </div>
68
+                        <div class="card  mt-3">
69
+                            <div class=" p-3 gap-3 selectAddress f-flex d-flex align-items-center detailsAddressBg">
70
+
71
+                                <div class="info-numberbox">2</div>
72
+                                <div class="d-flex flex-column align-content-center w-100">
73
+
74
+                                    <div>Delivery Address</div>
75
+                                    <div class="d-flex justify-content-between align-items-center">
76
+                                        <div class="displayadress d-none">
77
+                                            <span class="innerDisplayAddress"> 1234567890, admin,Telengana - </span>
78
+                                            <span class="font-weight-600 zipcodeAddress"></span>
79
+                                        </div>
80
+                                        
81
+                                    </div>
82
+                                </div>
83
+                                <div>
84
+                                   
85
+                                    <button class="detailsAddressBtn changeAddressBtn d-none">Change</button>
86
+                                </div>
87
+
88
+                                <!-- <div>Add A NEW ADDRESS</div> -->
89
+                            </div>
90
+                            <div class="p-3 addresslist d-none">
91
+
92
+                                <label class="form-check-label addresslabel w-100" for="address1">
93
+                                    <input checked type="radio" id="address1">
94
+                                    <div>
95
+                                        <div class="row">
96
+                                            <div class="col-sm-6">
97
+                                                <div class="form-floating">
98
+                                                    <input type="number" class="form-control" id="phonenumber"
99
+                                                        placeholder="Phone Number">
100
+                                                    <label for="phonenumber">Phonenumber</label>
101
+                                                    <div class="invalid-feedback ">
102
+                                                        Please choose a valid Phone Number.
103
+                                                    </div>
104
+                                                </div>
105
+                                            </div>
106
+                                            <div class="col-sm-6">
107
+                                                <div class="form-floating">
108
+                                                    <input type="text" class="form-control" id="addressdes"
109
+                                                        placeholder="Phone Number">
110
+                                                    <label for="addressdes">Address </label>
111
+                                                    <div class="invalid-feedback ">
112
+                                                        Please choose a valid Phone Address.
113
+                                                    </div>
114
+                                                </div>
115
+                                            </div>
116
+                                        </div>
117
+                                        <div class="row">
118
+                                            <div class="col-sm-6">
119
+                                                <div class="form-floating">
120
+                                                    <input type="number" class="form-control" id="zipcode"
121
+                                                        placeholder="Phone Number">
122
+                                                    <label for="zipcode">zipcode</label>
123
+                                                    <div class="invalid-feedback ">
124
+                                                        Please choose a valid Phone zipcode.
125
+                                                    </div>
126
+                                                </div>
127
+                                            </div>
128
+                                            <div class="col-sm-6">
129
+                                                <div class="form-floating h-100">
130
+                                                    <select name="state" id="state"
131
+                                                        class="form-control h-100 p-0 m-0"></select>
132
+
133
+                                                    <div class="invalid-feedback ">
134
+                                                        Please choose a valid state.
135
+                                                    </div>
136
+                                                </div>
137
+                                            </div>
138
+                                        </div>
139
+                                        <div class="">
140
+                                            <div class="text-danger errMsgFormEdit d-none"></div>
141
+                                            <button
142
+                                                class="text-uppercase saveanddeliver detailsAddressBtn">
143
+                                                <div class="spinner-border d-none " role="status">
144
+                                                   
145
+                                                  </div>
146
+                                                  <span>Save</span>
147
+                                            </button>
148
+                                            <button
149
+                                            class="text-uppercase saveanddeliverCanel d-none detailsAddressBtn">
150
+                                            <div class="spinner-border d-none " role="status">
151
+                                               
152
+                                              </div>
153
+                                              <span>Cancel</span>
154
+                                        </button>
155
+                                        </div>
156
+                                    </div>
157
+                                </label>
158
+                            </div>
159
+
160
+
161
+                            <div class="card addnewAddressContainer py-2 px-3">
162
+                                <div class="d-flex gap-1 text-primary">
163
+                                    <span class="addAddressBtn"> <span>+</span> <span>Add a new address</span></span>
164
+                                </div>
165
+                            </div>
166
+
167
+                        </div>
168
+                        <div class="card  mt-3">
169
+                            <div class="ordersummaryheader d-flex gap-3 align-content-center  p-3">
170
+                                <div class="info-numberbox">3</div>
171
+                                <div>Payment Method</div>
172
+
173
+                                <!-- <div>Add A NEW ADDRESS</div> -->
174
+                            </div>
175
+                        </div>
176
+                        <div class="card">
177
+                            <div class="orderslist d-flex flex-column">
178
+                                <label for="online">
179
+                                    Onlinedfghj 
180
+                                    
181
+                                </label>
182
+                                <input checked data-op="online" name="payment" type="radio" class="paymentbtn   " id="online">
183
+                                <label for="cod">
184
+                                    Cash on develiop
185
+                                    
186
+                                </label>
187
+                                <input data-op="cod" name="payment" type="radio" class="paymentbtn  " id="cod">
188
+                            </div>
189
+                        </div>
190
+                        <div class="pb-3 d-none d-flex justify-content-end">
191
+                            <button class="text-uppercase  detailsAddressBtn text-white ordernowbtn">Order Now</button>
192
+                        </div>
193
+                    </div>
194
+                </div>
195
+                <div class="col-sm-4">
196
+                    <div class=" overflow-hidden  w-100 h-100">
197
+                        <div class="card p-3 gap-3">
198
+                            <div>Your Order</div>
199
+                            <div class="orderlistcart">
200
+                                <div class="align-items-center d-flex justify-content-between">
201
+                                    <div style="max-width: 100px;" class="">
202
+                                        <img class="w-100" src="./dist/assets/imgs/Navbar/Accessiories-1.png" alt="">
203
+                                    </div>
204
+                                   <div>
205
+                                    <div>
206
+                                        <div>Jeans  with sequins</div>
207
+                                    </div>
208
+                                    <div>
209
+                                        <span>7000</span> <span>x <span class="qtyitem">02</span></span>
210
+                                    </div>
211
+                                   </div>
212
+                                </div>
213
+                                <div class="align-items-center border-top d-flex justify-content-between border-top">
214
+                                    <div style="max-width: 100px;" class="">
215
+                                        <img class="w-100" src="./dist/assets/imgs/Navbar/Accessiories-1.png" alt="">
216
+                                    </div>
217
+                                   <div>
218
+                                    <div>
219
+                                        <div>Jeans  with sequins</div>
220
+                                    </div>
221
+                                    <div>
222
+                                        <span>7000</span> <span>x <span class="qtyitem">02</span></span>
223
+                                    </div>
224
+                                   </div>
225
+                                </div>
226
+                            </div>
227
+                            <div class="border-top d-flex flex-column gap-1">
228
+                                <div class="d-flex justify-content-between">
229
+                                    <div>
230
+                                        price (<span class="noofitems">3</span> items)
231
+                                    </div>
232
+                                    <div>
233
+                                        <span class="currecy">₹</span> <span class="totalPrice">0</span>
234
+                                    </div>
235
+                                </div>
236
+                                <div class="d-flex justify-content-between">
237
+                                    <div>
238
+                                        Delivery Charges
239
+                                    </div>
240
+                                    <div>
241
+                                        Free
242
+                                    </div>
243
+                                </div>
244
+                            </div>
245
+                            <div class="border-top ">
246
+                                <div class="d-flex justify-content-between">
247
+                                    <span>Total Payable</span>
248
+                                    <span> <span class="currecy">₹</span> <span
249
+                                            class="totalSummaryPrice">0</span></span>
250
+                                </div>
251
+
252
+                            </div>
253
+                        </div>
254
+                    </div>
255
+                </div>
256
+            </div>
257
+        </div>
258
+    </div>
259
+    <!-- footer -->
260
+    <div id="footer-head" class=""></div>
261
+    <div class="paymentgatewaypage d-none">
262
+        <div>
263
+            Your been redirected to payment gatway page
264
+        </div>
265
+        <div class="spinner-border" role="status">
266
+            <span class="sr-only">Loading...</span>
267
+        </div>
268
+    </div>
269
+    <!-- end-footer -->
270
+    <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
271
+    <script src="./dist/js/jquery.min.js"></script>
272
+    <!-- <script src="./libs/select2/select2.js"></script> -->
273
+
274
+  
275
+    <script src="./dist/js/navbar.js"></script>
276
+    <script src="./libs/axios.min.js"></script>
277
+    <script src="./dist/js/footer.js"></script>
278
+    <script src="./libs/cookies.min.js"></script>
279
+    <script src="./dist/js/fontawesome.all.js"></script>
280
+    <script src="./dist/js/fontawesome.min.js"></script>
281
+    <script src="./dist/js/vendor/modernizr-3.11.7.min.js"></script>
282
+    <script src="./dist/js/vendor/jquery-v3.6.0.min.js"></script>
283
+    <script src="./dist/js/vendor/jquery-migrate-v3.3.2.min.js"></script>
284
+    <script src="./dist/js/vendor/bootstrap.min.js"></script>
285
+    <script src="./dist/js/plugins/slick.js"></script>
286
+    <script src="./dist/js/plugins/wow.js"></script>
287
+    <script src="./dist/js/plugins/svg-injector.min.js"></script>
288
+    <script src="./dist/js/plugins/jquery.nice-select.min.js"></script>
289
+    <script src="./dist/js/plugins/mouse-parallax.js"></script>
290
+    <script src="./dist/js/plugins/images-loaded.js"></script>
291
+    <script src="./dist/js/plugins/isotope.js"></script>
292
+    <script src="./dist/js/plugins/jquery-ui.js"></script>
293
+    <script src="./dist/js/plugins/magnific-popup.js"></script>
294
+
295
+    <script src="./libs/select2/select2.js"></script>
296
+
297
+    <script src="./dist/js/utils/helpers.js"></script>
298
+    <script src="./dist/js/shoppingcart/addtocart.js"></script>
299
+    <script src="./dist/js/auth/apiservice.js"></script>
300
+
301
+    <script src="./dist/js/components/authloader/authloader.js"></script>
302
+
303
+    <script src="./dist/js/localstorage/checkout.js"></script>
304
+    <!-- <script src="./dist/js/shoppingcart/selectdelivery.js"></script> -->
305
+    <script src="./dist/js/shoppingcart/select_delivery.js"></script>
306
+
307
+</body>
308
+
309
+</html>

+ 39
- 48
shopping-cart.html Visa fil

@@ -5,7 +5,7 @@
5 5
     <meta charset="UTF-8" />
6 6
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7 7
     <meta http-equiv="X-UA-Compatible" content="ie=edge" />
8
-    <link rel="shortcut icon" type="image/x-icon" href="./dist/assets/imgs/favicon.gif">
8
+
9 9
     <link rel="stylesheet" href="./libs/bootstrap/css/bootstrap.min.css" />
10 10
     <link rel="stylesheet" href="./dist/css/main.css" />
11 11
     <link rel="stylesheet" href="./styles/style.css">
@@ -28,7 +28,7 @@
28 28
     <link rel="stylesheet" href="./dist/css/style.css">
29 29
     <link rel="stylesheet" href="./dist/css/fontawesome.all.min.css">
30 30
     <link rel="stylesheet" href="./dist/css/fontawesome.min.css">
31
-    <title>Cart | Anwi</title>
31
+    <title>Anwi</title>
32 32
 </head>
33 33
 
34 34
 <body>
@@ -37,12 +37,8 @@
37 37
       <!-- end-navbar -->
38 38
   <hr class="mx-5">
39 39
     <!-- main-body -->
40
- 
41
-
42
-
43
-
44
-<main class="shopping-cart-main-container main-body d-none">
45
-        <section class="bg-white">
40
+    <main class="shopping-cart-main-container main-body pt-5">
41
+        <section class="bg-white d-none">
46 42
             <div class="cart-sec-highlighter d-none d-sm-block">
47 43
                 <div class="container">
48 44
                     <div class="row align-items-center py-4 justify-content-around">
@@ -63,7 +59,7 @@
63 59
         </section>
64 60
         <div class="shopping-cart-details">
65 61
             <div class="container pt-4">
66
-                <div class="row align-items-center bg-white rounded d-none d-sm-flex shopping-cart-details-row-1 ">
62
+                <div class="row align-items-center bg-white rounded d-none d-md-flex shopping-cart-details-row-1 ">
67 63
                     <div class="col-md-2">
68 64
                         <h6 class="text-center">All</h6>
69 65
                     </div>
@@ -80,7 +76,24 @@
80 76
                         <h6>Total</h6>
81 77
                     </div>
82 78
                 </div>
83
-                <div class="row bg-white mt-3 rounded py-3 d-none d-sm-flex ">
79
+                <div class="appendItems">
80
+
81
+                    
82
+                </div>
83
+                <div class="emptyShow row d-none">
84
+                    <div class="bg-white innerEmptyShow p-5 d-flex justify-content-center gap-2">
85
+                        <span><i class="fa fa-cart-shopping"></i></span>
86
+                      <span>  Your Card is Empty</span>
87
+                   
88
+                    </div>
89
+                </div>
90
+                <div class="d-flex justify-content-end align-items-center pt-4">
91
+                    <div class="btn btn-dark button_dark checkoutbtn"><div class="spinner-border d-none" role="status">
92
+                      
93
+                      </div><span>Check out</span></div>
94
+                </div>
95
+                <!-- append -->
96
+                <!-- <div class="row bg-white mt-3 rounded py-3 d-none d-sm-flex ">
84 97
                     <div class="col-md-2"><img src="./dist/assets/imgs/Home/Shopping-cart-item-img.png" alt="shopping-cart-item-img" class="img-fluid"></div>
85 98
                     <div class="col-md-4">
86 99
                         <p class="mb-0">Mi NoteBook Pro Lustrous Gray i5 11th Gen + Iris Xe Graphics 16GB RAM + 512GB NVMe SSD.</p>
@@ -130,8 +143,10 @@
130 143
                             </div>
131 144
                         </div>
132 145
                     </div>
133
-                </div>
134
-                <div class="bg-white rounded  d-block d-sm-none ">
146
+                </div> -->
147
+                    <!-- append -->
148
+                <div class="bg-white rounded  d-none ">
149
+                <!-- <div class="bg-white rounded  d-block d-sm-none "> -->
135 150
                     <div class="card mb-3 mt-5" style="max-width: 540px;">
136 151
                         <div class="mx-auto mobile-cart-img">
137 152
                             <img src="./dist/assets/imgs/Home/Shopping-cart-item-img.png" alt="shopping-cart-item-img" class="img-fluid">
@@ -184,7 +199,7 @@
184 199
                     </div>
185 200
                 </div>
186 201
             </div>
187
-            <div class="alert-display-sec position-fixed w-100 bottom-0 ">
202
+            <div class="alert-display-sec position-fixed d-none w-100 bottom-0 ">
188 203
                 <div class="alert alert-white border
189 204
                                 border-end-0 border-start-0 mb-0 rounded-0
190 205
                                 alert-dismissible fade show" role="alert">
@@ -211,7 +226,7 @@
211 226
                 </div>
212 227
             </div>
213 228
             <!-- buy-together-sec -->
214
-            <div class="buy-together-sec">
229
+            <div class="d-none buy-together-sec">
215 230
                 <div class="container">
216 231
                     <div class="row bg-white px-4">
217 232
                         <h5 class="py-3 border-bottom">Buy Together
@@ -290,8 +305,7 @@
290 305
                                                         <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-currency-rupee" viewBox="0 0 16 16">
291 306
                                                             <path d="M4 3.06h2.726c1.22 0 2.12.575 2.325 1.724H4v1.051h5.051C8.855 7.001 8 7.558 6.788 7.558H4v1.317L8.437 14h2.11L6.095 8.884h.855c2.316-.018 3.465-1.476 3.688-3.049H12V4.784h-1.345c-.08-.778-.357-1.335-.793-1.732H12V2H4v1.06Z"/>
292 307
                                                           </svg> 1999
293
-                                                        </small>
294
-                                                        </del>
308
+                                                        
295 309
                                                     </p>
296 310
                                                 </div>
297 311
                                             </div>
@@ -306,7 +320,8 @@
306 320
             <!-- buy-together-sec -->
307 321
             <!-- delivery to -->
308 322
             <div class=" delivery-to-sec sec-space-3 d-block d-sm-none ">
309
-                <div class=" container ">
323
+            <!-- <div class=" delivery-to-sec sec-space-3 d-block d-sm-none "> -->
324
+                <div class=" container d-none">
310 325
                     <div class=" col-md-5 ">
311 326
                         <div class=" d-flex align-items-center justify-content-around p-1">
312 327
                             <div class=" px-0 ">
@@ -322,7 +337,7 @@
322 337
                 </div>
323 338
             </div>
324 339
             <div class=" delivery-to-sec sec-space-3 d-none d-sm-block">
325
-                <div class=" container ">
340
+                <div class=" container d-none">
326 341
                     <div class="col-md-7 col-lg-5">
327 342
                         <div class=" d-flex align-items-center justify-content-around ">
328 343
                             <div class=" px-0 ">
@@ -340,34 +355,6 @@
340 355
             <!-- delivery to -->
341 356
         </div>
342 357
     </main>
343
-
344
-<section class="pt-4">
345
-            <div class="container py-md-5 py-3 pt-4">
346
-                <div class="row shadow px-3 rounded-4">
347
-                    <div class="bg-white">
348
-                        <div>
349
-                            <p class="mb-0 py-2">○○○</p>
350
-                        </div>
351
-                        <div class="content_section">
352
-                            <div>
353
-                                <h4 class="satoshi_font pb-3 text-center" >Cart</h4>
354
-                            </div>
355
-                           <div class="px-4 pb-3">
356
-                                <div>
357
-                                    <p class="satoshi_font text-center">Your shopping cart is empty
358
-
359
-.</p>
360
-                                    <p class="satoshi_font text-center"><a href="#" class="btn btn-dark px-4 button_dark">Go Shopping</a></p>
361
-                                    <div>
362
-                                                         </div>
363
-                        </div>
364
-                    </div>
365
-                </div>
366
-            </div>
367
-        </section>
368
-
369
-
370
-
371 358
     <!-- footer -->
372 359
     <div id="footer-head"></div>
373 360
     <!-- end-footer -->
@@ -375,9 +362,9 @@
375 362
     <script src="./dist/js/jquery.min.js"></script>
376 363
     <script src="./libs/owlcarousel/js/owl.carousel.min.js"></script>
377 364
     <script src="./dist/js/navbar.js"></script>
378
-   <script src="./libs/axios.min.js"></script>
365
+    <script src="./libs/axios.min.js"></script>
379 366
     <script src="./dist/js/footer.js"></script>
380
-      <script src="./libs/cookies.min.js"></script>
367
+    <script src="./libs/cookies.min.js"></script>
381 368
 
382 369
     <script src="./dist/js/fontawesome.all.js"></script>
383 370
     <script src="./dist/js/fontawesome.min.js"></script>
@@ -395,7 +382,11 @@
395 382
     <script src="./dist/js/plugins/jquery-ui.js"></script>
396 383
     <script src="./dist/js/plugins/magnific-popup.js"></script>
397 384
     <!-- Main JS -->
385
+    <script src="./dist/js/utils/helpers.js"></script>
398 386
     <script src="./dist/js/main.js"></script>
387
+    <script src="./dist/js/auth/apiservice.js"></script>
388
+    <script src="./dist/js/shoppingcart/addtocart.js"></script>  
389
+    <script src="./dist/js/shoppingcart/shoppingcart.js"></script>  
399 390
     <script>
400 391
         $(window).scroll(function() {
401 392
             if (isScrolledIntoView('#footer-head'))

+ 38
- 251
storageproducts.html Visa fil

@@ -42,7 +42,7 @@
42 42
             color:#ffff !important;
43 43
         }
44 44
         .card-title{
45
-            font-size: 1.4rem;
45
+            font-size: 1.2rem;
46 46
         }
47 47
     </style>
48 48
 </head>
@@ -52,7 +52,7 @@
52 52
     <div id="navbar-head" class="shadow"></div>
53 53
     <!-- end-navbar -->
54 54
     <!-- main-body -->
55
-    <main class="main-body home-main-container">
55
+    <main class="main-body home-main-container pt-md-0 pt-5">
56 56
         <section class="services h-100 pt-3  bg-gradient-anwi">
57 57
             <div class="container pt-5 ">
58 58
                 <div class="text-center text-white ">
@@ -70,11 +70,9 @@
70 70
         <section class="pt-2" id="ora_products">
71 71
             <div class="products-container">
72 72
                 <div class="product-cards">
73
-                    <div class="tab-content container" id="pills-tabContent1">
74
-                        <!------------------------------ RAM-------------------------->
75
-                        <div class="tab-pane fade show active" id="pills-network-cards" role="tabpanel" aria-labelledby="pills-network-cards-tab">
73
+                    
76 74
                             <div class="py-md-5">
77
-                                <div class="text-center">
75
+                                <div class="text-center pb-md-5">
78 76
                                     <h1 class="satoshi_font pb-md-4 pb-3">Discover the revolution of ORA</h1>
79 77
                                     <p class="fs-6 satoshi_font fw-500 pb-md-4">
80 78
                                         ORA Memory Series, harnessing cutting-edge</br>
@@ -82,278 +80,67 @@
82 80
                                         Boasting an ultra-slim 1mm Heatsink, we defy temperature limits and redefine storage performance.
83 81
                                     </p>
84 82
                                 </div>
85
-                                <div class="tab-content rounded-4" id="pills-tabContent">
83
+                                <div class="container">
84
+                                 <div class="row">
85
+                                      <div class="products-container" id="">
86 86
                                     <div class="text-center py-md-5 py-4">
87 87
                                         <span class="bg-black fs-5 px-md-4 py-md-2 py-2 px-4 rounded-3 text-white">Join the future with Anwi Systems</span>
88 88
                                     </div>
89 89
                                     <!-- first tab-pane -->
90
-                                    <div class="tab-pane fade show active" id="pills-network-cards-card" role="tabpanel" aria-labelledby="pills-network-cards-card-tab">
91
-                                        <div class="row g-4 pb-5 px-md-4 storage_card">
92
-                                            <div class="col-lg-4 col-md-6 col-md-6">
93
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
94
-                                                    <a href="#">
95
-                                                        <img src="./dist/assets/imgs/Navbar/ora3_ram.png" class="card-img-top" alt="...">
96
-                                                    </a>
97
-                                                    <div class="card-body pt-0">
98
-                                                        <a href="#" class="text-decoration-none text-dark">
99
-                                                            <h5 class="card-title text-center fw-600 satoshi_font mb-0">
100
-                                                                ORA3 512GB Solid State Drive with NMVe PCIe Gen 3
101
-                                                            </h5>
102
-                                                        </a>
103
-                                                    </div>
104
-                                                    <ul class="bg-gray-3 border-0 mb-0 list-group-flush px-3 d-flex justify-content-between">
105
-                                                        <li class="list-group-item border-0 py-0">
106
-                                                            <p class="mb-0 fs-9">Modal</p>
107
-                                                            <p class="satoshi_font fs-9 mb-0">AWPC33K512GS</p>
108
-                                                        </li>
109
-                                                        <li class="list-group-item border-0 py-0">
110
-                                                            <p class="mb-0 fs-9">Memory Speed</p>
111
-                                                            <p class="satoshi_font fs-9 mb-0">3500 MHz</p>
112
-                                                        </li>
113
-                                                    </ul>
114
-                                                    <div class="card-body text-center">
115
-                                                        <a href="#" class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
116
-                                                        data_des="High-speed PCIe Gen 3x4
117
-                                                        interface with read speeds
118
-                                                        up to 3500 MB/s and write
119
-                                                        speeds up to 3000MB/s."
120
-                                                        data_name="ORA3 M.2 NVMe 512GB Internal Solid State Drive with NMVe PCIe Gen 3">Details
121
-                                                           
122
-                                                        </a>
123
-                                                    </div>
90
+                                   <div class="row product_card_section">
91
+                                    <!--desktop--->
92
+                                    <div class="col-sm-4 p-3">
93
+                                        <div class="product_card_3 shadow ram_card">
94
+                                            <div class="card-item-header">
95
+                                                <div class="card-header-sub-3"><a class=" py-md-1" href="">
96
+                                                <img src="./dist/assets/imgs/Navbar/ora_ddr4_desktop.png" class="w-100 h-100"></a>
124 97
                                                 </div>
125 98
                                             </div>
126
-                                            <div class="col-lg-4 col-md-6 col-md-6">
127
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
128
-                                                    <a href="#">
129
-                                                        <img src="./dist/assets/imgs/Navbar/ora3_ram.png" class="card-img-top" alt="...">
130
-                                                    </a>
131
-                                                    <div class="card-body pt-0">
132
-                                                        <a href="#"
133
-                                                            class="text-decoration-none text-dark">
134
-                                                            <h5 class="card-title text-center fw-600 satoshi_font mb-0">
135
-                                                                ORA3 1TB Solid State Drive with NMVe PCIe Gen 3
136
-                                                            </h5>
137
-                                                        </a>
138
-                                                    </div>
139
-                                                    <ul class="bg-gray-3 border-0 mb-0 list-group-flush px-3 d-flex justify-content-between">
140
-                                                        <li class="list-group-item border-0 py-0">
141
-                                                            <p class="mb-0 fs-9">Modal</p>
142
-                                                            <p class="satoshi_font fs-9 mb-0">AWLD43232M</p>
143
-                                                        </li>
144
-                                                        <li class="list-group-item border-0 py-0">
145
-                                                            <p class="mb-0 fs-9">Memory Speed</p>
146
-                                                            <p class="satoshi_font fs-9 mb-0">3500 MHz</p>
147
-                                                        </li>
148
-                                                    </ul>
149
-                                                    <div class="card-body text-center">
150
-                                                        <a href="#"
151
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
152
-                                                            data_des="High-speed PCIe Gen 3x4
153
-                                                        interface with read speeds
154
-                                                        up to 3500 MB/s and write
155
-                                                        speeds up to 3000MB/s."
156
-                                                        data_name="ORA3 M.2 NVMe 1TB Internal Solid State Drive with NMVe PCIe Gen 3">Details
157
-                                                        </a>
158
-                                                    </div>
159
-                                                </div>
160
-                                            </div>
161
-                                            <div class="col-lg-4 col-md-6 col-md-6">
162
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
163
-                                                    <a href="#">
164
-                                                        <img src="./dist/assets/imgs/Navbar/ora3_ram.png" class="card-img-top" alt="...">
165
-                                                    </a>
166
-                                                    <div class="card-body pt-0">
167
-                                                        <a href="#" class="text-decoration-none text-dark">
168
-                                                            <h5 class="card-title text-center fw-600 satoshi_font mb-0">
169
-                                                                ORA3 2TB Solid State Drive with NMVe PCIe Gen 3
170
-                                                            </h5>
171
-                                                        </a>
172
-                                                    </div>
173
-                                                    <ul class="bg-gray-3 border-0 mb-0 list-group-flush px-3 d-flex justify-content-between">
174
-                                                        <li class="list-group-item border-0 py-0">
175
-                                                            <p class="mb-0 fs-9">Modal</p>
176
-                                                            <p class="satoshi_font fs-9 mb-0">AWPC33K002TS</p>
177
-                                                        </li>
178
-                                                        <li class="list-group-item border-0 py-0">
179
-                                                            <p class="mb-0 fs-9">Memory Speed</p>
180
-                                                            <p class="satoshi_font fs-9 mb-0">3500 MHz</p>
181
-                                                        </li>
182
-                                                    </ul>
183
-                                                    <div class="card-body text-center">
184
-                                                        <a href="#" class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
185
-                                                        data_des="High-speed PCIe Gen 3x4
186
-                                                        interface with read speeds
187
-                                                        up to 3500 MB/s and write
188
-                                                        speeds up to 3000MB/s."
189
-                                                        data_name="ORA3 M.2 NVMe 2TB Internal Solid State Drive with NMVe PCIe Gen 3">Details
190
-                                                            
191
-                                                        </a>
192
-                                                    </div>
193
-                                                </div>
194
-                                            </div>
195
-                                            <div class="col-lg-4 col-md-6 col-md-6">
196
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
197
-                                                    <a href="#">
198
-                                                        <img src="./dist/assets/imgs/Navbar/ora4_ram.png" class="card-img-top" alt="...">
199
-                                                    </a>
200
-                                                    <div class="card-body pt-0">
201
-                                                        <a href="#"
202
-                                                            class="text-decoration-none text-dark">
203
-                                                            <h5 class="card-title text-center fw-600 satoshi_font mb-0">
204
-                                                                ORA4 512GB Solid State Drive with NMVe PCIe Gen 4
205
-                                                            </h5>
206
-                                                        </a>
207
-                                                    </div>
208
-                                                    <ul class="bg-gray-3 border-0 mb-0 list-group-flush px-3 d-flex justify-content-between">
209
-                                                        <li class="list-group-item border-0 py-0">
210
-                                                            <p class="mb-0 fs-9">Modal</p>
211
-                                                            <p class="satoshi_font fs-9 mb-0">AWPC45K512GS</p>
212
-                                                        </li>
213
-                                                        <li class="list-group-item border-0 py-0">
214
-                                                            <p class="mb-0 fs-9">Memory Speed</p>
215
-                                                            <p class="satoshi_font fs-9 mb-0">4900 MHz</p>
216
-                                                        </li>
217
-                                                    </ul>
218
-                                                    <div class="card-body text-center">
219
-                                                        <a href="#"
220
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
221
-                                                            data_des="High-speed PCIe Gen 4x4
222
-                                                            interface with read speeds
223
-                                                            up to 4900 MB/s and write
224
-                                                            speeds up to 4400MB/s."
225
-                                                            data_name="ORA4 M.2 NVMe 1TB Internal Solid State Drive with NMVe PCIe Gen 4">Details 
226
-                                                        </a>
227
-                                                    </div>
228
-                                                </div>
229
-                                            </div>
230
-                                            <div class="col-lg-4 col-md-6 col-md-6">
231
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
232
-                                                    <a href="#">
233
-                                                        <img src="./dist/assets/imgs/Navbar/ora4_ram.png" class="card-img-top" alt="...">
234
-                                                    </a>
235
-                                                    <div class="card-body pt-0">
236
-                                                        <a href="#"
237
-                                                            class="text-decoration-none text-dark">
238
-                                                            <h5 class="card-title text-center fw-600 satoshi_font mb-0">
239
-                                                                ORA4 1TB Solid State Drive with NMVe PCIe Gen 4
240
-                                                            </h5>
241
-                                                        </a>
242
-                                                    </div>
243
-                                                    <ul class="bg-gray-3 border-0 mb-0 list-group-flush px-3 d-flex justify-content-between">
244
-                                                        <li class="list-group-item border-0 py-0">
245
-                                                            <p class="mb-0 fs-9">Modal</p>
246
-                                                            <p class="satoshi_font fs-9 mb-0">AWPC45K001TS</p>
247
-                                                        </li>
248
-                                                        <li class="list-group-item border-0 py-0">
249
-                                                            <p class="mb-0 fs-9">Memory Speed</p>
250
-                                                            <p class="satoshi_font fs-9 mb-0">4900 MHz</p>
251
-                                                        </li>
252
-                                                    </ul>
253
-                                                    <div class="card-body text-center">
254
-                                                        <a href="#"
255
-                                                            class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
256
-                                                            data_des="High-speed PCIe Gen 4x4
257
-                                                            interface with read speeds
258
-                                                            up to 4900 MB/s and write
259
-                                                            speeds up to 4400MB/s."
260
-                                                            data_name="ORA4 M.2 NVMe 1TB Internal Solid State Drive with NMVe PCIe Gen 4">Details 
261
-                                                        </a>
262
-                                                    </div>
263
-                                                </div>
264
-                                            </div>
265
-                                            <div class="col-lg-4 col-md-6 col-md-6">
266
-                                                <div class="card border bg-gray-3 rounded-3 p-1 h-100">
267
-                                                    <a href="#">
268
-                                                        <img src="./dist/assets/imgs/Navbar/ora4_ram.png" class="card-img-top" alt="...">
269
-                                                    </a>
270
-                                                    <div class="card-body pt-0">
271
-                                                        <a href="#"
272
-                                                            class="text-decoration-none text-dark">
273
-                                                            <h5 class="card-title text-center fw-600 satoshi_font mb-0">
274
-                                                                ORA4 2TB Solid State Drive with NMVe PCIe Gen 4
275
-                                                            </h5>
276
-                                                        </a>
277
-                                                    </div>
278
-                                                    <ul class="bg-gray-3 border-0 mb-0 list-group-flush px-3 d-flex justify-content-between">
279
-                                                        <li class="list-group-item border-0 py-0">
280
-                                                            <p class="mb-0 fs-9">Modal</p>
281
-                                                            <p class="satoshi_font fs-9 mb-0">AWPC45K002TS</p>
282
-                                                        </li>
283
-                                                        <li class="list-group-item border-0 py-0">
284
-                                                            <p class="mb-0 fs-9">Memory Speed</p>
285
-                                                            <p class="satoshi_font fs-9 mb-0">4900 MHz</p>
286
-                                                        </li>
287
-                                                    </ul>
288
-                                                    <div class="card-body text-center">
289
-                                                        <a href="#" class="btn bg-white font-1-2 px-5 w-100 satoshi_font"
290
-                                                        data_des="High-speed PCIe Gen 4x4
291
-                                                        interface with read speeds
292
-                                                        up to 4900 MB/s and write
293
-                                                        speeds up to 4400MB/s."
294
-                                                        data_name="ORA4 M.2 NVMe 2TB Internal Solid State Drive with NMVe PCIe Gen 4">
295
-                                                        Details
296
-                                                        </a>
297
-                                                    </div>
99
+                                            <div class="card-item-body">
100
+                                              <h3 cclass="mb-2"> <a href="#" class="" > ORA 8GB DDR4 3200MHz Desktop RAM </a></h3>
101
+                                              <hr>
102
+                                                <h6>8GB DDR4</h6> <h6>3200 Mhz</h6>
103
+                                                <div class="py-2 card_product_footer">
104
+                                                    <a href="#" class="w-100 satoshi_font ram_btn" data_name="ORA 8GB DDR4 3200MHz Desktop RAM "  data_version="DDR4" data_device="Desktop" data_gb="8GB"   data_price="2900">Details </a>
298 105
                                                 </div>
299 106
                                             </div>
300 107
                                         </div>
301 108
                                     </div>
302 109
                                 </div>
110
+                                 </div>
111
+                                </div>
303 112
                             </div>
304
-                        </div>
305
-                    </div>
113
+                        
306 114
                 </div>
307 115
             </div>
308 116
         </section>
309 117
     </main>
118
+      <!-- <img src="./dist/assets/imgs/Navbar/ora4_ram.png" class="card-img-top" alt="..."> -->
310 119
     <div id="enquire"></div>
311 120
     <!-- footer -->
312 121
     <div id="footer-head"></div>
313 122
     <!-- end-footer -->
314
-    <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
123
+      <script src="./libs/bootstrap/js/bootstrap.bundle.min.js"></script>
315 124
     <script src="./dist/js/jquery.min.js"></script>
316
-    <!-- <script src="./libs/owlcarousel/js/owl.carousel.min.js"></script> -->
317
-    <script src="./dist/js/navbar.js"></script>
318
-    <!-- <script src="./dist/js/axios.min.js"></script> -->
319
-    <script src="./dist/js/footer.js"></script>
320
-      <script src="./libs/cookies.min.js"></script>
321
-    <script src="./dist/js/form.js"></script>
125
+   <script src="./libs/axios.min.js"></script>
322 126
 
127
+    <script src="./libs/cookies.min.js"></script>
323 128
     <script src="./dist/js/fontawesome.all.js"></script>
324 129
     <script src="./dist/js/fontawesome.min.js"></script>
325
-    <script src="./dist/js/vendor/modernizr-3.11.7.min.js"></script>
326 130
     <script src="./dist/js/vendor/jquery-v3.6.0.min.js"></script>
327
-    <script src="./dist/js/vendor/jquery-migrate-v3.3.2.min.js"></script>
328 131
     <script src="./dist/js/vendor/bootstrap.min.js"></script>
329
-    <script src="./dist/js/plugins/slick.js"></script>
330
-    <script src="./dist/js/plugins/wow.js"></script>
331
-    <script src="./dist/js/plugins/svg-injector.min.js"></script>
332
-    <script src="./dist/js/plugins/jquery.nice-select.min.js"></script>
333
-    <!-- <script src="./dist/js/plugins/mouse-parallax.js"></script> -->
334
-    <!-- <script src="./dist/js/plugins/images-loaded.js"></script> -->
335
-    <!-- <script src="./dist/js/plugins/isotope.js"></script> -->
336
-    <!-- <script src="./dist/js/plugins/jquery-ui.js"></script> -->
337
-    <!-- <script src="./dist/js/plugins/magnific-popup.js"></script> -->
132
+
133
+
338 134
 <!-- Main JS -->
339
-<script src="./dist/js/main.js"></script>
340
-    <script>
341
-        $("#pills-tabContent").find(".storage_card").each(function(){
342
-            // $(this).click(function(){
343
-            //     let product_name = $(this).find(".card-body").find("a.btn").attr("data_name");
344
-            //     let product_desc = $(this).find(".card-body").find("a.btn").attr("data_des");
345
-            //     let product_img = $(this).find("img").attr("src");
346
-                
347
-            //     let product_obj = {
348
-            //         name:product_name,
349
-            //         description:product_desc,
350
-            //          image:product_img,
351
-            //     }
352
-            //     localStorage.setItem("product_data",JSON.stringify(product_obj));
353
-            //     window.location.href="/productdetails.html";
354
-            // })
355
-        })
356
-    </script>
135
+<script src="./dist/js/utils/helpers.js"></script>
136
+    <script src="./dist/js/navbar.js"></script>
137
+        <script src="./dist/js/footer.js"></script>
138
+
139
+    <script src="./dist/js/main.js"></script>
140
+
141
+
142
+   <script src="./dist/js/auth/apiservice.js"></script>
143
+      <script src="./dist/js/products/products.js"></script>
357 144
 </body>
358 145
 
359 146
 </html>

Laddar…
Avbryt
Spara