Parcourir la source

Use a dialog

customisations
alemart il y a 2 mois
Parent
révision
aedc63d210
1 fichiers modifiés avec 94 ajouts et 47 suppressions
  1. 94
    47
      docs_overrides/index.html

+ 94
- 47
docs_overrides/index.html Voir le fichier

@@ -85,27 +85,28 @@ body {
85 85
 
86 86
 #pay {
87 87
   display: flex;
88
-  flex-flow: row wrap;
88
+  flex-flow: column wrap;
89 89
   justify-content: center;
90 90
   align-items: center;
91 91
   align-content: center;
92 92
   text-align: center;
93 93
   font-size: 1.2rem;
94 94
   line-height: 2.5;
95
-  margin: 0 auto 1rem auto;
96
-  padding: 18px 3px;
97
-  max-width: var(--max-width);
98
-  background-color: rgba(255, 255, 255, 0.2);
99
-  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
100
-  border-radius: var(--border-radius);
101 95
 }
102
-#pay > *:nth-child(2) {
103
-  width: 45%;
96
+#pay > * {
97
+  width: 100%;
104 98
   min-width: 320px;
105 99
 }
106
-#pay > *:last-child {
107
-  margin-top: 0.7rem;
108
-  margin-bottom: 0.7rem;
100
+#pay > p {
101
+  font-size: 1.0rem;
102
+}
103
+#pay input[type="submit"] {
104
+  font-size: 1.0rem;
105
+  margin: 1.0rem 0 0 0;
106
+}
107
+#pay > h1 {
108
+  margin: 0.5rem 0 0 0;
109
+  font-size: 1.4rem;
109 110
 }
110 111
 #pay #amounts {
111 112
   display: flex;
@@ -126,9 +127,6 @@ body {
126 127
 #pay #currencies input[type="radio"] + label {
127 128
   margin: 0 !important;
128 129
 }
129
-#pay input[type="submit"] {
130
-  font-size: 1.0rem;
131
-}
132 130
 #pay input[type="radio"] {
133 131
   -webkit-appearance: none;
134 132
   appearance: none;
