<div class="registration-membership-summary registration_hide" data-modal-title='Test Are you sure' data-modal-subtitle='Subtitle' data-modal-primary='REMOVE' data-modal-secondary='CANCEL'>
    <div class="title">
        <h1 class="registration-form-title">
            Membership details
        </h1>
    </div>
    <div class="sub-title">
        <h2 class="registration-membership-sub-title">Please check that the below information is correct before making payment.</h2>
    </div>

    <div class="registration-error registration-server-error registration_hide" role="alert">
        <span class="registration-error-message">sitecore api error</span>
    </div>
    <div class="separator"></div>

    <div class="minor-title">
        <h2 class="registration-membership-minor-title">Membership</h2>
    </div>
    <div class="sub-title">
        <h2 class="registration-form-sub-title">

        </h2>
    </div>

    <div class="registration-membership-container" data-adult-mebership-count="Adult Membership x" data-junior-membership-count="Junior Membership x" data-england-supports-travel-club-expiring=" x England Supporters Travel Club expiring">
        <div class="registration-member registration-member--primary">
            <div class="bar"></div>
            <div class="container">
                <div class="heading">
                    <span class="heading__key">TOTAL COST</span>
                    <span class="heading__value">500.00</span>
                </div>
                <div class="detail">
                    <div class="info-template registration_hide">
                        <span class="info__key"></span>
                        <span class="info__value"></span>
                    </div>
                    <div class="info">
                        <span class="info__key">Adult Membership x1</span>
                        <span class="info__value">£5.00</span>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <div class="adults-memberships-container" data-adult-membership-details='Adult Membership Details'>
        <div class="separator"></div>
        <div class="registration-member registration-member--secondary-with-header">
            <div class="bar"></div>
            <div class="container">
                <div class="heading">
                    <span class="heading__key">Junior Membership Details</span>
                    <span class="heading__value">500.00</span>
                </div>
                <div class="detail">
                    <div class="info-header registration_hide">
                        <span class="info__key">Name</span>
                        <span class="info__value">info-header-value</span>
                    </div>
                    <div class="info-template registration_hide">
                        <span class="info__key"></span>
                        <span class="info__value"></span>
                    </div>
                    <div class="info">
                        <span class="info__key">FAN</span>
                        <span class="info__value">DOB: 02/02/2002</span>
                    </div>
                </div>
            </div>
        </div>

    </div>

    <div class="juniors-memberships-container">
        <div class="separator"></div>
        <div class="junior-membership-template registration_hide" data-order-item-id=''>
            <div class="registration-member registration-member--secondary-with-header">
                <div class="bar"></div>
                <div class="container">
                    <div class="heading">
                        <span class="heading__key">Junior Membership Details</span>
                        <span class="heading__value">500.00</span>
                    </div>
                    <div class="detail">
                        <div class="info-header registration_hide">
                            <span class="info__key">Name</span>
                            <span class="info__value">info-header-value</span>
                        </div>
                        <div class="info-template registration_hide">
                            <span class="info__key"></span>
                            <span class="info__value"></span>
                        </div>
                        <div class="info">
                            <span class="info__key">FAN</span>
                            <span class="info__value">DOB: 02/02/2002</span>
                        </div>
                    </div>
                </div>
            </div>
            <div id="fan">
                <a id="remove-junior" class="link-button" href="javascript:void(0);">Remove Junior</a>
            </div>
        </div>
    </div>

    <div class="cta">
        <div class="registration-membership-summary__pay" data-orderId=''>
            <a role="button" href="/" class="cta cta--r-primary ">
                <p>
                    PAY</p>
            </a>

        </div>
        <div class="registration-membership-summary__add-junior">
            <a role="button" href="/" class="cta cta--r-secondary ">
                <p>
                    ADD JUNIOR</p>
            </a>

        </div>
    </div>
</div>

No notes defined.

