From 6abd0cfc5c31b5bd20133ce46e648026758b7638 Mon Sep 17 00:00:00 2001 From: prafullnavkar-nxg Date: Wed, 25 Oct 2023 21:19:40 +0530 Subject: [PATCH] change plans and handle mailgun error --- apps/OpenSign/src/assets/images/checkmark.png | Bin 0 -> 805 bytes .../src/components/sidebar/Sidebar.js | 5 +- apps/OpenSign/src/json/plansArr.json | 62 + apps/OpenSign/src/layout/HomeLayout.js | 2 +- apps/OpenSign/src/routes/PlanSubscriptions.js | 726 ++--------- apps/OpenSign/src/styles/plansubscription.css | 1074 ----------------- apps/OpenSign/src/styles/sidebar.css | 0 apps/OpenSignServer/index.js | 74 +- 8 files changed, 200 insertions(+), 1743 deletions(-) create mode 100644 apps/OpenSign/src/assets/images/checkmark.png create mode 100644 apps/OpenSign/src/json/plansArr.json delete mode 100644 apps/OpenSign/src/styles/plansubscription.css delete mode 100644 apps/OpenSign/src/styles/sidebar.css diff --git a/apps/OpenSign/src/assets/images/checkmark.png b/apps/OpenSign/src/assets/images/checkmark.png new file mode 100644 index 0000000000000000000000000000000000000000..10a3aaf164d06709b3e1634ed3c49f041724ad2a GIT binary patch literal 805 zcmV+=1KRwFP)a-22b$?wh#)j^j9v<2a6!Ouj6K&+CxlI!q~EaXysXfs&tkkbDL45lju) z8W7+8Q~bZf<2G1N$$>G8*Mo1tYN=gILHwy=03;7!u_}<0K6a8BDrFi{d@ZDU?o4;8d|*KLHLCxSV`@i2jaJe**^?x5uXd6ed$If zI~`W?c)g+c@9=_^uu^l|OepR#-1{eBEs`^a;(K&RR#Ju4P&^zGzz@9zwo+=}43IoA z%>G$eOYt#7xAz(?xw){Cmv08~P-pR9p4SaMw(kd+zFC5AbtoXyC-!$l0Al3-T*SiC5VM|-UsoAF}~!f z30*H$sE3k%LjZdb8;UQ6JfzykeLa$EhNXWSC{-gih#!Z{RJnEC7X4cJ?S|sNz{@Gb z3UQ}lxeh{cYqVc=xYzL7JA~NrWv$+bgf}aF$Z%%Dx6(-Qk91=cOG-+HrCS~^^#g7! zez3t1;5Vqk3dEX{jtC)iqp>(=)Ze9c%m&E|LjcDSf7u!+z8WEfu2JW8(Evy`BJn)lVmQdGG|s~sB<#$aRwszFNu>C*!(G)C()lyss;%5~CnA|B+Vo { - {" "} + + + + diff --git a/apps/OpenSign/src/json/plansArr.json b/apps/OpenSign/src/json/plansArr.json new file mode 100644 index 000000000..86fab208e --- /dev/null +++ b/apps/OpenSign/src/json/plansArr.json @@ -0,0 +1,62 @@ +[ + { + "planName": "SELF HOSTED", + "currency": "", + "price": "Free", + "subtitle": "Free for life One click install.", + "btnText": "Visit github", + "url": "https://github.com/opensignlabs/opensign", + "benefits": [ + "Sign Unlimited Documents", + "S3 Doc Storage", + "Unlimited Guest Signers", + "Unlimited completion certificates", + "Unique Code(OTP) verification for guest signers", + "Expiring docs & reject signature support", + "PDF Template Creation(coming soon)", + "Audit Trails", + "API support", + "Add-ons support(coming soon)", + "Self hosted cloud infrastructure", + "Free for lifetime", + "Community support" + ] + }, + { + "planName": "THANKS PLAN", + "currency": "$", + "price": "29.99", + "subtitle": "Get this for free if you have promo code in next step", + "btnText": "Subscribe", + "url": "https://subscriptions.zoho.in/subscribe/ef798486e6a0a11ea65f2bae8f2af901dbadf3175d495584fd25b9af5d2f2b9e/thanks", + "benefits": [ + "Sign Unlimited Documents", + "Unlimited Secure Doc Storage with OpenSignDrive", + "Unlimited Guest Signers", + "Unlimited completion certificates", + "Unique Code(OTP) verification for guest signers", + "Expiring docs & reject signature support", + "PDF Template Creation(coming soon)", + "Audit Trails", + "API support", + "Add-ons support(coming soon)", + "Self hosted cloud infrastructure" + ] + }, + { + "planName": "ENTERPRISE", + "currency": "", + "price": "Request Price", + "subtitle": "Customization available Priority support.", + "btnText": "Contact us", + "url": "https://www.opensignlabs.com/contact-us", + "benefits": [ + "All features", + "Custom domain", + "Whitelabeling", + "Uptime SLA", + "SSO support", + "24/7 support" + ] + } +] \ No newline at end of file diff --git a/apps/OpenSign/src/layout/HomeLayout.js b/apps/OpenSign/src/layout/HomeLayout.js index 55bbb864a..579d4924d 100644 --- a/apps/OpenSign/src/layout/HomeLayout.js +++ b/apps/OpenSign/src/layout/HomeLayout.js @@ -175,7 +175,7 @@ const HomeLayout = ({ children }) => {
{children}
-
+
diff --git a/apps/OpenSign/src/routes/PlanSubscriptions.js b/apps/OpenSign/src/routes/PlanSubscriptions.js index 294cc734c..cc642a3e3 100644 --- a/apps/OpenSign/src/routes/PlanSubscriptions.js +++ b/apps/OpenSign/src/routes/PlanSubscriptions.js @@ -1,6 +1,16 @@ import React, { useState, useEffect } from "react"; -import "../styles/plansubscription.css"; import { useNavigate } from "react-router"; +import { NavLink } from "react-router-dom"; +import checkmark from "../assets/images/checkmark.png"; +import plansArr from '../json/plansArr.json' +const listItemStyle = { + paddingLeft: '20px', // Add padding to create space for the image + backgroundImage: `url(${checkmark})`, // Set your image as the list style image + backgroundPosition: 'left', + backgroundRepeat: 'no-repeat', + backgroundSize: '16px 16px', // Adjust the size of the image +}; + const PlanSubscriptions = () => { const navigate = useNavigate(); const [yearlyVisible, setYearlyVisible] = useState(false); @@ -28,9 +38,9 @@ const PlanSubscriptions = () => { // eslint-disable-next-line }, []); - const toggleFrequency = () => { - setYearlyVisible(!yearlyVisible); - }; + // const toggleFrequency = () => { + // setYearlyVisible(!yearlyVisible); + // }; return ( <> @@ -54,6 +64,7 @@ const PlanSubscriptions = () => { ) : (
{ >
-
-
-
-
-
    -
  • - +
  • +
  • + +
  • +
+
*/} +
+
    + {plansArr.map((item) => ( +
  • +
    +

    + {item.planName} +

    +
    + freeimg +
    +
    + + {item.currency && {item.currency}} + {item.price} + +
    - Monthly - -
  • -
  • -
+
+
+ - Yearly - - + {item.btnText} + +
+
+
+
    + {item.benefits.map((subitem, index) => ( +
  • + + {subitem} + +
  • + ))}
-
-
-
-
-
    -
  • -
    -

    Free

    -
    - freeimg -
    -
    - - - - - {" "} - 0{" "} - - - - - Billed Monthly - - - - Subscribe - - -
    -
      -
    • -

      - Sign upto 5 documents per month -

      -
    • -
    • -

      - 5GB secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    -
    -
  • -
  • -
    -

    PROFESSIONAL

    -
    - professionalimg -
    -
    - - - - - {" "} - 999{" "} - - - - - Billed Monthly - - - - Subscribe - - -
    -
      -
    • -

      - Sign upto 50 documents per month -

      -
    • -
    • -

      - 50GB secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    -
    -
  • -
  • -
    -

    PREMIUM

    -
    - premiumimg -
    -
    - - - - - {" "} - 1999{" "} - - - - - Billed Monthly - - - - Subscribe - - -
    - -
      -
    • -

      - Sign unlimited documents -

      -
    • -
    • -

      - Unlimited secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    -
    -
  • -
  • -
    -

    ELITE

    -
    - eliteimg -
    -
    - - - - - {" "} - 3999{" "} - - - - - Billed Monthly - - - - Subscribe - - -
    -
      -
    • -

      - Sign upto 50 documents per month -

      -
    • -
    • -

      - Unlimited secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    • -

      - Premium support included{" "} -

      -
    • -
    • -

      - SSO supported -

      -
    • -
    -
    -
  • -
-
-
-
- - -
-
-
-
-
- -
-
- -
-
-
    -
  • -
    -

    Free

    -
    - freeyimg -
    -
    - - - - - {" "} - 0{" "} - - - - - Billed Yearly - - - - Subscribe - - -
    -
      -
    • -

      - Sign upto 5 documents per month -

      -
    • -
    • -

      - 5GB secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    -
    -
  • -
  • -
    -

    PROFESSIONAL

    -
    - professionalyimg -
    -
    - - - - - {" "} - 5999{" "} - - - - - Billed Yearly - - - - Subscribe - - -
    -
      -
    • -

      - Sign upto 50 documents per month -

      -
    • -
    • -

      - 50GB secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    -
    -
  • -
  • -
    -

    PREMIUM

    -
    - premiumyimg -
    -
    - - - - - {" "} - 11999{" "} - - - - - Billed Yearly - - - - Subscribe - - -
    - -
      -
    • -

      - Sign unlimited documents -

      -
    • -
    • -

      - Unlimited secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    -
    -
  • -
  • -
    -

    ELITE

    -
    - eliteyimg -
    -
    - - - - - {" "} - 23999{" "} - - - - - Billed Yearly - - - - Subscribe - - -
    -
      -
    • -

      - Sign upto 50 documents per month -

      -
    • -
    • -

      - Unlimited secure storage on OpenSignDrive™ -

      -
    • -
    • -

      - Import from Google Drive & Dropbox -

      -
    • -
    • -

      - Premium support included{" "} -

      -
    • -
    • -

      - SSO supported -

      -
    • -
    -
    -
  • -
-
-
-
+ + ))} +
diff --git a/apps/OpenSign/src/styles/plansubscription.css b/apps/OpenSign/src/styles/plansubscription.css deleted file mode 100644 index bd95065ad..000000000 --- a/apps/OpenSign/src/styles/plansubscription.css +++ /dev/null @@ -1,1074 +0,0 @@ -@import url(https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;600;700&display=swap); - -.text-semi-muted { - color: #a5a5a5 -} - -.text-bluemount { - color: #3aacee -} - -.over-flow { - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap -} - -.cursor-pointer { - cursor: pointer -} - -.float-left { - float: left -} - -.float-right { - float: right -} - -.btnss { - cursor: pointer; - border: 1px solid; - padding: 6px 12px; - text-decoration: none; - font-weight: 400 -} - -.btn-curved { - border-radius: 25px -} - -.btn-primary-outline { - color: #7952b3; - color: var(--theme-color); - border-color: #7952b3; - border-color: var(--theme-color) -} - -.btn-primary { - border-color: #7952b3; - border-color: var(--theme-color) -} - -.btn-primary, -.btn-primary-outline:hover { - color: #fff; - background-color: #7952b3; - background-color: var(--theme-color) -} - -.pricing-table .plan-block:last-child { - margin-right: 0 -} - -.pricing-table.popular { - padding-top: 35px -} - -.ml-auto { - margin-left: auto !important -} - -.plan-block { - -ms-flex: 1 0 auto; - flex: 1 0 auto; - border: 1px solid #eee; - background: #fff; - text-align: center; - margin-left: -1px; - width: 100%; - min-height: 725px; -} - -.plan-block.popular { - position: relative; - margin-top: -35px; - box-shadow: 0 6px 8px 3px #ededed -} - -.plan-block.popular:before { - content: " "; - display: block; - width: 100%; - height: 5px; - position: absolute; - background: #7952b3 !important; - background: var(--theme-color) !important; - left: 0; - top: 0; - z-index: 2 -} - -.most-popular { - text-transform: uppercase; - padding: 13px 8px 8px; - color: #e19533; - font-size: 11px; - font-weight: 400; - letter-spacing: 1px; - border-right: 1px solid #ededed; - margin-right: -1px -} - -.price-figure small { - display: inline-block; - font-size: 28px !important; - font-weight: 600; - line-height: 30px; - position: relative; - top: -5px -} - -.plan-block h3 { - color: #7952b3; - color: var(--theme-color); - font-size: 18px; - font-weight: 400; - line-height: 26px; - padding: 20px 0 0; - text-transform: uppercase; - margin-bottom: 10px; - height: 75px -} - -.pricing-img { - margin-top: 30px; - margin-bottom: 20px -} - -.pricing-img img { - height: 150px; - width: 150px; - object-fit: contain -} - -.price-figure { - margin-left: -12px; - color: #0f1719; - font-size: 44px; - font-weight: 600; - letter-spacing: 0; - line-height: 55px -} - -.plan-block .main-price { - padding: 0 10% 30px -} - -.price-term { - font-size: 14px; - margin-bottom: 15px; - min-height: 19px; - font-style: normal; - font-weight: 600 -} - -.price-caption { - color: #555; - font-size: 13px; - margin-bottom: 25px; - word-wrap: break-word -} - -.goal a { - background: #7952b3; - background: var(--theme-color); - color: #fff; - font-size: 13px; - font-weight: 600; - padding: 10px 0; - text-transform: uppercase; - width: 100%; - text-decoration: none -} - -.goal a, -.main-price span { - display: block -} - -.main-price .price-value, -.main-price .price-value span { - display: inline -} - -.price-features { - min-height: auto; - padding: 20px 10% 0 20%; - text-align: left; - word-break: break-word -} - -.price-features-common li, -.price-features li { - color: #333; - font-size: 14px; - margin-bottom: 15px; - position: relative; - line-height: 22px -} - -p { - color: #333; - font-size: 14px; - font-weight: 400; - line-height: 22px; - margin: 0 -} - -.price-features span { - font-weight: 600 -} - -.m-auto { - margin: auto -} - -.price-features-common ul, -.price-features ul { - list-style: none -} - -.price-features-common li .ticks, -.price-features li .ticks { - margin-right: 15px -} - -.price-features-common li .ticks:before, -.price-features li .ticks:before { - content: "\2714"; - display: inline-block; - color: #7952b3; - color: var(--theme-color) -} - -.price-features-common.combo_pro ul, -.price-features.combo_pro ul { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap -} - -.price-features-common.combo_pro li p:before, -.price-features.combo_pro li p:before { - color: #333 -} - -.elegant .price-features, -.elegant .price-features-common { - list-style: none -} - -.elegant .price-features-common li p:before, -.elegant .price-features li p:before { - content: "\2714"; - display: inline-block; - color: #7952b3; - color: var(--theme-color); - position: absolute; - left: -20px -} - -.clearfix:after, -.clearfix:before { - content: ""; - display: table; - clear: both -} - -.last-item { - height: 15px -} - -.solo-template-container { - position: relative; - min-height: 250px; - max-width: 650px; - border: 1px solid #7952b3; - border: 1px solid var(--theme-color); - margin: 50px auto -} - -.solo-template-container .inner-div { - height: 50px; - border-bottom: 1px solid #7952b3; - border-bottom: 1px solid var(--theme-color); - padding-left: 250px; - padding-top: 15px -} - -.solo-template-container .band-div { - margin-top: 5px; - height: 20px; - background: #7952b3; - background: var(--theme-color); - opacity: .6 -} - -.solo-template-container .price-features { - padding: 40px 0 10px 40px -} - -.solo-template-container .price-features li { - float: left; - width: 44%; - margin-right: 6% -} - -.solo-template-container .pricing-section-container { - position: absolute; - top: -20px; - left: 60px -} - -.solo-template-container .pricing-section-container .pricing-section { - padding: 25px 10px 20px 25px; - position: relative; - max-height: 150px; - max-width: 200px; - border-top: 2px solid #7952b3; - border-top: 2px solid var(--theme-color); - background: #fff; - z-index: 1000; - box-shadow: 1px 12px 28px 0 #e4e4e4 -} - -.solo-template-container .pricing-section-container .pricing-section .price-amount { - font-weight: 700; - color: #7952b3; - color: var(--theme-color); - font-size: 35px -} - -.solo-template-container .pricing-section-container .pricing-section:after { - content: ""; - display: block; - position: absolute; - bottom: -10px; - left: 0; - width: 100%; - height: 10px; - transform: rotateX(180deg); - background: linear-gradient(45deg, transparent 33.333%, #fff 0, #fff 66.667%, transparent 0), linear-gradient(-45deg, transparent 33.333%, #fff 0, #fff 66.667%, transparent 0); - background-size: 20px 40px -} - -.hv-center-container { - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: center; - justify-content: center -} - -.d-flex, -.hv-center-container { - display: -ms-flexbox; - display: flex -} - -.align-items-center { - -ms-flex-align: center; - align-items: center -} - -.text-center { - text-align: center -} - -.plans-custom { - list-style: none; - display: flex; - flex-direction: row; - justify-content: center; - align-items: baseline; -} - -.combo-container.pricing-table { - max-width: 900px; - margin: auto -} - -.combo.popular { - margin-left: -25px; - margin-right: -25px; - background-color: #fff; - border: 1px solid #eee; - position: relative; - z-index: 1; - box-shadow: 0 0 8px 3px #ececec -} - -.combo.popular .combo-plan:first-child { - border-left: 5px solid #7952b3; - border-left: 5px solid var(--theme-color) -} - -.combo.popular .combo-body { - padding: 20px -} - -.combo { - min-height: 135px; - border: 1px solid #eee; - margin-top: -1px -} - -.combo:last-child { - border-bottom: 1px solid #eee -} - -.combo .combo-wrapper { - display: -ms-flexbox; - display: flex; - width: 100% -} - -.combo .plan-name { - font-size: 18px; - font-weight: 600; - margin-bottom: 5px; - color: #7952b3; - color: var(--theme-color) -} - -.combo .combo-value { - font-size: 40px; - font-weight: 600 -} - -.combo .combo-plan { - padding: 25px 15px; - background-color: var(--theme-light-color) -} - -.combo .combo-plan .combo-currency { - position: relative; - bottom: 16px; - right: 3px -} - -.combo .combo-body { - -ms-flex-positive: 1; - flex-grow: 1; - padding: 10px -} - -.combo .combo-body .section { - padding: 10px 0 0 30px -} - -.combo .combo-body a { - text-decoration: none -} - -.combo .img-container { - display: -ms-flexbox; - display: flex; - -ms-flex-align: center; - align-items: center; - width: 60px; - height: 60px -} - -.combo .price-features-common.combo_pro li { - width: 44%; - margin-right: 6% -} - -.combo .price-features-common.combo_pro li p { - width: 100% -} - -.combo .price-features-common li p { - width: 50%; - float: left; - position: relative; - margin-bottom: 10px -} - -.combo .price-caption { - margin: 0 10px; - -ms-flex: 0 0 35%; - flex: 0 0 35%; - font-size: 12px; - padding-bottom: 10px; - background-color: var(--theme-light-color) -} - -.combo .price-caption.pro { - -ms-flex: 0 0 24%; - flex: 0 0 24% -} - -.combo .price-freq { - font-style: normal; - font-weight: 600 -} - -.elegant { - -ms-flex-pack: center; - justify-content: center; - list-style-type: none; - width: 100%; - padding-left: 0 -} - -.elegant, -.elegant .plan-item { - display: -ms-flexbox; - display: flex -} - -.elegant .plan-item { - float: left; - max-width: 335px; - -ms-flex-preferred-size: 0px; - flex-basis: 0px; - -ms-flex-positive: 1; - flex-grow: 1 -} - -.elegant-pro-popular { - padding-bottom: 50px; - box-shadow: 0 6px 8px 3px #ededed; - position: relative; - margin-top: -35px; - padding-top: 35px -} - -.plan-block .plan-name { - color: #7952b3; - color: var(--theme-color); - font-size: 14px; - font-weight: 400; - line-height: 26px; - padding: 25px 0 0; - text-transform: uppercase; - margin-bottom: 10px; - height: 100px -} - -.rounded { - border-radius: .25rem !important -} - -.ribbon { - height: 119px; - overflow: hidden; - position: absolute; - top: -6px; - left: -5px; - font-size: 14px -} - -.ribbon-inner { - text-align: center; - color: #fff; - top: 31px; - left: -35px; - width: 152px; - padding: 4px; - padding-left: 8px; - position: relative; - -ms-transform: rotate(-45deg); - transform: rotate(-45deg); - background-color: #7952b3; - background-color: var(--theme-color); - border-color: #7952b3; - border-color: var(--theme-color) -} - -.ribbon-inner:after, -.ribbon-inner:before { - content: ""; - border-top: 5px solid transparent; - border-left: 5px solid; - border-left-color: inherit; - border-right: 5px solid transparent; - border-bottom: 5px solid; - border-bottom-color: inherit; - position: absolute; - top: 17px; - -ms-transform: rotate(-45deg); - transform: rotate(-45deg) -} - -.ribbon-inner:before { - left: 2px; - border-left: 4px solid transparent -} - -.ribbon-inner:after { - right: 0; - border-bottom: 5px solid transparent -} - -@media screen and (max-width:1024px) { - .pricing-table.popular { - padding: 4% 10% 0 - } - - .price-figure { - font-size: 30px - } - .plan-block { - -ms-flex: 1 0 auto; - flex: 1 0 auto; - border: 1px solid #eee; - background: #fff; - text-align: center; - margin-left: -1px; - width: 100%; - min-height: 817px; - } - -} - -@media screen and (max-width:767px) { - .plans-custom { - list-style: none; - display: flex; - flex-direction: column; - justify-content: center; - align-items: baseline; - } - .plan-block { - -ms-flex: 1 0 auto; - flex: 1 0 auto; - border: 1px solid #eee; - background: #fff; - text-align: center; - margin-left: -1px; - width: 100%; - height: fit-content; - } - - .elegant { - display: block - } - - .elegant .plan-item { - float: none; - width: 100%; - margin: 15px auto - } - - .elegant .plan-item .elegant-pro-popular, - .elegant .plan-item .popular { - margin-top: 40px - } - - .price-figure { - font-size: 60px - } - - .price-figure small { - top: -20px - } - - .combo-wrapper { - -ms-flex-direction: column; - flex-direction: column - } - - .combo-wrapper .col-10, - .combo-wrapper .col-20, - .combo-wrapper .col-25 { - -ms-flex-preferred-size: auto; - flex-basis: auto - } - - .combo { - margin: 15px 0 - } - - .combo .combo-plan-wrapper { - text-align: center - } - - .combo .subscribe-button { - margin-bottom: 15px - } -} - -@media screen and (max-width:650px) { - - .plans-custom { - list-style: none; - display: flex; - flex-direction: column; - justify-content: center; - align-items: baseline; - } - - .combo .price-features-common.combo_pro ul { - padding-left: 10% - } - - .combo .price-features-common.combo_pro ul li { - width: 100% - } - - .currency-nav-new, - .frequency-nav-new { - display: none !important - } - - .currency-dropdown-new, - .frequency-dropown-new { - display: block !important - } -} - -@media screen and (max-width:480px) { - .plans-custom { - list-style: none; - display: flex; - flex-direction: column; - justify-content: center; - align-items: baseline; - } - - .solo-template-container .price-features li { - float: none; - width: 100% - } - - .combo { - margin: 15px 0 - } - - .combo>div { - -ms-flex: 0 0 100%; - flex: 0 0 100%; - padding: 10px !important - } - - .combo .price-features-common li p { - width: 100%; - float: none; - text-align: left - } - - .frequency-nav { - display: none - } - - .frequency-dropown { - display: block !important; - position: relative; - max-width: 336px; - margin: auto - } - - .dd-header { - border: 1px solid #7952b3; - border: 1px solid var(--theme-color); - display: -ms-flexbox; - display: flex; - position: relative; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 10px - } - - .dd-header-title { - width: 90% - } - - .dd-list { - border: 1px solid #7952b3; - border: 1px solid var(--theme-color); - border-top: none; - margin: 0 auto; - padding: 1% 0; - width: 100%; - position: absolute; - background-color: #fff; - list-style: none; - z-index: 1001 - } - - .dd-list-item { - padding: 3% - } - - .dd-list-item.active { - color: #fff; - background-color: #7952b3; - background-color: var(--theme-color) - } - - .line-arrow { - width: 8px; - height: 8px; - display: inline-block; - background-image: url('data:image/svg+xml;utf8,'); - margin-right: 15px; - margin-top: 5px; - position: relative; - z-index: 1; - background-repeat: no-repeat - } - - .line-arrow.down-arrow { - -ms-transform: rotate(-180deg); - transform: rotate(-180deg) - } -} - -@media screen and (max-width:320px) { - .plans-custom { - list-style: none; - display: flex; - flex-direction: column; - justify-content: center; - align-items: baseline; - } - - .pricing-table-main .pricing-table-header .filters { - -ms-flex-pack: center; - justify-content: center; - grid-gap: 20px; - gap: 20px - } - - .pricing-table-main .pricing-table-body { - margin-top: 0 - } -} - -.included-addons-sec { - border-top: 1px solid #ccc; - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - text-align: left -} - -.included-addons-sec.elegant { - padding-left: 14%; - padding-right: 10% -} - -.included-addons-sec.combo-template { - padding-left: 18%; - padding-right: 20% -} - -.included-addons-sec.combo-pro-template { - padding-left: 14%; - padding-right: 20% -} - -.included-addons-sec.solo-template { - padding-left: 12%; - padding-right: 20% -} - -.included-addons-sec .addon-text { - font-size: 14px; - color: #777; - font-weight: 600; - padding-top: 10px -} - -.pricing-table-body { - margin-top: 40px -} - -.pricing-table-header { - padding-bottom: 10px -} - -.pricing-table-header .filters { - -ms-flex-pack: justify; - justify-content: space-between; - -ms-flex-wrap: wrap; - flex-wrap: wrap -} - -.pricing-table-header .filters .currency-nav-new, -.pricing-table-header .filters .frequency-nav-new { - border: 1px solid #d6d6d6; - border-radius: 4px; - padding: 0 -} - -.pricing-table-header .filters .currency-nav-new .navs-new, -.pricing-table-header .filters .frequency-nav-new .navs-new { - padding: 0; - margin: 0; - list-style: none -} - -.pricing-table-header .filters .currency-nav-new .navs-new .nav-item, -.pricing-table-header .filters .frequency-nav-new .navs-new .nav-item { - padding: 4px -} - -.pricing-table-header .filters .currency-nav-new .navs-new .nav-item:not(:last-child) .nav-link, -.pricing-table-header .filters .frequency-nav-new .navs-new .nav-item:not(:last-child) .nav-link { - border-right: none -} - -.pricing-table-header .filters .currency-nav-new .navs-new .nav-link, -.pricing-table-header .filters .frequency-nav-new .navs-new .nav-link { - display: block; - cursor: pointer; - padding: 4px 7px; - border-radius: 3px -} - -.pricing-table-header .filters .currency-nav-new .navs-new .nav-link.active, -.pricing-table-header .filters .frequency-nav-new .navs-new .nav-link.active { - color: #fff; - background-color: #7952b3; - background-color: var(--theme-color) -} - -.pricing-table-header .filters .currency-nav-new { - width: 280px -} - -.pricing-table-header .filters .currency-nav-new .left-scroll, -.pricing-table-header .filters .currency-nav-new .right-scroll { - height: 100%; - display: none; - padding: 7px 6px -} - -.pricing-table-header .filters .currency-nav-new .left-scroll:hover, -.pricing-table-header .filters .currency-nav-new .right-scroll:hover { - background-color: #f7f7f7 -} - -.pricing-table-header .filters .currency-nav-new .left-scroll svg, -.pricing-table-header .filters .currency-nav-new .right-scroll svg { - width: 7px; - height: 7px -} - -.pricing-table-header .filters .currency-nav-new .left-scroll { - border-right: 1px solid #d7d7d7; - border-radius: 4px 0 0 4px -} - -.pricing-table-header .filters .currency-nav-new .right-scroll { - border-left: 1px solid #d7d7d7; - border-radius: 0 4px 4px 0 -} - -.pricing-table-header .filters .currency-nav-new .navs-new { - display: -ms-flexbox; - display: flex; - max-width: 233px; - position: absolute; - overflow-x: auto; - margin-left: 23px; - scrollbar-width: none; - -ms-overflow-style: none -} - -.pricing-table-header .filters .currency-nav-new .navs-new::-webkit-scrollbar { - display: none -} - -.pricing-table-header .filters .currency-dropdown-new, -.pricing-table-header .filters .frequency-dropown-new { - display: block; - position: relative; - -ms-flex-align: center; - align-items: center -} - -.pricing-table-header .filters .dd-header { - cursor: pointer; - border: 1px solid #d6d6d6; - border-radius: 3px; - position: relative; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 5px 9px; - width: 130px -} - -.pricing-table-header .filters .dd-list { - border: 1px solid #d6d6d6; - border-top: none; - margin: 0 auto; - padding: 1% 0; - width: 100%; - position: absolute; - background-color: #fff; - list-style: none; - z-index: 1001 -} - -.pricing-table-header .filters .dd-list-item { - padding: 3% 7%; - cursor: pointer -} - -.pricing-table-header .filters .dd-list-item.active, -.pricing-table-header .filters .dd-list-item:hover { - color: #fff; - background-color: #7952b3; - background-color: var(--theme-color) -} - -.pricing-table-header .filters .line-arrow { - height: 100% -} - -.pricing-table-header .filters .line-arrow svg { - width: 8px; - height: 8px -} - -.pricing-table-header .filters .line-arrow.down-arrow { - -ms-transform: rotate(-180deg); - transform: rotate(-180deg) -} - -.pricing-table-frequency { - margin-bottom: 40px; - text-align: center -} - -.navs { - display: inline-block; - padding-left: 0; - margin-bottom: 0; - list-style: none -} - -.navs .nav-item { - min-width: 100px; - float: left -} - -.navs .nav-item:not(:last-child) .nav-link { - border-right: none -} - -.navs .nav-link { - display: block; - cursor: pointer; - padding: 10px 25px; - border: 1px solid #7952b3; - border: 1px solid var(--theme-color) -} - -.navs .nav-link.active { - color: #fff; - background-color: #7952b3; - background-color: var(--theme-color) -} - -.frequency-dropown { - display: none -} \ No newline at end of file diff --git a/apps/OpenSign/src/styles/sidebar.css b/apps/OpenSign/src/styles/sidebar.css deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/OpenSignServer/index.js b/apps/OpenSignServer/index.js index d65239fc1..47f83dd38 100644 --- a/apps/OpenSignServer/index.js +++ b/apps/OpenSignServer/index.js @@ -32,14 +32,16 @@ const s3Options = { }, }; -// ApiPayloadConverter -// import { ApiPayloadConverter } from 'parse-server-api-mail-adapter'; -const mailgun = new Mailgun(formData); -const mailgunClient = mailgun.client({ - username: 'api', - key: process.env.MAILGUN_API_KEY, -}); -const mailgunDomain = process.env.MAILGUN_DOMAIN; +let mailgunClient; +let mailgunDomain; +if (process.env.MAILGUN_API_KEY) { + const mailgun = new Mailgun(formData); + mailgunClient = mailgun.client({ + username: 'api', + key: process.env.MAILGUN_API_KEY, + }); + mailgunDomain = process.env.MAILGUN_DOMAIN; +} export const config = { databaseURI: @@ -53,34 +55,36 @@ export const config = { publicServerURL: process.env.SERVER_URL || 'http://localhost:8080/app', // Your apps name. This will appear in the subject and body of the emails that are sent. appName: 'Open Sign', - emailAdapter: { - module: 'parse-server-api-mail-adapter', - options: { - // The email address from which emails are sent. - sender: process.env.MAILGUN_SENDER, - // The email templates. - templates: { - // The template used by Parse Server to send an email for password - // reset; this is a reserved template name. - passwordResetEmail: { - subjectPath: './files/password_reset_email_subject.txt', - textPath: './files/password_reset_email.txt', - htmlPath: './files/password_reset_email.html', + emailAdapter: process.env.MAILGUN_API_KEY + ? { + module: 'parse-server-api-mail-adapter', + options: { + // The email address from which emails are sent. + sender: process.env.MAILGUN_SENDER, + // The email templates. + templates: { + // The template used by Parse Server to send an email for password + // reset; this is a reserved template name. + passwordResetEmail: { + subjectPath: './files/password_reset_email_subject.txt', + textPath: './files/password_reset_email.txt', + htmlPath: './files/password_reset_email.html', + }, + // The template used by Parse Server to send an email for email + // address verification; this is a reserved template name. + verificationEmail: { + subjectPath: './files/verification_email_subject.txt', + textPath: './files/verification_email.txt', + htmlPath: './files/verification_email.html', + }, + }, + apiCallback: async ({ payload, locale }) => { + const mailgunPayload = ApiPayloadConverter.mailgun(payload); + await mailgunClient.messages.create(mailgunDomain, mailgunPayload); + }, }, - // The template used by Parse Server to send an email for email - // address verification; this is a reserved template name. - verificationEmail: { - subjectPath: './files/verification_email_subject.txt', - textPath: './files/verification_email.txt', - htmlPath: './files/verification_email.html', - }, - }, - apiCallback: async ({ payload, locale }) => { - const mailgunPayload = ApiPayloadConverter.mailgun(payload); - await mailgunClient.messages.create(mailgunDomain, mailgunPayload); - }, - }, - }, + } + : null, filesAdapter: new S3Adapter(s3Options), auth: { google: {