@@ -355,6 +353,48 @@ html:has(#download-dialog[open]) {
355 353
 
356 354
 
357 355
 
356
+#donation-dialog {
357
+  max-width: var(--max-width);
358
+  background-color: whitesmoke;
359
+  color: var(--md-default-fg-color--light);
360
+  text-align: center;
361
+  padding: 1.5rem;
362
+  border: 0;
363
+  border-radius: 24px;
364
+  box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.2);
365
+  transition: opacity 0.5s ease;
366
+}
367
+
368
+#donation-dialog[open] {
369
+  opacity: 1;
370
+}
371
+
372
+#donation-dialog:not([open]) {
373
+  opacity: 0;
374
+  pointer-events: none;
375
+}
376
+
377
+#donation-dialog::backdrop {
378
+  backdrop-filter: blur(8px);
379
+  transition: backdrop-filter 0.5s ease;
380
+}
381
+
382
+#donation-dialog-close {
383
+  position: absolute;
384
+  top: 0.3rem;
385
+  right: 0.8rem;
386
+  font-size: 1.35rem;
387
+  color: var(--md-default-fg-color--light);
388
+  cursor: pointer;
389
+}
390
+
391
+html:has(#donation-dialog[open]) {
392
+  overflow: hidden;
393
+}
394
+
395
+
396
+
397
+
358 398
 .reveal {
359 399
   opacity: 1;
360 400
   transition: transform 0.5s ease-out, opacity 0.5s ease-out;
@@ -369,7 +409,6 @@ html:has(#download-dialog[open]) {
369 409
 
370 410
 @media screen and (min-width: 768px) {
371 411
   /*#pay { justify-content: space-around; }*/
372
-  #pay > *:nth-child(2) { position: relative; top: 18px; }
373 412
   #title h1 { font-size: 4.0rem; }
374 413
   #title h2 { font-size: 1.6rem; }
375 414
   #topics { text-align: justify; }
@@ -453,34 +492,6 @@ function setupReveal()
453 492
     <source src="img/aframe-cat.mp4" type="video/mp4" />
454 493
     <source src="img/aframe-cat.webm" type="video/webm" />
455 494
   </video>
456
-  <form id="pay" method="post" action="https://api.encantar.dev/v1/pay" autocomplete="off" onsubmit="return this.tier.value != 'custom' || this['custom-amount'].value != ''">
457
-    <span>Pay What You Can:</span>
458
-    <span>
459
-      <div id="amounts" class="euro">
460
-        <input type="radio" id="custom-tier" name="tier" value="custom" data-goatcounter-click onchange="this.checked && document.getElementById('custom-amount').focus()">
461
-        <label for="custom-tier"><span class="dollar-sign"></span>X</label>
462
-        <input type="radio" id="first-tier" name="tier" value="first" data-goatcounter-click>
463
-        <label for="first-tier"><span class="dollar-sign"></span>29</label>
464
-        <input type="radio" id="second-tier" name="tier" value="second" checked data-goatcounter-click>
465
-        <label for="second-tier"><span class="dollar-sign"></span>49</label>
466
-        <input type="radio" id="third-tier" name="tier" value="third" data-goatcounter-click>
467
-        <label for="third-tier"><span class="dollar-sign"></span>99</label>
468
-        <input type="radio" id="fourth-tier" name="tier" value="fourth" data-goatcounter-click>
469
-        <label for="fourth-tier"><span class="dollar-sign"></span>199</label>
470
-        <label for="custom-amount" id="custom-amount-wrapper">
471
-          <span class="dollar-sign"></span>
472
-          <input type="number" id="custom-amount" name="custom-amount" value="" placeholder="Enter a fair amount" min="0" max="999999" step="1">
473
-        </label>
474
-      </div>
475
-      <div id="currencies">
476
-        <input type="radio" id="currency-usd" name="currency" value="usd" data-goatcounter-click onchange="this.checked && document.getElementById('amounts').classList.remove('euro')">
477
-        <label for="currency-usd">&#x1F1FA;&#x1F1F8; USD</label>
478
-        <input type="radio" id="currency-eur" name="currency" value="eur" checked data-goatcounter-click onchange="this.checked && document.getElementById('amounts').classList.add('euro')">
479
-        <label for="currency-eur">&#x1F1EA;&#x1F1FA; EUR</label>
480
-      </div>
481
-    </span>
482
-    <input type="submit" value="Get encantar.js" class="md-button md-button--primary" id="get-encantar" data-goatcounter-click>
483
-  </form>
484 495
 </header>
485 496
 
486 497
 
@@ -567,10 +578,10 @@ function setupReveal()
567 578
 
568 579
 <section id="download">
569 580
   <article>
570
-    <h1>Download encantar.js</h1>
571
-    <p>encantar.js is a WebAR framework created independently by <a href="contact/" target="_blank" id="author-name" data-goatcounter-click>Alexandre Martins</a> and released as libre and open source software under the LGPL v3. Your support is much appreciated!</p>
581
+    <h1>Download</h1>
582
+    <p>encantar.js is a WebAR framework created independently by <a href="contact/" target="_blank" id="author-name" data-goatcounter-click>Alexandre Martins</a> and released as open source software under the LGPL. Your support is much appreciated!</p>
572 583
     <footer>
573
-      <a href="#pay" class="md-button md-button--primary" id="download-pay" data-goatcounter-click>Pay What You Can</a>
584
+      <button class="md-button md-button--primary" id="download-button" data-goatcounter-click onclick="document.getElementById('donation-dialog').showModal()">Download encantar.js</button>
574 585
       <a href="https://github.com/sponsors/alemart" target="_blank" class="md-button" id="download-sponsor" data-goatcounter-click>Sponsor on GitHub</a>
575 586
     </footer>
576 587
   </article>
@@ -591,6 +602,42 @@ function setupReveal()
591 602
 
592 603
 
593 604
 
605
+<dialog id="donation-dialog">
606
+  <form id="pay" method="post" action="https://api.encantar.dev/v1/pay" autocomplete="off" onsubmit="return this.tier.value != 'custom' || this['custom-amount'].value != ''">
607
+    <h1>Download and donate <span class="heart">&#x1f496;</span></h1>
608
+    <p>Support the project with an amount:</p>
609
+    <span>
610
+      <div id="amounts" class="euro">
611
+        <input type="radio" id="custom-tier" name="tier" value="custom" data-goatcounter-click onchange="this.checked && document.getElementById('custom-amount').focus()">
612
+        <label for="custom-tier"><span class="dollar-sign"></span>X</label>
613
+        <input type="radio" id="first-tier" name="tier" value="first" data-goatcounter-click>
614
+        <label for="first-tier"><span class="dollar-sign"></span>29</label>
615
+        <input type="radio" id="second-tier" name="tier" value="second" checked data-goatcounter-click>
616
+        <label for="second-tier"><span class="dollar-sign"></span>49</label>
617
+        <input type="radio" id="third-tier" name="tier" value="third" data-goatcounter-click>
618
+        <label for="third-tier"><span class="dollar-sign"></span>99</label>
619
+        <input type="radio" id="fourth-tier" name="tier" value="fourth" data-goatcounter-click>
620
+        <label for="fourth-tier"><span class="dollar-sign"></span>199</label>
621
+        <label for="custom-amount" id="custom-amount-wrapper">
622
+          <span class="dollar-sign"></span>
623
+          <input type="number" id="custom-amount" name="custom-amount" value="" placeholder="Enter the amount" min="0" max="999999" step="1">
624
+        </label>
625
+      </div>
626
+      <div id="currencies">
627
+        <input type="radio" id="currency-usd" name="currency" value="usd" data-goatcounter-click onchange="this.checked && document.getElementById('amounts').classList.remove('euro')">
628
+        <label for="currency-usd">&#x1F1FA;&#x1F1F8; USD</label>
629
+        <input type="radio" id="currency-eur" name="currency" value="eur" checked data-goatcounter-click onchange="this.checked && document.getElementById('amounts').classList.add('euro')">
630
+        <label for="currency-eur">&#x1F1EA;&#x1F1FA; EUR</label>
631
+      </div>
632
+    </span>
633
+    <input type="submit" value="Download" class="md-button md-button--primary" id="get-encantar" data-goatcounter-click>
634
+  </form>
635
+  <button id="donation-dialog-close" onclick="document.getElementById('donation-dialog').close()">&times;</button>
636
+</dialog>
637
+
638
+
639
+
640
+
594 641
 <footer class="md-footer">
595 642
   <div class="md-copyright">
596 643
     encantar.js: GPU-accelerated Augmented Reality framework for the web. Copyright &copy; 2022 &ndash; present Alexandre Martins

Chargement…
Annuler
Enregistrer