{
  "title": {
    "copy": "Membership details"
  },
  "sub-title-one": {
    "copy": "Please check that the below information is correct before making payment."
  },
  "sub-title": {
    "copy": ""
  },
  "minor-title": {
    "copy": "Membership"
  },
  "total-cost": {
    "copy": "TOTAL COST"
  },
  "adult-membershipx1": {
    "copy": "Adult Membership x1"
  },
  "adult-membershipx1-price": {
    "copy": "£75.00"
  },
  "total-cost-price": {
    "copy": "£105.00"
  },
  "junior-membershipx1": {
    "copy": "Junior Membership x1"
  },
  "junior-membershipx1-price": {
    "copy": "£30.00"
  },
  "adult-membership-details": {
    "copy": "Adult Membership details"
  },
  "adult-membership-name": {
    "copy": "Name"
  },
  "adult-membership-name-detail": {
    "copy": "Name of Adult"
  },
  "adult-membership-fan": {
    "copy": "FAN"
  },
  "adult-membership-fan-detail": {
    "copy": "47894344"
  },
  "remove-junior": {
    "copy": "Remove Junior"
  },
  "popup-title": {
    "copy": "Are you sure you want to remove junior?"
  },
  "popup-para": {
    "copy": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum iste optio fugit totam mollitia? Quisquam impedit, provident ipsa fuga vel aspernatur ipsam unde labore quasi doloremque ea harum, amet possimus?"
  },
  "yes-button": {
    "copy": "YES"
  },
  "no-button": {
    "copy": "NO"
  },
  "btn-1": {
    "copy": "PAY"
  },
  "btn-2": {
    "copy": "ADD JUNIOR"
  }
}
  • Content:
    /* eslint-disable compat/compat */
    /* eslint-disable operator-linebreak */
    import { showRegistrationLoader } from '../../registration-loader/registration-loader';
    import { hideClass } from '../../registration-error/registration-error';
    import {
      hideServerError,
      showServerError,
    } from '../../registration-server-error/registration-server-error';
    import {
      currentPage,
      getNode,
      onComponentVisible,
      showStep,
      parentChildList,
      cloneElement,
      nevigateToNext,
      focusBackBtn,
    } from '../../registrationUtility';
    import {
      GET,
      membershipRegisterPath,
      getMembershipOrderDetailPath,
      removeJuniorRegistrationPath,
    } from '../../service';
    
    import {
      handleConfirmPrimaryBtn,
      conformDialogPrimaryBtn,
      setDialogTitle,
      setDialogSubTitle,
      setConfirmDialogPrimaryCtaText,
      setConfirmDialogSecondaryCtaText,
    } from '../../registration-confirm-modal/registration-confirm-modal';
    
    export default (
      currentElement,
      addJuniorOption,
      registrationConfirmModalElement
    ) => {
      const registrationMembershipContainer = currentElement.querySelector(
        '.registration-membership-container'
      );
      const juniorMembershipSeparator = currentElement.querySelector(
        '.juniors-memberships-container .separator'
      );
      const removeJuniorButton = currentElement.querySelector('.link-button');
      const englandSupportsTravelClubExpiring = registrationMembershipContainer.getAttribute(
        'data-england-supports-travel-club-expiring'
      );
      const adultMembershipCost = currentElement.querySelector(
        '.registration-membership-container .detail .info .info__value'
      );
      const juniorMembershipCount = registrationMembershipContainer.getAttribute(
        'data-junior-membership-count'
      );
      const totalCost = currentElement.querySelector(
        '.registration-membership-container .heading__value'
      );
      const expirySubtitle = currentElement.querySelector(
        '.registration-form-sub-title'
      );
      const [totalCostContainer, infoTemplate] = currentElement.querySelectorAll(
        '.registration-membership-container .detail, .registration-membership-container .info-template'
      );
      const addJuniorBtn = currentElement.querySelector(
        '.registration-membership-summary__add-junior .cta--r-secondary'
      );
      const haveJunior = addJuniorOption.querySelector(
        '.registration-add-junior-option__yes '
      );
      const addJuniorBtnClicker = e => {
        e.preventDefault();
        if (addJuniorBtn.classList.contains('cta--r-secondary')) {
          currentElement.classList.add(hideClass);
          addJuniorOption.nextElementSibling.classList.remove(
            'registration_skip',
            'registration_hide'
          );
          nevigateToNext(addJuniorOption);
        }
      };
      const generateJunior = juniorData => {
        const juniorDetail = currentElement.querySelector(
          '.junior-membership-template'
        );
    
        juniorData.forEach(element => {
          const juniorClone = juniorDetail.cloneNode(true);
          const [headingValue, infoValue] = juniorClone.querySelectorAll(
            '.info-header .info__value, .info .info__value'
          );
    
          juniorClone.classList.add('junior-membership-container');
          juniorClone.classList.remove('registration_hide');
          juniorClone.classList.remove('junior-membership-template');
          juniorClone.setAttribute('data-order-item-id', element.orderItemId);
          headingValue.innerText = element.customerDisplayName;
          infoValue.innerText = element.fanCode;
          juniorDetail.parentElement.appendChild(juniorClone);
        });
      };
    
      const juniorCostDetails = (orderData, adult, junior) => {
        if (junior.length > 0) {
          const juniorTotalCost = cloneElement(infoTemplate);
    
          juniorMembershipSeparator.classList.remove(hideClass);
          juniorTotalCost.classList.add('info', 'junior');
          const [infoKey, infoValue] = juniorTotalCost.querySelectorAll(
            '.info__key, .info__value'
          );
    
          infoKey.innerText = `${juniorMembershipCount}${junior.length}`;
          if (adult.totalAmount) {
            infoValue.innerText = ${(
              orderData.orderResponse.totalAmount - adult.totalAmount
            ).toFixed(2)}`;
          } else {
            infoValue.innerText = ${orderData.orderResponse.totalAmount.toFixed(
              2
            )}`;
          }
          totalCostContainer.appendChild(juniorTotalCost);
        } else {
          juniorMembershipSeparator.classList.add(hideClass);
        }
      };
    
      const addJuniorButton = junior => {
        addJuniorBtn.classList.add('cta--r-disabled');
        addJuniorBtn.classList.remove('cta--r-secondary');
        const isValidJuniorCount =
          haveJunior.getAttribute('data-junior').toLowerCase() === 'true' &&
          junior.length < 5;
    
        if (isValidJuniorCount) {
          addJuniorBtn.classList.add('cta--r-secondary');
          addJuniorBtn.classList.remove('cta--r-disabled');
        }
        addJuniorBtn.setAttribute('aria-disabled', !isValidJuniorCount);
        addJuniorBtn.setAttribute('disabled', !isValidJuniorCount);
      };
    
      const removeJuniors = () => {
        currentElement
          .querySelectorAll('.junior-membership-container')
          .forEach(element => element.remove());
      };
      const removeJuniorCost = () => {
        currentElement
          .querySelectorAll('.registration-membership-container .detail .junior')
          .forEach(element => element.remove());
      };
    
      function triggerContentChange() {
        const event = new Event('contentchange');
    
        currentElement.dispatchEvent(event);
      }
      const removeJuniorRegistration = async (orderId, orderItemId) => {
        const removeRes = await GET(
          removeJuniorRegistrationPath(orderId, orderItemId)
        );
    
        if (removeRes.success) {
          const { adult, junior } = parentChildList(
            removeRes.orderResponse.orderItems,
            removeRes.orderResponse.customerFancode
          );
    
          if (
            removeRes.orderResponse.customerFancode !==
              removeRes.orderResponse.orderItems[0].fanCode &&
            junior.length === 1
          ) {
            removeJuniorButton.classList.add(hideClass);
          } else {
            removeJuniorButton.classList.remove(hideClass);
          }
          removeJuniorCost();
          removeJuniors();
          totalCost.innerText = ${removeRes.orderResponse.totalAmount.toFixed(
            2
          )}`;
          expirySubtitle.innerText = `${
            removeRes.orderResponse.orderItems.length
          }${englandSupportsTravelClubExpiring} ${
            removeRes.orderResponse.expiryDate
          }`;
          juniorCostDetails(removeRes, adult, junior);
          generateJunior(junior);
          addJuniorButton(junior);
          triggerContentChange();
        }
      };
    
      const controller = new AbortController();
      let removeJuniorCtaClicked;
    
      onComponentVisible(currentElement, async () => {
        removeJuniorCtaClicked = false;
        if (currentPage.isAdultRegistered === 'false') {
          showStep('08');
        }
        focusBackBtn();
        currentPage.page = currentElement;
        hideServerError(currentElement);
        const payBtn = currentElement.querySelector(
          '.registration-membership-summary__pay'
        );
    
        totalCostContainer.getElementsByClassName('info')[0].classList.add('adult');
    
        addJuniorBtn.addEventListener('click', e => addJuniorBtnClicker(e), {
          signal: controller.signal,
        });
        const orderData = await GET(
          getMembershipOrderDetailPath(payBtn.getAttribute('data-orderId'))
        );
    
        if (orderData.success) {
          hideServerError(currentElement);
          const { adult, junior } = parentChildList(
            orderData.orderResponse.orderItems,
            orderData.orderResponse.customerFancode
          );
          const adultCost = currentElement.querySelector(
            '.registration-membership-container .detail .adult'
          );
    
          if (
            orderData.orderResponse.customerFancode !==
              orderData.orderResponse.orderItems[0].fanCode &&
            junior.length === 1
          ) {
            removeJuniorButton.classList.add(hideClass);
          } else {
            removeJuniorButton.classList.remove(hideClass);
          }
    
          const [
            adultContainer,
            adultMembershipTitle,
            adultHeaderValue,
            adultInfoValue,
          ] = currentElement.querySelectorAll(
            '.adults-memberships-container,.adults-memberships-container .heading__key, .adults-memberships-container .info-header .info__value, .adults-memberships-container .info .info__value'
          );
    
          if (orderData.orderResponse.customerFancode === adult.fanCode) {
            adultHeaderValue.innerText = adult.customerDisplayName;
            adultInfoValue.innerText = adult.fanCode;
            adultMembershipTitle.innerText = adultContainer.getAttribute(
              'data-adult-membership-details'
            );
            adultMembershipCost.innerText = ${adult.totalAmount.toFixed(2)}`;
          } else {
            adultContainer.classList.add('registration_hide');
            adultCost.classList.add(hideClass);
          }
    
          totalCost.innerText = ${orderData.orderResponse.totalAmount.toFixed(
            2
          )}`;
    
          expirySubtitle.innerText = `${
            orderData.orderResponse.orderItems.length
          }${englandSupportsTravelClubExpiring} ${
            orderData.orderResponse.expiryDate
          }`;
          removeJuniorCost();
          removeJuniors();
          generateJunior(junior);
          triggerContentChange();
          juniorCostDetails(orderData, adult, junior);
          addJuniorButton(junior);
        } else {
          showServerError(currentElement, 'Could not find Order');
        }
      });
    
      // eslint-disable-next-line func-names
      currentElement.addEventListener('contentchange', () => {
        // const modal = currentElement.querySelector('#remove-junior-modal');
        // const yesBtn = currentElement.querySelector('.btn-yes');
        // const noBtn = currentElement.querySelector('.btn-no');
        let targetElement = null;
    
        currentElement.querySelectorAll('.link-button').forEach(btn => {
          btn.addEventListener('click', () => {
            targetElement = btn.closest('.junior-membership-container');
            setDialogTitle(currentElement.getAttribute('data-modal-title'));
            setDialogSubTitle(currentElement.getAttribute('data-modal-subtitle'));
            setConfirmDialogPrimaryCtaText(
              currentElement.getAttribute('data-modal-primary')
            );
            setConfirmDialogSecondaryCtaText(
              currentElement.getAttribute('data-modal-secondary')
            );
            registrationConfirmModalElement.showModal();
            removeJuniorCtaClicked = true;
          });
        });
        const payBtn = currentElement.querySelector(
          '.registration-membership-summary__pay'
        );
    
        payBtn.addEventListener('click', async event => {
          event.preventDefault();
          const response = await GET(
            membershipRegisterPath(payBtn.getAttribute('data-orderId'))
          );
    
          if (response.success) {
            showRegistrationLoader();
            const paymentRequest = response.paymentReq;
    
            if (paymentRequest != null) {
              getNode(
                currentElement,
                '#SmartPayRequest_MerchantReference'
              ).setAttribute('value', paymentRequest.merchantReference);
              getNode(
                currentElement,
                '#SmartPayRequest_PaymentAmount'
              ).setAttribute('value', paymentRequest.paymentAmount);
              getNode(currentElement, '#SmartPayRequest_Currency').setAttribute(
                'value',
                paymentRequest.currency
              );
              getNode(
                currentElement,
                '#SmartPayRequest_ShipBeforeDate'
              ).setAttribute('value', paymentRequest.shipBeforeDate);
              getNode(
                currentElement,
                '#SmartPayRequest_MerchantSkinCode'
              ).setAttribute('value', paymentRequest.merchantSkinCode);
              getNode(
                currentElement,
                '#SmartPayRequest_MerchantAccountCode'
              ).setAttribute('value', paymentRequest.merchantAccountCode);
              getNode(
                currentElement,
                '#SmartPayRequest_SessionValidity'
              ).setAttribute('value', paymentRequest.sessionValidity);
              getNode(
                currentElement,
                '#SmartPayRequest_MerchantReturnData'
              ).setAttribute('value', paymentRequest.merchantReturnData);
              getNode(currentElement, '#SmartPayRequest_Email').setAttribute(
                'value',
                paymentRequest.email
              );
              getNode(currentElement, '#SmartPayRequest_FanCode').setAttribute(
                'value',
                paymentRequest.fanCode
              );
              getNode(currentElement, '#SmartPayRequest_Description').setAttribute(
                'value',
                paymentRequest.description
              );
              getNode(currentElement, '#SmartPayRequest_Country').setAttribute(
                'value',
                paymentRequest.country
              );
              getNode(
                currentElement,
                '#SmartPayRequest_ShopperLocale'
              ).setAttribute('value', paymentRequest.shopperLocale);
              getNode(currentElement, '#SmartPayRequest_OrderData').setAttribute(
                'value',
                paymentRequest.orderData
              );
              getNode(
                currentElement,
                '#SmartPayRequest_MerchantSignature'
              ).setAttribute('value', paymentRequest.merchantSignature);
              getNode(
                currentElement,
                '#SmartPayRequest_RecurringContract'
              ).setAttribute('value', paymentRequest.recurringContract);
    
              // Smartpay Fuse request fields
              getNode(
                currentElement,
                '#SmartPayFuseRequest_access_key'
              ).setAttribute('value', paymentRequest.accessKey);
              getNode(
                currentElement,
                '#SmartPayFuseRequest_profile_id'
              ).setAttribute('value', paymentRequest.profileId);
              getNode(
                currentElement,
                '#SmartPayFuseRequest_transaction_uuid'
              ).setAttribute('value', paymentRequest.transactionUuid);
              getNode(
                currentElement,
                '#SmartPayFuseRequest_signed_field_names'
              ).setAttribute('value', paymentRequest.signedFieldNames);
              getNode(
                currentElement,
                '#SmartPayFuseRequest_unsigned_field_names'
              ).setAttribute('value', paymentRequest.unsignedFieldNames);
              getNode(
                currentElement,
                '#SmartPayFuseRequest_signed_date_time'
              ).setAttribute('value', paymentRequest.signedDateTime);
              getNode(currentElement, '#SmartPayFuseRequest_locale').setAttribute(
                'value',
                paymentRequest.locale
              );
              getNode(
                currentElement,
                '#SmartPayFuseRequest_transaction_type'
              ).setAttribute('value', paymentRequest.transactionType);
              getNode(
                currentElement,
                '#SmartPayFuseRequest_reference_number'
              ).setAttribute('value', paymentRequest.merchantReference);
              getNode(currentElement, '#SmartPayFuseRequest_amount').setAttribute(
                'value',
                paymentRequest.paymentAmount
              );
              getNode(currentElement, '#SmartPayFuseRequest_currency').setAttribute(
                'value',
                paymentRequest.currency
              );
              getNode(
                currentElement,
                '#SmartPayFuseRequest_signature'
              ).setAttribute('value', paymentRequest.signature);
    
              getNode(currentElement, '#PaymentForm').setAttribute(
                'action',
                paymentRequest.paymentGatewayUrl
              );
              getNode(currentElement, '#PaymentForm').submit();
            }
          } else {
            showServerError(currentElement, response.error);
          }
        });
        // yesBtn.addEventListener('click', async () => {
        //   if (targetElement) {
        //     removeJuniorRegistration(
        //       payBtn.getAttribute('data-orderId'),
        //       targetElement.getAttribute('data-order-item-id')
        //     );
        //   }
        //   modal.style.display = 'none';
        // });
    
        conformDialogPrimaryBtn.addEventListener('click', e => {
          if (removeJuniorCtaClicked) {
            e.preventDefault();
            handleConfirmPrimaryBtn(() => {
              removeJuniorRegistration(
                payBtn.getAttribute('data-orderId'),
                targetElement.getAttribute('data-order-item-id')
              );
            });
            removeJuniorCtaClicked = false;
          }
        });
    
        // noBtn.addEventListener('click', () => {
        //   modal.style.display = 'none';
        //   targetElement = null;
        // });
      });
    };
    
  • URL: /components/raw/registration-membership-summary/registration-membership-summary.js
  • Filesystem Path: src/library/modules/registration/registration-self/registration-membership-summary/registration-membership-summary.js
  • Size: 16.4 KB
  • Content:
    .registration-membership-summary {
      & > .cta {
        margin-top: 40px;
        gap: 24px;
    
        .cta--r-secondary,
        .cta--r-primary {
          min-height: 44px;
          font-size: 16px;
          margin-bottom: 15px;
        }
      }
      .registration-membership-minor-title {
        font-family: $registration-font;
        font-size: 16px;
        line-height: 24px;
        font-weight: 700;
      }
      .registration-form-sub-title {
        margin-bottom: 24px;
        margin-top: 0;
      }
    
      .info__key {
        width: 50%;
      }
      .info__value {
        text-transform: capitalize;
        width: 50%;
        text-align: right;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
    
      .registration-membership-sub-title {
        font-family: $registration-font;
        font-weight: 400;
        font-size: 16px;
        color: $light-blue;
        line-height: 24px;
        margin-top: 24px;
    
        @media screen and (max-width: $mq-medium) {
          font-size: 16px;
        }
      }
    
      .membership-container {
        margin-bottom: 32px;
        border: 1px solid $blue-accent3;
        border-radius: 8px;
        background-color: $light-red;
      }
    
      .adult-membership-container {
        margin-bottom: 20px;
        height: 96px;
        width: 100%;
        border: 1px solid $blue-accent3;
        border-top-right-radius: 8px;
        border-bottom-right-radius: 8px;
        background-color: $light-red;
      }
    
      .total-cost {
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 700;
        line-height: 24px;
        text-align: left;
        color: $white;
        padding-left: 17px;
      }
    
      .details-adult {
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        text-align: left;
        color: $white;
        padding-left: 17px;
      }
    
      .membership-details {
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        text-align: left;
        color: $white;
        padding-left: 17px;
      }
    
      .price {
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        text-align: right;
        color: $white;
        padding-right: 17px;
      }
    
      .membership-container .info {
        padding: 4px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid $blue-accent4;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        background-color: $blue-accent5;
      }
    
      .adult-membership-container .info {
        padding: 3.6px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom: 1px solid $blue-accent4;
        background-color: $blue-accent5;
      }
    
      .membership-container .info.total-cost {
        background-color: $alto1;
        border-top-left-radius: 8px;
        border-top-right-radius: 8px;
      }
    
      .adult-membership-container .info.details-adult {
        background-color: $alto1;
        border-top-right-radius: 8px;
      }
    
      .membership-container .info:last-child {
        border-bottom: none;
      }
    
      .adult-membership-container .info:last-child {
        border-bottom: none;
        border-bottom-right-radius: 8px;
      }
    
      .adult-membership-wrapper {
        display: flex;
        align-items: flex-start;
      }
    
      .left-border {
        width: 8px;
        height: 96px;
        background-color: $blue-accent5;
        border-radius: 2px, 0, 0, 2px;
        margin-right: 3px;
      }
    
      .separator {
        width: 100%;
        height: 2px;
        background-color: $blue-accent3;
        margin: 24px 0;
        border-radius: 2px;
      }
    
      .link-button {
        color: $light-blue;
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 400;
        line-height: 26px;
        letter-spacing: -0.01em;
        text-decoration: underline;
        cursor: pointer;
      }
    
      .link-button:hover {
        color: $white;
        font-weight: 700;
      }
    
      #fan {
        text-align: end;
        margin-top: 16px;
        margin-bottom: 50px;
      }
    
      .modal-remove {
        position: fixed;
        z-index: 1;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: $light-black;
        justify-content: center;
        align-items: center;
        overflow: hidden;
      }
    
      .modal-remove-content {
        background-color: $white;
        padding-top: 80px;
        padding-left: 20px;
        padding-right: 20px;
        border: 1px solid $light-red1;
        width: 90%;
        max-height: 80vh;
        max-width: 600px;
        text-align: left;
        top: 288px;
        left: 416px;
        overflow-y: auto;
        border-radius: 8px 8px 8px 8px;
        box-sizing: border-box;
      }
    
      .modal-remove-content h2 {
        margin-bottom: 24px;
        padding-bottom: 10px;
        color: $dark-black;
        font-family: $registration-font;
        font-size: 26px;
        font-weight: 400;
        line-height: 28px;
        letter-spacing: -0.01em;
        text-align: left;
      }
    
      .modal-remove-content p {
        color: $dark-black;
        margin-bottom: 20px;
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        text-align: left;
      }
    
      .modal-remove-content .btn-remove-container {
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        gap: 20px;
        border-radius: 2px;
        border: 1px;
        margin-bottom: 24px;
      }
    
      .modal-remove-content .btn-remove-container button {
        width: 100%;
        padding: 10px;
        border: none;
        cursor: pointer;
        border-radius: 4px;
        font-size: 16px;
        color: white;
        transition: background-color 0.3s, color 0.3s, border 0.3s;
      }
    
      .modal-remove-content .btn-yes {
        background-color: $red-rj;
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 700;
        line-height: 26px;
        letter-spacing: -0.01em;
        text-align: center;
      }
    
      .modal-remove-content .btn-no {
        background-color: $blue-accent6;
        font-family: $registration-font;
        font-size: 16px;
        font-weight: 700;
        line-height: 26px;
        letter-spacing: -0.01em;
        text-align: center;
      }
    
      .modal-remove-content .btn-yes:hover {
        background-color: $white;
        color: $blue;
        border: 1px solid $blue;
      }
    
      .modal-remove-content .btn-no:hover {
        background-color: $white;
        color: $blue;
        border: 1px solid $blue;
      }
    }
    
    @media screen and (min-width: $mq-medium) {
      .registration-membership-summary {
        .modal-remove {
          .modal-remove-content {
            .btn-remove-container {
              flex-direction: row;
            }
          }
        }
      }
    }
    
    @media screen and (max-width: $mq-medium) {
      .registration-membership-summary {
        .link-button {
          padding: 16px 0;
        }
      }
    }
    
  • URL: /components/raw/registration-membership-summary/registration-membership-summary.scss
  • Filesystem Path: src/library/modules/registration/registration-self/registration-membership-summary/registration-membership-summary.scss
  • Size: 6.4 KB
<div class="registration-membership-summary registration_hide" data-modal-title='Test Are you sure' data-modal-subtitle='Subtitle' data-modal-primary='REMOVE' data-modal-secondary='CANCEL'>
  <div class="title">
    {{render '@registration-form-title' title}}
  </div>
  <div class="sub-title">
    <h2 class="registration-membership-sub-title">{{sub-title-one.copy}}</h2>
  </div>

  {{!-- adding error --}}
  {{render '@registration-server-error'}}
  <div class="separator"></div>


  <div class="minor-title">
    <h2 class="registration-membership-minor-title">{{minor-title.copy}}</h2>
  </div>
  <div class="sub-title">
    {{render '@registration-form-sub-title' sub-title}}
  </div>

  <div class="registration-membership-container" data-adult-mebership-count="Adult Membership x"
    data-junior-membership-count="Junior Membership x"
    data-england-supports-travel-club-expiring=" x England Supporters Travel Club expiring">
    {{render '@registration-member' registration-mem-secondary merge="true"}}
  </div>


  <div class="adults-memberships-container" data-adult-membership-details='Adult Membership Details'>
    <div class="separator"></div>
    {{render '@registration-member--secondary-with-header' registration-mem-secondary merge="true"}}

  </div>

  <div class="juniors-memberships-container">
    <div class="separator"></div>
    <div class="junior-membership-template registration_hide" data-order-item-id=''>
      {{render '@registration-member--secondary-with-header' registration-mem-secondary merge="true"}}
      <div id="fan">
        <a id="remove-junior" class="link-button" href="javascript:void(0);">Remove Junior</a>
      </div>
    </div>
  </div>

  <div class="cta">
    <div class="registration-membership-summary__pay" data-orderId=''>
      {{render '@cta--r-primary' btn-1 merge="true"}}
    </div>
    <div class="registration-membership-summary__add-junior">
      {{render '@cta--r-secondary' btn-2 merge="true"}}
    </div>
  </div>
</div>