-
-
-
-
+
diff --git a/mapy/oneMap.js b/mapy/oneMap.js
index 47a8906..51f6774 100644
--- a/mapy/oneMap.js
+++ b/mapy/oneMap.js
@@ -825,7 +825,7 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
});
// Wstawienie metod dostaw na strone
- const deliveryMarkup = `
${prepaidMarkup}
${dvpMarkup}
`;
+ const deliveryMarkup = `
${prepaidMarkup}
${dvpMarkup}
`;
const previousDeliveries = document.getElementById("osc_order1");
if(previousDeliveries) previousDeliveries.remove();
document.querySelector(".ajax_cop .step2_sub").insertAdjacentHTML("beforeend",deliveryMarkup);
@@ -841,9 +841,11 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
// Przygotowanie Płatności
e.prepaids_method.forEach(function (method) {
+const checkedPayment = paymentValue === method.id;
+
const markup = `
-
+
@@ -917,7 +919,7 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
// Wstawienie pickuppoint jeśli edycja i istnieje
if(data?.pickupData !== undefined && data?.pickupData !== null){
const selectedShipping = document.querySelector(`#cop_seection2 input#${deliveryId}`);
- const pointExists = checkPrevPickupPoint(
+ checkPrevPickupPoint(
selectedShipping.parentElement.querySelector(".fselectedPoint"),
data.pickupData.id,
data.pickupData.name,
@@ -925,11 +927,10 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
data.pickupData.address.city,
data.pickupData.address.postcode,
data.deliveryMethodId
- );
-
+ ).then(pointExists=>{
// Odznaczenie punktu jeśli punkt odbioru nie istnieje(Wcześniej był zaznaczony przy edycji)
if(!pointExists) selectedShipping.checked = false;
-
+ });
}// Sprawdzenie czy użytkownik ma zapisane poprzednio użyte metody w przeglądarce(tylko przy pierwszym załadowaniu strony)
else if(localStorage.getItem("prevPaymentMethod") && localStorage.getItem("prevDeliveryMethod") && firstLoad){
const prevPaymentMethod = JSON.parse(localStorage.getItem("prevPaymentMethod"));
@@ -949,7 +950,7 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
if(prevDeliveryInput){
// sprawdzenie czy dostawa miała punkt odbioru
if(prevDeliveryMethod.fselectedPoint){
- const pointExists = checkPrevPickupPoint(
+ checkPrevPickupPoint(
prevDeliveryInput.parentElement.querySelector(".fselectedPoint"),
prevDeliveryMethod.fselectedPoint.deliveryPointId,
prevDeliveryMethod.fselectedPoint.name,
@@ -957,13 +958,21 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
prevDeliveryMethod.fselectedPoint.city,
prevDeliveryMethod.fselectedPoint.zipcode,
prevDeliveryMethod.fselectedPoint.courierId
- );
+ ).then(pointExists=>{
if(pointExists) prevDeliveryInput.checked = true;
+});
}else{
prevDeliveryInput.checked = true;
}
}
}
+
+
+ // Zaznaczenie karty/banku w przypadku edycji
+ const checkedPayment = document.querySelector(`#osc_prepaids_method input[name="payform_id"]:checked`)
+ if(checkedPayment && (checkedPayment.dataset.group === "card" || checkedPayment.dataset.group === "transfer")){
+ cloneElement(checkedPayment);
+ }
// Przeładowanie mapy
loadMap();
// Przeliczenie kosztu dostawy
@@ -1042,6 +1051,7 @@ const SEARCH_PICKUP_POINTS_QUERY = (searchPickupPointsInput) => JSON.stringify({
}`,
})
async function checkPrevPickupPoint(selectedPoint, deliveryPointId, name, street, city, zipcode, courierId){
+if(!name || !city || !zipcode) return false;
// Pobranie punktów z tym samym id co poprzedni
app_shop.fn.ajaxLoadSite(1)
const resultData = await fetchData({
@@ -1163,7 +1173,7 @@ function removePrevClone(){
}
// Utworzenie modala po kliknieciu na "przelewy online" lub "karta platnicza"
-let ifChosenNewPaymentMethod=false;
+let ifChosenNewPaymentMethod = false;
function showPaymentMethodModal(method){
app_shop.fn.paymentModal = new Modal({
element: $(`.${method}__methods`),
@@ -1484,7 +1494,7 @@ async function updateCode(){
// Pokazanie błędu
const { message } = rebateStatus?.data?.activateRebateCode?.error;
addError(rebateCode);
- rebateCode.insertAdjacentHTML("afterend",`${message}. `);
+ addErrorMessage(rebateCode, message);
// Schowaj kod (show=false, error=true)
toggleActiveCode(false, true);
}
@@ -1524,7 +1534,7 @@ function toggleActiveCode(show, error=false){
rebateOptionWrapper.style.display = show ? "none" : "flex";
rebateActiveWrapper.style.display = show ? "block" : "none";
- if(!error)rebateCodeContainer.classList.remove("--fade-in");
+ if(!error) rebateCodeContainer.classList.remove("--fade-in");
else rebateCodeContainer.classList.add("--fade-in");
// zmień wartości
@@ -1561,7 +1571,7 @@ rebateCode.addEventListener("keydown", e=>{
// ZŁOŻENIE ZAMÓWIENIA
// Zwaliduj wszystkie dostępne inputy zawierające dane klienta i dane adresowe
-function validateAllInputs(){
+async function validateAllInputs(){
// Zmienna trzymająca informację czy wystąpił jakiś błąd
let allGood = true;
@@ -1572,12 +1582,12 @@ function validateAllInputs(){
}
if(!document.querySelector(".--logged")){
// Sprawdzenie emaila i telefonu
- allGood = validateRequest(document.getElementById("client_email"), true) && allGood;
+ allGood = await validateRequest(document.getElementById("client_email"), true) && allGood;
allGood = validatePhone(document.getElementById("client_phone")) && allGood;
// Sprawdzenie nazwy firmy i nipu
if(document.getElementById("client_type1").checked){
allGood = validateNotEmpty(document.getElementById("client_firm")) && allGood;
- allGood = validateRequest(document.getElementById("client_nip"), true) && allGood;
+ allGood = await validateRequest(document.getElementById("client_nip"), true) && allGood;
}
// Sprawdzenie reszty pól
allGood = validateFormInputs("client") && allGood;
@@ -1589,13 +1599,13 @@ function validateAllInputs(){
}
return allGood
}
-function validateFormInputs(query){
+async function validateFormInputs(query){
let isFormGood = true;
isFormGood = validateNotEmpty(document.getElementById(`${query}_firstname`)) && isFormGood;
isFormGood = validateNotEmpty(document.getElementById(`${query}_lastname`)) && isFormGood;
isFormGood = validateStreet(document.getElementById(`${query}_street`)) && isFormGood;
- isFormGood = validateRequest(document.getElementById(`${query}_zipcode`),true) && isFormGood;
+ isFormGood = await validateRequest(document.getElementById(`${query}_zipcode`),true) && isFormGood;
isFormGood = validateNotEmpty(document.getElementById(`${query}_city`)) && isFormGood;
return isFormGood;
@@ -1887,6 +1897,7 @@ async function addClient(succes, error){
const saveToSms = document.getElementById("client_sms");
let saveToSmsData = false;
if(saveToSms && saveToSms.checked) saveToSmsData = true;
+
const registerClientData = await fetchData({
data: REGISTER_CLIENT(`RegisterClientInput: {
clientData: {
diff --git a/style.css b/style.css
index 15413b0..0dec3da 100644
--- a/style.css
+++ b/style.css
@@ -48,19 +48,19 @@
.has-feedback.--error .form-control{
border-color: @less_iaicolorscheme_danger_color;
}
- //zmiana fontsize na 16px na desktop
+ // zmiana fontsize na 16px na desktop
.order__voucher_headlines strong, .order__voucher_button, #signin-form-ajax .signin_button, .delivery__address-list-firstname, .delivery__address-list-lastname, .osc_item-modal h2, .propose_title, #e-invoice_dialog .btn, #checkout_step2_2 h3, #summary-points, #fbs_z02_wrapper .big_label, .propose_main .button_password_recover, .rebate__title{
font-size: 1.6rem!important;
}
- //zmiana fontsize na 14px na desktop
+ // zmiana fontsize na 14px na desktop
.rebate_option label, .order2_terms_checkall, .register_client_checkbox, .firm-form, #delivery_box_switcher label, #FBS_faktura, #checkout_step3_1 .name, .client_type-text, .headerText{
font-size: 1.4rem!important;
}
- //zmiana fontsize na 13px na desktop
+ // zmiana fontsize na 13px na desktop
.cop_product_wrap, .order_pay_wrapper, .order2_shiptime, .signin_header, .delivery_date, #checkout_step2_2 .step3_sub.cop_box_sub span, .delivery__address-list-street, .delivery__address-list-city, .delivery__address-list-zipcode, .delivery__address-list-phone, .delivery__address-country_name, .propose_text, .propose_json_mail, .control-label, .register__hide-password::before, .f-label, #locationField .btn, .rebate__active-options button{
font-size: 1.3rem!important;
}
- //zmiana fontsize na 12px na desktop
+ // zmiana fontsize na 12px na desktop
.comment, .delivery_date, #checkout_step2_1 .name, a.go__shopping, .order_products_action span, .needed-text, #fbs_z02_close::before, .pickup_point_sub div, .mapTooltipAdress, #cop_seection2 #checkout_step2_2 h3 span, .osc_item-modal span, #e-invoice_dialog p, .e-invoice_dialog, .cn_propose_desc, #mail_propose_signin, #mail_propose_close, .order__voucher_info{
font-size: 1.2rem!important;
}
@@ -72,7 +72,7 @@
#signin-form-ajax .f-group, .propose_main div:has(#mail_propose_close), #e-invoice_dialog .big_label, #cop_seection1 .form-group:last-child, .register__form, .register__item:last-of-type, #client_contact_info{
margin-bottom: 0!important;
}
- //transition
+ // transition
.--hide{
max-height: 0;
height: 0;
@@ -110,7 +110,7 @@
animation: fade-in .2s;
}
//////////////////////////////////////////////////////////////////
- //MODAL
+ // MODAL
.modal__wrapper{
max-height: 80vh!important;
padding: 2rem 3rem!important;
@@ -305,12 +305,12 @@
line-height: 43px;
}
.has-error .form-control-feedback, .has-success .form-control-feedback {
- line-height: 38px;
+ line-height: 34px;
}
select{
cursor: pointer;
}
- //ikony
+ // ikony
i.icon-home:before {
content: '\F015';
}
@@ -324,7 +324,7 @@
color: #000;
content: "*";
}
- //Kontynuuj zakupy
+ // Kontynuuj zakupy
a.go__shopping{
margin-bottom: 4rem;
display: inline-block;
@@ -343,7 +343,7 @@
font-size: 2.2rem;
padding-bottom: 1.5rem;
}
- //cena gratis
+ // cena gratis
.cost_free{
color: #0BAC38;
font-weight: 800;
@@ -354,7 +354,7 @@
flex-direction: column;
gap: 2rem;
}
- //Sekcja dane klienta
+ // Sekcja dane klienta
#cop_seection1{
margin-bottom: 2rem;
#client_contact_info.--logged{
@@ -404,7 +404,7 @@
.row {
margin: 0 0px 0 -10px;
}
- //kraj
+ // kraj
.form-group.--region{
position: relative;
.control-label{
@@ -443,7 +443,7 @@
content: "\F106";
}
}
- //zalogowanie się
+ // zalogowanie się
.signin{
.get_signin{
text-decoration: underline;
@@ -604,7 +604,7 @@
justify-content: center;
align-items: center;
}
- //Chowanie przewidywanego czasu dostawy
+ // Chowanie przewidywanego czasu dostawy
input:checked[data-pickuppoint="y"] ~ .delivery_date{
display: none;
}
@@ -837,39 +837,38 @@
fill: @less_iaicolorscheme_background_active_color!important;
}
}
- .rebate, .rebate .rebate__code .rebate__code-container:has(.help-block.validate_message.text-danger){
+ .rebate{
margin-bottom: 2rem;
}
.rebate{
padding-bottom: 0.9rem;
border: 1px solid #ccc;
border-radius: 8px;
- .rebate__options, .rebate__code .rebate__code-container{
+ .rebate__options, .rebate__code{
display: flex;
align-items: center;
}
.rebate__code{
display: none;
.rebate__code-container{
- gap: 2rem;
+ display: grid;
+ grid-template-columns: 5fr 3fr;
padding: 2rem 1rem 0 1rem;
- position: relative;
- .help-block.validate_message.text-danger{
- position: absolute;
- bottom: 0;
- transform: translateY(150%);
+ > div{
+ position: relative;
+ margin-right: 2rem;
+ }
+ .help-block.validate_message.text-danger{
+ grid-column: 1 / span2;
+ margin-top: 1rem;
}
- }
- .form-control-feedback{
- line-height: 75px!important;
- right: 47%!important;
}
#rebate_code{
margin: 0!important;
display: inline-block;
}
.rebate__code-realize{
- padding: 1rem 14%;
+ padding: 1rem;
}
}
.rebate__active .rebate__active-options{
@@ -926,9 +925,6 @@
.zipcode_wrapper{
padding-right: 0!important;
}
- #cop_seection3 .rebate .rebate__code .form-control-feedback{
- right: 34vw!important;
- }
}
@media(max-width: 757px){
.form-control-feedback{
@@ -1114,22 +1110,22 @@
font-size: 2rem!important;
}
.rebate .rebate__code-container{
- flex-direction: column;
- gap: 1.2rem!important;
- align-items: flex-start!important;
+ gap: 1.2rem;
+ grid-template-columns: 1fr!important;
+ > div{
+ margin-right: 0!important;
+ grid-column: 1 / span1;
+ }
.help-block.validate_message.text-danger{
- position: static!important;
- transform: translateY(0%)!important;
+ grid-column: 1 / span1!important;
+ grid-row: 2 / span1;
margin-bottom: 1rem;
+ margin-top: 0!important;
}
- .form-control-feedback{
- line-height: 83px!important;
- right: 0%!important;
+ .rebate__code-realize{
+ grid-column: 1 / span1;
}
}
- .rebate__code-container:has(.help-block.validate_message.text-danger){
- margin-bottom: 0!important;
- }
.rebate__code-realize{
width: 100%;
}
diff --git a/wydzielonyScript.js b/wydzielonyScript.js
index 02e60f5..6ebe3f9 100644
--- a/wydzielonyScript.js
+++ b/wydzielonyScript.js
@@ -822,7 +822,7 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
});
// Wstawienie metod dostaw na strone
- const deliveryMarkup = `${prepaidMarkup}
${dvpMarkup}
`;
+ const deliveryMarkup = `${prepaidMarkup}
${dvpMarkup}
`;
const previousDeliveries = document.getElementById("osc_order1");
if(previousDeliveries) previousDeliveries.remove();
document.querySelector(".ajax_cop .step2_sub").insertAdjacentHTML("beforeend",deliveryMarkup);
@@ -838,9 +838,11 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
// Przygotowanie Płatności
e.prepaids_method.forEach(function (method) {
+ const checkedPayment = paymentValue === method.id;
+
const markup = `
-
+
@@ -914,7 +916,7 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
// Wstawienie pickuppoint jeśli edycja i istnieje
if(data?.pickupData !== undefined && data?.pickupData !== null){
const selectedShipping = document.querySelector(`#cop_seection2 input#${deliveryId}`);
- const pointExists = checkPrevPickupPoint(
+ checkPrevPickupPoint(
selectedShipping.parentElement.querySelector(".fselectedPoint"),
data.pickupData.id,
data.pickupData.name,
@@ -922,11 +924,10 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
data.pickupData.address.city,
data.pickupData.address.postcode,
data.deliveryMethodId
- );
-
- // Odznaczenie punktu jeśli punkt odbioru nie istnieje(Wcześniej był zaznaczony przy edycji)
- if(!pointExists) selectedShipping.checked = false;
-
+ ).then(pointExists=>{
+ // Odznaczenie punktu jeśli punkt odbioru nie istnieje(Wcześniej był zaznaczony przy edycji)
+ if(!pointExists) selectedShipping.checked = false;
+ });
}// Sprawdzenie czy użytkownik ma zapisane poprzednio użyte metody w przeglądarce(tylko przy pierwszym załadowaniu strony)
else if(localStorage.getItem("prevPaymentMethod") && localStorage.getItem("prevDeliveryMethod") && firstLoad){
const prevPaymentMethod = JSON.parse(localStorage.getItem("prevPaymentMethod"));
@@ -946,7 +947,7 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
if(prevDeliveryInput){
// sprawdzenie czy dostawa miała punkt odbioru
if(prevDeliveryMethod.fselectedPoint){
- const pointExists = checkPrevPickupPoint(
+ checkPrevPickupPoint(
prevDeliveryInput.parentElement.querySelector(".fselectedPoint"),
prevDeliveryMethod.fselectedPoint.deliveryPointId,
prevDeliveryMethod.fselectedPoint.name,
@@ -954,13 +955,21 @@ function getNewPaymentsAndDeliveries(data = null, firstLoad = false) {
prevDeliveryMethod.fselectedPoint.city,
prevDeliveryMethod.fselectedPoint.zipcode,
prevDeliveryMethod.fselectedPoint.courierId
- );
- if(pointExists) prevDeliveryInput.checked = true;
+ ).then(pointExists=>{
+ if(pointExists) prevDeliveryInput.checked = true;
+ });
}else{
prevDeliveryInput.checked = true;
}
}
}
+
+
+ // Zaznaczenie karty/banku w przypadku edycji
+ const checkedPayment = document.querySelector(`#osc_prepaids_method input[name="payform_id"]:checked`)
+ if(checkedPayment && (checkedPayment.dataset.group === "card" || checkedPayment.dataset.group === "transfer")){
+ cloneElement(checkedPayment);
+ }
// Przeładowanie mapy
loadMap();
// Przeliczenie kosztu dostawy
@@ -1039,6 +1048,7 @@ const SEARCH_PICKUP_POINTS_QUERY = (searchPickupPointsInput) => JSON.stringify({
}`,
})
async function checkPrevPickupPoint(selectedPoint, deliveryPointId, name, street, city, zipcode, courierId){
+ if(!name || !city || !zipcode) return false;
// Pobranie punktów z tym samym id co poprzedni
app_shop.fn.ajaxLoadSite(1)
const resultData = await fetchData({
@@ -1160,7 +1170,7 @@ function removePrevClone(){
}
// Utworzenie modala po kliknieciu na "przelewy online" lub "karta platnicza"
-let ifChosenNewPaymentMethod=false;
+let ifChosenNewPaymentMethod = false;
function showPaymentMethodModal(method){
app_shop.fn.paymentModal = new Modal({
element: $(`.${method}__methods`),
@@ -1481,7 +1491,7 @@ async function updateCode(){
// Pokazanie błędu
const { message } = rebateStatus?.data?.activateRebateCode?.error;
addError(rebateCode);
- rebateCode.insertAdjacentHTML("afterend",`${message}. `);
+ addErrorMessage(rebateCode, message);
// Schowaj kod (show=false, error=true)
toggleActiveCode(false, true);
}
@@ -1521,7 +1531,7 @@ function toggleActiveCode(show, error=false){
rebateOptionWrapper.style.display = show ? "none" : "flex";
rebateActiveWrapper.style.display = show ? "block" : "none";
- if(!error)rebateCodeContainer.classList.remove("--fade-in");
+ if(!error) rebateCodeContainer.classList.remove("--fade-in");
else rebateCodeContainer.classList.add("--fade-in");
// zmień wartości
@@ -1558,7 +1568,7 @@ rebateCode.addEventListener("keydown", e=>{
// ZŁOŻENIE ZAMÓWIENIA
// Zwaliduj wszystkie dostępne inputy zawierające dane klienta i dane adresowe
-function validateAllInputs(){
+async function validateAllInputs(){
// Zmienna trzymająca informację czy wystąpił jakiś błąd
let allGood = true;
@@ -1569,12 +1579,12 @@ function validateAllInputs(){
}
if(!document.querySelector(".--logged")){
// Sprawdzenie emaila i telefonu
- allGood = validateRequest(document.getElementById("client_email"), true) && allGood;
+ allGood = await validateRequest(document.getElementById("client_email"), true) && allGood;
allGood = validatePhone(document.getElementById("client_phone")) && allGood;
// Sprawdzenie nazwy firmy i nipu
if(document.getElementById("client_type1").checked){
allGood = validateNotEmpty(document.getElementById("client_firm")) && allGood;
- allGood = validateRequest(document.getElementById("client_nip"), true) && allGood;
+ allGood = await validateRequest(document.getElementById("client_nip"), true) && allGood;
}
// Sprawdzenie reszty pól
allGood = validateFormInputs("client") && allGood;
@@ -1586,13 +1596,13 @@ function validateAllInputs(){
}
return allGood
}
-function validateFormInputs(query){
+async function validateFormInputs(query){
let isFormGood = true;
isFormGood = validateNotEmpty(document.getElementById(`${query}_firstname`)) && isFormGood;
isFormGood = validateNotEmpty(document.getElementById(`${query}_lastname`)) && isFormGood;
isFormGood = validateStreet(document.getElementById(`${query}_street`)) && isFormGood;
- isFormGood = validateRequest(document.getElementById(`${query}_zipcode`),true) && isFormGood;
+ isFormGood = await validateRequest(document.getElementById(`${query}_zipcode`),true) && isFormGood;
isFormGood = validateNotEmpty(document.getElementById(`${query}_city`)) && isFormGood;
return isFormGood;