diff --git a/landingpages/landingpage/assets/images/background/dots.svg b/landingpages/landingpage/assets/images/background/dots.svg new file mode 100644 index 0000000..77e70ba --- /dev/null +++ b/landingpages/landingpage/assets/images/background/dots.svg @@ -0,0 +1,9622 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/landingpages/landingpage/assets/logo/logo.png b/landingpages/landingpage/assets/logo/logo.png new file mode 100644 index 0000000..8565f71 Binary files /dev/null and b/landingpages/landingpage/assets/logo/logo.png differ diff --git a/landingpages/landingpage/css/index.css b/landingpages/landingpage/css/index.css new file mode 100644 index 0000000..d462104 --- /dev/null +++ b/landingpages/landingpage/css/index.css @@ -0,0 +1,345 @@ +@import url('https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400..700&family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Fondamento&family=chivo&family=Bellota&family=Battambang&family=Archivo+Black&family=Didact+Gothic&family=Sedgwick+Ave&family=Rowdies'); +/* @import url('https://fonts.googleapis.com/css2?family=Chivo'); +@import url('https://fonts.googleapis.com/css2?family=Bellota'); +@import url('https://fonts.googleapis.com/css2?family=Battambang'); +@import url('https://fonts.googleapis.com/css2?family=Archivo+Black'); +@import url('https://fonts.googleapis.com/css2?family=Didact+Gothic'); +@import url('https://fonts.googleapis.com/css2?family=Rowdies'); */ + + +:root{ + + --bg-color: #fff; + + --btn-color: #fdfdfd;/* button color*/ + --btn-bg: #000;/* button bg color*/ + + --primary-text-color: #000; + --header-link-hover: #000; + --input-hover-bd-color: #000; +} + + +html { + scroll-behavior: smooth; + font-family: "Ubuntu", sans-serif; +} + + +.fondamento-family{ + font-family: "Fondamento", handwriting; + font-weight: 700; +} + +.chivo-family{ + font-family: "Chivo", sans-serif; +} + + +.bellota-family{ + font-family: "Bellota", system-ui; + font-weight: 600; +} + +.battambang-family{ + font-family: "Battambang", system-ui; + font-weight: 500; +} + +.archivo-black-family{ + font-family: "Archivo Black", sans-serif; + font-weight: 400; + line-height: 1.3; +} + +.didact-gothic-family{ + font-family: "Didact Gothic", sans-serif; + text-decoration: underline; + font-style: italic; +} + +.sedgwick-ave-family{ + font-family: "Sedgwick Ave", handwriting; + font-weight: 500; + line-height: 1.5; +} + +.rowdies-family{ + font-family: "Rowdies", system-ui; + font-weight: 400; +} + + +header{ + /* background-color: #fff; + color: #000; */ + color: #4b4b4b; +} + + +header > .collapsible-header{ + display: flex; + gap: 1rem; + width: 100%; + background-color: inherit; + place-content: center; + overflow: hidden; + transition: width 0.3s ease; +} + +.animated-collapse{ + transition: width 0.3s ease; +} + + +.header-links { + display: flex; + align-items: center; + min-width: fit-content; + border-radius: 5px; + padding: 5px 10px; + transition: background-color 0.5s, color 0.5s; +} + + +.header-links:hover { + color: #000000; + /* background-color: var(--header-link-hover); */ +} + +.primary-text-color{ + color: var(--primary-text-color); +} + + +.signup-img-section{ + background-image: url("../assets/images/home/darkbg.png"); + background-position: center; /* Center the image */ + background-repeat: no-repeat; /* Do not repeat the image */ + background-size: cover; +} + +.edge-gradient{ + background: rgb(28, 28, 28); + background: linear-gradient(83deg, #ffffff 0%, #ffffff00 20%, #ffffff00 80%, rgb(255, 255, 255) 100%); +} + +.scroller{ + /* width: max-content; + flex-wrap: nowrap; */ + animation: scroll 40s forwards linear infinite; + } + + .scroller[data-direction="right"] { + animation-direction: reverse; + } + + .scroller[data-direction="left"] { + animation-direction: forwards; + } + + .scroller[data-direction="left"] { + animation-direction: forwards; + } + + .scroller[data-speed="fast"]{ + animation-duration: 30s; + } + + .scroller[data-speed="slow"]{ + animation-duration: 80s; + } + +.opacity-0{ + opacity: 0 !important; +} + +.opacity-100{ + opacity: 100 !important; +} + +.btn{ + padding: 10px 15px; + width: max-content; + border-radius: 5px; + color: var(--btn-color); + background-color: var(--btn-bg); + justify-content: center; + align-items: center; + display: flex; + cursor: pointer; +} + +.btn:hover{ + +} + +.btn:disabled{ + cursor: default; +} + +.input{ + padding: 10px; + background-color: transparent; + border-radius: 5px; + /* outline: none; */ + min-width: 100px; + border: 1px solid #818080; + /* transition: border 0.3s; */ +} + +.input:active, .input:focus, .input:focus-within{ + border: 1px solid var(--input-hover-bd-color) !important; +} + +.carousel-container { + overflow: hidden; + white-space: nowrap; + width: 100%; + max-width: 800px; +} + +.carousel { + display: inline-block; + animation: scroll 10s linear infinite; +} + +.carousel-img { + display: inline-block; + margin: 0 20px; +} + +@keyframes scroll { + 0% { + transform: translateX(0); + } + 100% { + transform: translateX(-50%); + } +} + +.footer-link{ + color: #434242; + transition: color 0.3s; +} + +.footer-link:hover{ + color: #0b0b0b; +} + +/* Navigation dots styling */ +.dots-container { + text-align: center; + margin-top: 20px; +} + +.dot { + height: 10px; + width: 10px; + background-color: #bbb; + border-radius: 50%; + display: inline-block; + margin: 0 5px; + cursor: pointer; +} + +.dots-container .active, +.dot:hover { + background-color: #717171; +} + +/* Next & previous buttons */ +.prev, +.next { + cursor: pointer; + position: absolute; + top: 50%; + width: auto; + padding: 16px; + margin-top: -22px; + color: white; + font-weight: bold; + font-size: 18px; + transition: 0.6s ease; + border-radius: 0 3px 3px 0; + user-select: none; + z-index: 10; +} + +/* Position the "next button" to the right */ +.next { + right: 0px; + border-radius: 3px 0 0 3px; +} + +/* On hover, add a black background color with a little bit see-through */ +.prev:hover, +.next:hover { + background-color: rgba(0, 0, 0, 0.8); +} + + + +/* Style for the collapsible content such as faq commonly known as: accordion */ + +.faq{ + background-color: #fff; + color: #000000; + border: 1px solid #000; +} + +.faq-accordion { + background-color: inherit; + color: #000000; + cursor: pointer; + padding: 15px 18px; + width: 100%; + border: none; + text-align: left; + outline: none; + transition: height 0.4s; +} + +.faq .content { + padding: 0px 18px; + color: #232323; + height: max-content; + overflow: hidden; + background-color: transparent; + text-align: justify; + max-height: 0px; + transition: max-height 0.4s, padding 0.4s; +} + +.faq-accordion .active, +.faq-accordion:hover { + /* background-color: #2e2c2c; */ +} + +@media not all and (min-width: 1024px) { + header .collapsible-header { + position: fixed; + right: 0px; + flex-direction: column; + opacity: 0; + height: 100vh; + min-height: 100vh; + height: 100dvh; + width: 0vw; + justify-content: space-between; + padding: 5px; + padding-top: 5%; + padding-bottom: 5%; + place-items: end; + background-color: #e4e4e4; + color: #111111; + overflow-y: auto; + box-shadow: 3px 0px 3px 2px #9f9f9f; + } + + .header-links{ + color: #0c0c0c; + } + +} \ No newline at end of file diff --git a/landingpages/landingpage/css/tailwind-build.css b/landingpages/landingpage/css/tailwind-build.css new file mode 100644 index 0000000..7da1607 --- /dev/null +++ b/landingpages/landingpage/css/tailwind-build.css @@ -0,0 +1 @@ +/*! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent;--tw-shadow:0 0 transparent;--tw-shadow-colored:0 0 transparent;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.tw-fixed{position:fixed}.tw-absolute{position:absolute}.tw-relative{position:relative}.tw-sticky{position:sticky}.tw-left-0{left:0}.tw-left-1\/2,.tw-left-\[50\%\]{left:50%}.tw-right-3{right:.75rem}.tw-top-0{top:0}.tw-top-2{top:.5rem}.tw-top-20{top:5rem}.tw-top-3{top:.75rem}.tw-top-\[50\%\]{top:50%}.tw-z-20{z-index:20}.tw-z-50{z-index:50}.tw-z-\[10000\]{z-index:10000}.tw-m-auto{margin:auto}.tw-mx-2{margin-left:.5rem;margin-right:.5rem}.tw-mx-4{margin-left:1rem;margin-right:1rem}.tw-ml-auto{margin-left:auto}.tw-mt-10{margin-top:2.5rem}.tw-mt-2{margin-top:.5rem}.tw-mt-3{margin-top:.75rem}.tw-mt-4{margin-top:1rem}.tw-mt-5{margin-top:1.25rem}.tw-mt-8{margin-top:2rem}.tw-mt-\[5\%\]{margin-top:5%}.tw-mt-auto{margin-top:auto}.tw-flex{display:flex}.\!tw-hidden{display:none!important}.tw-hidden{display:none}.tw-h-10{height:2.5rem}.tw-h-8{height:2rem}.tw-h-\[100px\]{height:100px}.tw-h-\[150px\]{height:150px}.tw-h-\[40px\]{height:40px}.tw-h-\[50px\]{height:50px}.tw-h-\[60px\]{height:60px}.tw-h-\[80px\]{height:80px}.tw-h-\[90vh\]{height:90vh}.tw-h-fit{height:fit-content}.tw-h-full{height:100%}.tw-max-h-\[120px\]{max-height:120px}.tw-max-h-\[800px\]{max-height:800px}.tw-max-h-\[90\%\]{max-height:90%}.tw-max-h-full{max-height:100%}.tw-min-h-\[100px\]{min-height:100px}.tw-min-h-\[100vh\]{min-height:100vh}.tw-min-h-\[300px\]{min-height:300px}.tw-min-h-\[50vh\]{min-height:50vh}.tw-min-h-\[550px\]{min-height:550px}.tw-min-h-\[60vh\]{min-height:60vh}.tw-min-h-\[70vh\]{min-height:70vh}.tw-min-h-\[80px\]{min-height:80px}.tw-min-h-full{min-height:100%}.\!tw-w-full{width:100%!important}.tw-w-8{width:2rem}.tw-w-\[1000px\]{width:1000px}.tw-w-\[250px\]{width:250px}.tw-w-\[380px\]{width:380px}.tw-w-\[40px\]{width:40px}.tw-w-\[50px\]{width:50px}.tw-w-\[80px\]{width:80px}.tw-w-full{width:100%}.tw-w-max{width:max-content}.tw-min-w-\[80px\]{min-width:80px}.tw-min-w-full{min-width:100%}.tw-max-w-\[100vw\]{max-width:100vw}.tw-max-w-\[120px\]{max-width:120px}.tw-max-w-\[30\%\]{max-width:30%}.tw-max-w-\[450px\]{max-width:450px}.tw-max-w-\[50\%\]{max-width:50%}.tw-max-w-\[750px\]{max-width:750px}.tw-max-w-\[80vw\]{max-width:80vw}.tw-max-w-\[850px\]{max-width:850px}.tw--translate-x-1\/2,.tw--translate-x-\[50\%\]{--tw-translate-x:-50%}.tw--translate-x-1\/2,.tw--translate-x-\[50\%\],.tw--translate-y-\[50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw--translate-y-\[50\%\]{--tw-translate-y:-50%}.tw-scale-0{--tw-scale-x:0;--tw-scale-y:0}.tw-scale-0,.tw-scale-100{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.tw-scale-100{--tw-scale-x:1;--tw-scale-y:1}.tw-cursor-move{cursor:move}.tw-cursor-pointer{cursor:pointer}.\!tw-select-none{-webkit-user-select:none!important;user-select:none!important}.tw-select-none{-webkit-user-select:none;user-select:none}.tw-flex-col{flex-direction:column}.tw-flex-wrap{flex-wrap:wrap}.tw-place-content-center{place-content:center}.tw-place-content-end{place-content:end}.tw-place-content-around{place-content:space-around}.tw-place-items-start{place-items:start}.tw-place-items-center{place-items:center}.tw-items-center{align-items:center}.tw-justify-between{justify-content:space-between}.tw-gap-1{gap:.25rem}.tw-gap-10{gap:2.5rem}.tw-gap-2{gap:.5rem}.tw-gap-3{gap:.75rem}.tw-gap-4{gap:1rem}.tw-gap-5{gap:1.25rem}.tw-gap-6{gap:1.5rem}.tw-gap-8{gap:2rem}.tw-gap-\[10\%\]{gap:10%}.tw-gap-\[200px\]{gap:200px}.tw-gap-\[20px\]{gap:20px}.tw-space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem*var(--tw-space-y-reverse))}.tw-overflow-hidden{overflow:hidden}.tw-overflow-clip{overflow:clip}.tw-overflow-y-auto{overflow-y:auto}.tw-whitespace-break-spaces{white-space:break-spaces}.tw-text-wrap{text-wrap:wrap}.tw-rounded-full{border-radius:9999px}.tw-rounded-lg{border-radius:.5rem}.tw-rounded-md{border-radius:.375rem}.tw-rounded-xl{border-radius:.75rem}.\!tw-border-\[1px\]{border-width:1px!important}.tw-border-2{border-width:2px}.tw-border-\[1px\]{border-width:1px}.\!tw-border-solid{border-style:solid!important}.tw-border-solid{border-style:solid}.\!tw-border-black{--tw-border-opacity:1!important;border-color:rgb(0 0 0/var(--tw-border-opacity))!important}.tw-border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity))}.tw-border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.tw-border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.\!tw-bg-gray-100{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity))!important}.\!tw-bg-purple-500{--tw-bg-opacity:1!important;background-color:rgb(168 85 247/var(--tw-bg-opacity))!important}.\!tw-bg-transparent{background-color:initial!important}.tw-bg-\[\#000000af\]{background-color:rgba(0,0,0,.6862745098039216)}.tw-bg-\[\#7e22ce85\]{background-color:rgba(126,34,206,.5215686274509804)}.tw-bg-\[\#f0f0f0ef\]{background-color:hsla(0,0%,94.1%,.9372549019607843)}.tw-bg-\[\#ffe27a\]{--tw-bg-opacity:1;background-color:rgb(255 226 122/var(--tw-bg-opacity))}.tw-bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.tw-bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.tw-bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.tw-bg-transparent{background-color:initial}.tw-bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.tw-bg-opacity-0{--tw-bg-opacity:0}.tw-object-contain{object-fit:contain}.tw-object-cover{object-fit:cover}.tw-p-1{padding:.25rem}.tw-p-2{padding:.5rem}.tw-p-3{padding:.75rem}.tw-p-4{padding:1rem}.tw-p-6{padding:1.5rem}.tw-p-8{padding:2rem}.tw-p-\[2\%\]{padding:2%}.tw-p-\[4px\]{padding:4px}.tw-p-\[5\%\]{padding:5%}.tw-px-2{padding-left:.5rem;padding-right:.5rem}.tw-px-3{padding-left:.75rem;padding-right:.75rem}.tw-px-\[10\%\]{padding-left:10%;padding-right:10%}.tw-px-\[5\%\]{padding-left:5%;padding-right:5%}.tw-py-2{padding-top:.5rem;padding-bottom:.5rem}.tw-text-center{text-align:center}.\!tw-text-4xl{font-size:2.25rem!important;line-height:2.5rem!important}.\!tw-text-lg{font-size:1.125rem!important;line-height:1.75rem!important}.tw-text-2xl{font-size:1.5rem;line-height:2rem}.tw-text-3xl{font-size:1.875rem;line-height:2.25rem}.tw-text-4xl{font-size:2.25rem;line-height:2.5rem}.tw-text-5xl{font-size:3rem;line-height:1}.tw-text-6xl{font-size:3.75rem;line-height:1}.tw-text-\[18px\]{font-size:18px}.tw-text-base{font-size:1rem;line-height:1.5rem}.tw-text-lg{font-size:1.125rem;line-height:1.75rem}.tw-text-xl{font-size:1.25rem;line-height:1.75rem}.\!tw-font-semibold{font-weight:600!important}.tw-font-medium{font-weight:500}.tw-font-semibold{font-weight:600}.tw-uppercase{text-transform:uppercase}.tw-italic{font-style:italic}.tw-ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tw-leading-\[80px\]{line-height:80px}.tw-leading-relaxed{line-height:1.625}.\!tw-text-black{--tw-text-opacity:1!important;color:rgb(0 0 0/var(--tw-text-opacity))!important}.\!tw-text-blue-500{--tw-text-opacity:1!important;color:rgb(59 130 246/var(--tw-text-opacity))!important}.\!tw-text-white{--tw-text-opacity:1!important;color:rgb(255 255 255/var(--tw-text-opacity))!important}.tw-text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}.tw-text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.tw-text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity))}.tw-text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity))}.tw-text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.tw-text-purple-500{--tw-text-opacity:1;color:rgb(168 85 247/var(--tw-text-opacity))}.tw-text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.tw-text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.tw-text-yellow-400{--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity))}.tw-underline{text-decoration-line:underline}.\!tw-no-underline{text-decoration-line:none!important}.tw-opacity-0{opacity:0}.tw-opacity-100{opacity:1}.tw-shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.tw-shadow-lg,.tw-shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.tw-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.tw-shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.tw-shadow-primary{--tw-shadow-color:#fff;--tw-shadow:var(--tw-shadow-colored)}.tw-transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tw-transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tw-transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.tw-duration-300{transition-duration:.3s}.tw-duration-500{transition-duration:.5s}.tw-duration-\[0\.3s\]{transition-duration:.3s}.hover\:tw-scale-x-\[1\.02\]:hover{--tw-scale-x:1.02}.hover\:tw-scale-x-\[1\.02\]:hover,.hover\:tw-scale-x-\[1\.03\]:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:tw-scale-x-\[1\.03\]:hover{--tw-scale-x:1.03}.hover\:\!tw-bg-gray-100:hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity))!important}.hover\:\!tw-bg-gray-300:hover{--tw-bg-opacity:1!important;background-color:rgb(209 213 219/var(--tw-bg-opacity))!important}.hover\:\!tw-bg-white:hover{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity))!important}.hover\:tw-bg-black:hover{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity))}.hover\:\!tw-text-black:hover{--tw-text-opacity:1!important;color:rgb(0 0 0/var(--tw-text-opacity))!important}.hover\:tw-text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.dark\:tw-bg-\[\#16171A\]:is(.tw-dark *){--tw-bg-opacity:1;background-color:rgb(22 23 26/var(--tw-bg-opacity))}.dark\:tw-bg-\[\#80808085\]:is(.tw-dark *){background-color:hsla(0,0%,50.2%,.5215686274509804)}@media not all and (min-width:1280px){.max-xl\:tw-place-items-center{place-items:center}}@media not all and (min-width:1024px){.max-lg\:tw-fixed{position:fixed}.max-lg\:tw-mt-10{margin-top:2.5rem}.max-lg\:tw-mt-\[30px\]{margin-top:30px}.max-lg\:tw-hidden{display:none}.max-lg\:tw-h-\[60px\]{height:60px}.max-lg\:tw-h-\[80px\]{height:80px}.max-lg\:tw-h-auto{height:auto}.max-lg\:tw-max-h-fit{max-height:fit-content}.max-lg\:tw-min-h-\[250px\]{min-height:250px}.max-lg\:tw-min-h-\[400px\]{min-height:400px}.max-lg\:tw-min-h-\[60px\]{min-height:60px}.max-lg\:tw-min-h-\[60vh\]{min-height:60vh}.max-lg\:tw-w-\[340px\]{width:340px}.max-lg\:tw-w-\[60px\]{width:60px}.max-lg\:tw-w-\[80px\]{width:80px}.max-lg\:tw-w-full{width:100%}.max-lg\:tw-min-w-\[320px\]{min-width:320px}.max-lg\:tw-min-w-\[60px\]{min-width:60px}.max-lg\:tw-max-w-\[320px\]{max-width:320px}.max-lg\:tw-max-w-full{max-width:100%}.max-lg\:tw-flex-col{flex-direction:column}.max-lg\:tw-place-content-center{place-content:center}.max-lg\:tw-place-items-end{place-items:end}.max-lg\:tw-place-items-center{place-items:center}.max-lg\:tw-gap-16{gap:4rem}.max-lg\:tw-gap-5{gap:1.25rem}.max-lg\:tw-p-2{padding:.5rem}.max-lg\:tw-p-4{padding:1rem}.max-lg\:tw-px-2{padding-left:.5rem;padding-right:.5rem}.max-lg\:tw-px-4{padding-left:1rem;padding-right:1rem}.max-lg\:tw-text-2xl{font-size:1.5rem;line-height:2rem}.max-lg\:tw-text-4xl{font-size:2.25rem;line-height:2.5rem}.max-lg\:tw-font-normal{font-weight:400}.max-lg\:tw-shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}}@media not all and (min-width:768px){.max-md\:tw-mt-\[50px\]{margin-top:50px}.max-md\:tw-w-full{width:100%}.max-md\:tw-max-w-\[100vw\]{max-width:100vw}.max-md\:tw-flex-col{flex-direction:column}.max-md\:tw-place-content-center{place-content:center}.max-md\:tw-px-2{padding-left:.5rem;padding-right:.5rem}.max-md\:tw-text-2xl{font-size:1.5rem;line-height:2rem}.max-md\:tw-text-3xl{font-size:1.875rem;line-height:2.25rem}.max-md\:tw-text-lg{font-size:1.125rem;line-height:1.75rem}.max-md\:tw-text-sm{font-size:.875rem;line-height:1.25rem}.max-md\:tw-text-xl{font-size:1.25rem;line-height:1.75rem}.max-md\:tw-leading-snug{line-height:1.375}.max-md\:tw-opacity-0{opacity:0}}@media (min-width:1024px){.lg\:tw-sticky{position:sticky}.lg\:tw-top-\[20\%\]{top:20%}.lg\:tw-mx-auto{margin-left:auto;margin-right:auto}.lg\:tw-hidden{display:none}.lg\:tw-place-items-center{place-items:center}.lg\:tw-justify-around{justify-content:space-around}.lg\:tw-p-6{padding:1.5rem}} \ No newline at end of file diff --git a/landingpages/landingpage/css/tailwind.css b/landingpages/landingpage/css/tailwind.css new file mode 100644 index 0000000..674c029 --- /dev/null +++ b/landingpages/landingpage/css/tailwind.css @@ -0,0 +1,10 @@ +@config "../tailwind.config.js"; + +@tailwind base; +@tailwind components; +@tailwind utilities; + +@layer components{ +} + + \ No newline at end of file diff --git a/landingpages/landingpage/index.html b/landingpages/landingpage/index.html new file mode 100644 index 0000000..33bac57 --- /dev/null +++ b/landingpages/landingpage/index.html @@ -0,0 +1,734 @@ + + + + + + PyUIBuilder - A Drag and Drop builder for python GUIs + + + + + + + + + + + + + + + + + + + + + + +
+ + logo + +
+ + +
+ +
+ +
+ + +
+ +
+
+ +
+
+ +
+ + +
+ +
+
+
+ +
+
+
+ Build Python UI's using + +
+ Drag and Drop editor +
+ +
+ +
+
+ Tired of writing code to build you python GUIs, well now you can easily +
+ +
+ + Start for free + + +
+
+
+ + +
+ + +
+ +
+ +
+ + +
+ +
+
+ +
+ +

+ Add personality to your
website +
+ with fonts +

+ +
+
+
+
+ + +
+

+ Pick and test 1000+ google fonts +

+
+ +
+
+ + +
+

+ Test on any website or landing page +

+
+ +
+
+ + +
+

+ Easily change specific text fonts with the highlighter feature +

+
+ +
+
+ + +
+

+ Set font weight and line height +

+
+ +
+
+ + +
+

+ set Italics, underline and more +

+
+ +
+
+ + +
+

+ Easily copy the code for the fonts +

+
+ +
+ +
+
+ +
+ +
+
+
+
+ + + +
+

Choose your plan

+
+
+

+ $0 +

+

+ Free to use forever, but for added features and to support open-source development, consider buying a lifetime license. +

+
+
    +
  • + + Access to web-based editor +
  • +
  • + + Commercial use +
  • +
  • + + Downloadable UI builder exe for local development +
  • +
  • + + Support for PySlide/PyQt +
  • +
  • + + Preview live +
  • +
  • + + Save and load files +
  • +
  • + + Load plugins locally +
  • +
  • + + Load local UI templates +
  • +
  • + + Dark theme +
  • +
  • + + Priority support +
  • +
  • + + Early access to new features +
  • + +
+
+ +
+
+ Limited time offer +
+
+ Hobby +
+

+ + $129 + $29 + + Forever +

+

+ Support open-source development 🚀. Plus, get added benefits. +

+
+
    +
  • + + Access to web-based editor +
  • +
  • + + Downloadable UI builder exe for local development +
  • +
  • + + Preview live +
  • +
  • + + Save and load files +
  • +
  • + + Load plugins locally +
  • +
  • + + Load local UI templates +
  • +
  • + + Dark theme +
  • +
  • + + Priority support +
  • +
  • + + Early access to new features +
  • +
  • + + Support for PySlide/PyQt +
  • +
  • + + Commercial use +
  • + +
+ + + Buy License + + +
+ + {/* Paid Plan */} +
+
+ Limited time offer +
+
+ Commercial +
+

+ + $180 + $49 + + Forever +

+

+ Support open-source development 🚀. Plus, get added benefits. +

+
+
    +
  • + + Access to web-based editor +
  • +
  • + + Downloadable UI builder exe for local development +
  • +
  • + + Preview live +
  • +
  • + + Save and load files +
  • +
  • + + Load plugins locally +
  • +
  • + + Load local UI templates +
  • +
  • + + Dark theme +
  • +
  • + + Priority support +
  • +
  • + + Early access to new features +
  • +
  • + + Support for PySlide/PyQt +
  • +
  • + + Commercial use +
  • + +
+ + + Buy License + + +
+
+
+ +
+

+ Faq +

+
+
+
+ Is the source code available? + +
+
+ Yes, this is an open-source project, you can visit the + source code on + Github +
+
+ +
+
+ Can I try the extension for free? + +
+
+ Yes, the chrome extension is free to use forever, however to support + open-source development, some features are only available to premium users. +
+
+ +
+
+ Is Safari, Edge and Firefox addons available? + +
+
+ The Safari, Edge and firefox addons will be available for premium users when released. + If you purchase a license, you'll be notified when its released. +
+
+ +
+
+ Where can I find the upcoming features? + +
+
+ You can find the upcoming features on the + Roadmap +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + diff --git a/landingpages/landingpage/index.js b/landingpages/landingpage/index.js new file mode 100644 index 0000000..9eb6501 --- /dev/null +++ b/landingpages/landingpage/index.js @@ -0,0 +1,155 @@ +// initialization + +const RESPONSIVE_WIDTH = 1024 + +let headerWhiteBg = false +let isHeaderCollapsed = window.innerWidth < RESPONSIVE_WIDTH +const collapseBtn = document.getElementById("collapse-btn") +const collapseHeaderItems = document.getElementById("collapsed-header-items") + + + +function onHeaderClickOutside(e) { + + if (!collapseHeaderItems.contains(e.target)) { + toggleHeader() + } + +} + + +function toggleHeader() { + if (isHeaderCollapsed) { + // collapseHeaderItems.classList.remove("max-md:tw-opacity-0") + collapseHeaderItems.classList.add("opacity-100",) + collapseHeaderItems.style.width = "60vw" + collapseBtn.classList.remove("bi-list") + collapseBtn.classList.add("bi-x", "max-lg:tw-fixed") + isHeaderCollapsed = false + + setTimeout(() => window.addEventListener("click", onHeaderClickOutside), 1) + + } else { + collapseHeaderItems.classList.remove("opacity-100") + collapseHeaderItems.style.width = "0vw" + collapseBtn.classList.remove("bi-x", "max-lg:tw-fixed") + collapseBtn.classList.add("bi-list") + isHeaderCollapsed = true + window.removeEventListener("click", onHeaderClickOutside) + + } +} + +function responsive() { + if (window.innerWidth > RESPONSIVE_WIDTH) { + collapseHeaderItems.style.width = "" + + } else { + isHeaderCollapsed = true + } +} + +window.addEventListener("resize", responsive) + + +/** + * Animations + */ + +gsap.registerPlugin(ScrollTrigger) + + +gsap.to(".reveal-up", { + opacity: 0, + y: "100%", +}) + +const slideShowContainer = document.querySelector("#slideshow") + +gsap.fromTo(".slide-in", { + y: "100%" +}, { + y: "0%", + duration: 1, +}) + + +const videoBg = document.querySelector("#video-container-bg") +const videoContainer = document.querySelector("#video-container") + +function openVideo(){ + videoBg.classList.remove("tw-scale-0", "tw-opacity-0") + videoBg.classList.add("tw-scale-100", "tw-opacity-100") + videoContainer.classList.remove("tw-scale-0") + videoContainer.classList.add("tw-scale-100") + + document.body.classList.add("modal-open") +} + +function closeVideo(){ + videoContainer.classList.add("tw-scale-0") + videoContainer.classList.remove("tw-scale-100") + + setTimeout(() => { + videoBg.classList.remove("tw-scale-100", "tw-opacity-100") + videoBg.classList.add("tw-scale-0", "tw-opacity-0") + }, 400) + + + document.body.classList.remove("modal-open") + +} + +const faqAccordion = document.querySelectorAll('.faq-accordion') + +faqAccordion.forEach(function (btn) { + btn.addEventListener('click', function () { + this.classList.toggle('active') + + // Toggle 'rotate' class to rotate the arrow + let content = this.nextElementSibling + + // content.classList.toggle('!tw-hidden') + if (content.style.maxHeight === '200px') { + content.style.maxHeight = '0px' + content.style.padding = '0px 18px' + + } else { + content.style.maxHeight = '200px' + content.style.padding = '20px 18px' + } + }) +}) + + + +// ------------- reveal section animations --------------- + +const sections = gsap.utils.toArray("section") + +sections.forEach((sec) => { + + const revealUptimeline = gsap.timeline({paused: true, + scrollTrigger: { + trigger: sec, + start: "10% 80%", // top of trigger hits the top of viewport + end: "20% 90%", + // markers: true, + // scrub: 1, + }}) + + revealUptimeline.to(sec.querySelectorAll(".reveal-up"), { + opacity: 1, + duration: 0.8, + y: "0%", + stagger: 0.2, + }) + + +}) + + + +const reviewContainer = document.querySelector(".review-container") +const reviewSlideShow = new SlideShow(reviewContainer, true, 10000) + diff --git a/landingpages/landingpage/scripts/utils.js b/landingpages/landingpage/scripts/utils.js new file mode 100644 index 0000000..5e6adbd --- /dev/null +++ b/landingpages/landingpage/scripts/utils.js @@ -0,0 +1,141 @@ +class SlideShow{ + + constructor(slideContainer, autoNext=true, timeout=6000){ + + this.slideContainer = slideContainer + this.autoNext = autoNext + + this.slideIndex = 0 + this.timeout = null + + this.timeoutTime = timeout + + const dots = this.slideContainer.querySelectorAll('.dot') + + dots.forEach((dot, index) => { + dot.addEventListener('click', () => { + this.showSlides(index) + }) + }) + + const nextBtn = this.slideContainer.querySelector(".next") + const previousBtn = this.slideContainer.querySelector(".prev") + + if (nextBtn && previousBtn){ + + nextBtn.addEventListener("click", () => {this.plusSlides(1)}) + previousBtn.addEventListener("click", () => {this.plusSlides(-1)}) + + } + + this.plusSlides = this.plusSlides.bind(this) + this.currentSlide = this.currentSlide.bind(this) + this.showSlides = this.showSlides.bind(this) + + this.showSlides(this.slideIndex) + + } + + plusSlides(i) { + this.showSlides(this.slideIndex + i) + } + + currentSlide(i) { + this.showSlides(this.slideIndex + i) + } + + showSlides(n){ + let slides = this.slideContainer.querySelectorAll(".slides") + let dots = this.slideContainer.querySelectorAll(".dot") + + this.slideIndex = n + + if (n >= slides.length) { + this.slideIndex = 0 + } + if (n < 0) { + this.slideIndex = slides.length -1 + } + for (let i = 0; i < slides.length; i++) { + slides[i].style.display = "none" + } + for (let i = 0; i < dots.length; i++) { + dots[i].className = dots[i].className.replace("active", "") + } + + slides[this.slideIndex].style.display = "block" + dots[this.slideIndex].className += " active" + + if (this.autoNext){ + + clearTimeout(this.timeout) + + this.timeout = setTimeout(() => this.plusSlides(1), this.timeoutTime) + } + } + +} + + +class Modal{ + + /** + * + * @param {HTMLElement} modal + */ + constructor(modal, title, description){ + + this.modal = modal + + const closeBtn = modal.querySelector("#modal-close") + + this.show = this.show.bind(this) + this.close = this.close.bind(this) + this.updateModal = this.updateModal.bind(this) + this.updateButton = this.updateButton.bind(this) + this.showModalInput = this.showModalInput.bind(this) + this.hideModalInput = this.hideModalInput.bind(this) + + this.updateModal(title, description) + closeBtn.addEventListener("click", this.close) + + } + + close(){ + this.modal.classList.add("tw-hidden") + } + + show(){ + this.modal.classList.remove("tw-hidden") + } + + showModalInput(){ + const input = this.modal.querySelector("#modal-input") + input.classList.remove("tw-hidden") + } + + hideModalInput(){ + const input = this.modal.querySelector("#modal-input") + input.classList.add("tw-hidden") + } + + updateButton(text, link){ + + const actionBtn = this.modal.querySelector("#modal-action-btn") + actionBtn.textContent = text + if (link){ + actionBtn.setAttribute("href", link) + }else{ + actionBtn.removeAttribute("href") + } + actionBtn.addEventListener("click", this.close) + } + + updateModal(title, description){ + + this.modal.querySelector("#modal-title").textContent = title + this.modal.querySelector("#modal-description").textContent = description + + } + +} \ No newline at end of file diff --git a/landingpages/landingpage/tailwind.config.js b/landingpages/landingpage/tailwind.config.js new file mode 100644 index 0000000..57f9df6 --- /dev/null +++ b/landingpages/landingpage/tailwind.config.js @@ -0,0 +1,21 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + prefix: 'tw-', + important: false, + content: [ + "landing-page/**/*.{html, jsx, js}", + "landing-page/**/*.js", + "landing-page/**/*.html", + ], + darkMode: 'class', + theme: { + extend: { + colors: { + primary: '#fff', + secondary: "#000", + } + }, + }, + plugins: [], +} + diff --git a/landingpages/landingpage/widget/background.js b/landingpages/landingpage/widget/background.js new file mode 100644 index 0000000..7bbc636 --- /dev/null +++ b/landingpages/landingpage/widget/background.js @@ -0,0 +1 @@ +(()=>{chrome.runtime.onInstalled.addListener((()=>{}));let e=!1;function r(){const e=document.getElementById("font-selector-root"),r=document.getElementById("font-tester-script");e&&e.remove(),r&&r.remove()}chrome.action.onClicked.addListener((t=>{e?chrome.scripting.executeScript({target:{tabId:t.id},function:r},(()=>{chrome.runtime.lastError?console.error(chrome.runtime.lastError.message):e=!1})):chrome.scripting.executeScript({target:{tabId:t.id},files:["content.js"]},(r=>{chrome.runtime.lastError?console.error(chrome.runtime.lastError.message):e=!0}))})),chrome.runtime.onMessage.addListener(((t,o,n)=>{"widgetClosed"===t.action&&(e=!1,chrome.scripting.executeScript({target:{tabId:o.tab?.id},function:r},(()=>{chrome.runtime.lastError?console.error(chrome.runtime.lastError.message):e=!1})))}))})(); \ No newline at end of file diff --git a/landingpages/landingpage/widget/content.js b/landingpages/landingpage/widget/content.js new file mode 100644 index 0000000..0ccf0d0 --- /dev/null +++ b/landingpages/landingpage/widget/content.js @@ -0,0 +1,2 @@ +/*! For license information please see content.js.LICENSE.txt */ +(()=>{var e,t,n={805:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(601),a=n.n(r),o=n(314),i=n.n(o)()(a());i.push([e.id,"/* :host {\n font-size: 16px; \n font-family: sans-serif;\n} */\n\n:host { font-size: initial }\n\n/* width */\n#font-selector-shadow-dom ::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n}\n \n /* Track */\n#font-selector-shadow-dom ::-webkit-scrollbar-track {\n background: transparent; \n }\n \n /* Handle */\n#font-selector-shadow-dom ::-webkit-scrollbar-thumb {\n background: #c2c2c2; \n border-radius: 5px;\n }\n \n /* Handle on hover */\n#font-selector-shadow-dom ::-webkit-scrollbar-thumb:hover {\n background: #555; \n}\n\n.ant-message {\n z-index: 14000 !important; /* Ensure high zIndex and use !important to override defaults */\n}",""]);const l=i},342:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var r=n(601),a=n.n(r),o=n(314),i=n.n(o)()(a());i.push([e.id,"/*\n! tailwindcss v3.4.10 | MIT License | https://tailwindcss.com\n*//*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: #e5e7eb; /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n7. Disable tap highlights on iOS\n*/\n\nhtml,\n:host {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */ /* 3 */\n tab-size: 4; /* 3 */\n font-family: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; /* 4 */\n font-feature-settings: normal; /* 5 */\n font-variation-settings: normal; /* 6 */\n -webkit-tap-highlight-color: transparent; /* 7 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font-family by default.\n2. Use the user's configured `mono` font-feature-settings by default.\n3. Use the user's configured `mono` font-variation-settings by default.\n4. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; /* 1 */\n font-feature-settings: normal; /* 2 */\n font-variation-settings: normal; /* 3 */\n font-size: 1em; /* 4 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n letter-spacing: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\ninput:where([type='button']),\ninput:where([type='reset']),\ninput:where([type='submit']) {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: #9ca3af; /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n\n*, ::before, ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n --tw-contain-size: ;\n --tw-contain-layout: ;\n --tw-contain-paint: ;\n --tw-contain-style: ;\n}\n.tw-relative {\n position: relative;\n}\n.tw-sticky {\n position: sticky;\n}\n.tw-left-0 {\n left: 0px;\n}\n.tw-top-2 {\n top: 0.5rem;\n}\n.tw-z-\\[10000\\] {\n z-index: 10000;\n}\n.tw-m-auto {\n margin: auto;\n}\n.tw-mx-2 {\n margin-left: 0.5rem;\n margin-right: 0.5rem;\n}\n.tw-mt-5 {\n margin-top: 1.25rem;\n}\n.tw-mt-8 {\n margin-top: 2rem;\n}\n.tw-flex {\n display: flex;\n}\n.tw-h-10 {\n height: 2.5rem;\n}\n.tw-h-8 {\n height: 2rem;\n}\n.tw-h-\\[100px\\] {\n height: 100px;\n}\n.tw-h-\\[150px\\] {\n height: 150px;\n}\n.tw-h-fit {\n height: fit-content;\n}\n.tw-h-full {\n height: 100%;\n}\n.tw-max-h-\\[120px\\] {\n max-height: 120px;\n}\n.tw-min-h-\\[100px\\] {\n min-height: 100px;\n}\n.tw-w-8 {\n width: 2rem;\n}\n.tw-w-full {\n width: 100%;\n}\n.tw-cursor-move {\n cursor: move;\n}\n.tw-cursor-pointer {\n cursor: pointer;\n}\n.\\!tw-select-none {\n -webkit-user-select: none !important;\n user-select: none !important;\n}\n.tw-select-none {\n -webkit-user-select: none;\n user-select: none;\n}\n.tw-flex-col {\n flex-direction: column;\n}\n.tw-place-content-center {\n place-content: center;\n}\n.tw-place-content-end {\n place-content: end;\n}\n.tw-place-items-center {\n place-items: center;\n}\n.tw-items-center {\n align-items: center;\n}\n.tw-justify-between {\n justify-content: space-between;\n}\n.tw-gap-1 {\n gap: 0.25rem;\n}\n.tw-gap-2 {\n gap: 0.5rem;\n}\n.tw-gap-3 {\n gap: 0.75rem;\n}\n.tw-overflow-hidden {\n overflow: hidden;\n}\n.tw-overflow-y-auto {\n overflow-y: auto;\n}\n.tw-whitespace-break-spaces {\n white-space: break-spaces;\n}\n.tw-text-wrap {\n text-wrap: wrap;\n}\n.tw-rounded-lg {\n border-radius: 0.5rem;\n}\n.tw-rounded-md {\n border-radius: 0.375rem;\n}\n.tw-rounded-xl {\n border-radius: 0.75rem;\n}\n.\\!tw-bg-gray-100 {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity)) !important;\n}\n.\\!tw-bg-purple-500 {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(168 85 247 / var(--tw-bg-opacity)) !important;\n}\n.tw-bg-\\[\\#f0f0f0ef\\] {\n background-color: #f0f0f0ef;\n}\n.tw-bg-\\[\\#f4f4f4\\] {\n --tw-bg-opacity: 1;\n background-color: rgb(244 244 244 / var(--tw-bg-opacity));\n}\n.tw-bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n.tw-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity));\n}\n.tw-p-1 {\n padding: 0.25rem;\n}\n.tw-p-2 {\n padding: 0.5rem;\n}\n.tw-p-3 {\n padding: 0.75rem;\n}\n.tw-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem;\n}\n.tw-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.\\!tw-text-4xl {\n font-size: 2.25rem !important;\n line-height: 2.5rem !important;\n}\n.\\!tw-text-lg {\n font-size: 1.125rem !important;\n line-height: 1.75rem !important;\n}\n.tw-text-\\[18px\\] {\n font-size: 18px;\n}\n.tw-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.tw-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.\\!tw-font-semibold {\n font-weight: 600 !important;\n}\n.tw-font-medium {\n font-weight: 500;\n}\n.\\!tw-text-black {\n --tw-text-opacity: 1 !important;\n color: rgb(0 0 0 / var(--tw-text-opacity)) !important;\n}\n.\\!tw-text-blue-500 {\n --tw-text-opacity: 1 !important;\n color: rgb(59 130 246 / var(--tw-text-opacity)) !important;\n}\n.\\!tw-text-white {\n --tw-text-opacity: 1 !important;\n color: rgb(255 255 255 / var(--tw-text-opacity)) !important;\n}\n.tw-text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity));\n}\n.tw-text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity));\n}\n.tw-text-purple-500 {\n --tw-text-opacity: 1;\n color: rgb(168 85 247 / var(--tw-text-opacity));\n}\n.\\!tw-no-underline {\n text-decoration-line: none !important;\n}\n.tw-shadow-xl {\n --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);\n box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);\n}\n.hover\\:\\!tw-bg-gray-100:hover {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity)) !important;\n}\n.hover\\:\\!tw-bg-gray-300:hover {\n --tw-bg-opacity: 1 !important;\n background-color: rgb(209 213 219 / var(--tw-bg-opacity)) !important;\n}\n.hover\\:tw-bg-gray-100:hover {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity));\n}\n.hover\\:\\!tw-text-black:hover {\n --tw-text-opacity: 1 !important;\n color: rgb(0 0 0 / var(--tw-text-opacity)) !important;\n}\n\n ",""]);const l=i},314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",r=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),r&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),r&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,r,a,o){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(r)for(var l=0;l0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),a&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=a):u[4]="".concat(a)),t.push(u))}},t}},601:e=>{"use strict";e.exports=function(e){return e[1]}},787:(e,t)=>{"use strict";var n=Symbol.for("react.element"),r=Symbol.for("react.portal"),a=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),s=Symbol.for("react.context"),c=Symbol.for("react.server_context"),u=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),d=Symbol.for("react.suspense_list"),m=Symbol.for("react.memo"),y=Symbol.for("react.lazy");Symbol.for("react.offscreen");function p(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case a:case i:case o:case f:case d:return e;default:switch(e=e&&e.$$typeof){case c:case s:case u:case y:case m:case l:return e;default:return t}}case r:return t}}}Symbol.for("react.module.reference"),t.ForwardRef=u,t.isFragment=function(e){return p(e)===a},t.isMemo=function(e){return p(e)===m}},351:(e,t,n)=>{"use strict";e.exports=n(787)},551:(e,t,n)=>{"use strict";var r=n(540),a=n(982);function o(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n