瀏覽代碼

Use a dialog

customisations
alemart 2 月之前
父節點
當前提交
aedc63d210
共有 1 個檔案被更改,包括 94 行新增47 行删除
  1. 94
    47
      docs_overrides/index.html

+ 94
- 47
docs_overrides/index.html 查看文件

85
 
85
 
86
 #pay {
86
 #pay {
87
   display: flex;
87
   display: flex;
88
-  flex-flow: row wrap;
88
+  flex-flow: column wrap;
89
   justify-content: center;
89
   justify-content: center;
90
   align-items: center;
90
   align-items: center;
91
   align-content: center;
91
   align-content: center;
92
   text-align: center;
92
   text-align: center;
93
   font-size: 1.2rem;
93
   font-size: 1.2rem;
94
   line-height: 2.5;
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
   min-width: 320px;
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
 #pay #amounts {
111
 #pay #amounts {
111
   display: flex;
112
   display: flex;
126
 #pay #currencies input[type="radio"] + label {
127
 #pay #currencies input[type="radio"] + label {
127
   margin: 0 !important;
128
   margin: 0 !important;
128
 }
129
 }
129
-#pay input[type="submit"] {
130
-  font-size: 1.0rem;
131
-}
132
 #pay input[type="radio"] {
130
 #pay input[type="radio"] {
133
   -webkit-appearance: none;
131
   -webkit-appearance: none;
134
   appearance: none;
132
   appearance: none;
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
 .reveal {
398
 .reveal {
359
   opacity: 1;
399
   opacity: 1;
360
   transition: transform 0.5s ease-out, opacity 0.5s ease-out;
400
   transition: transform 0.5s ease-out, opacity 0.5s ease-out;
369
 
409
 
370
 @media screen and (min-width: 768px) {
410
 @media screen and (min-width: 768px) {
371
   /*#pay { justify-content: space-around; }*/
411
   /*#pay { justify-content: space-around; }*/
372
-  #pay > *:nth-child(2) { position: relative; top: 18px; }
373
   #title h1 { font-size: 4.0rem; }
412
   #title h1 { font-size: 4.0rem; }
374
   #title h2 { font-size: 1.6rem; }
413
   #title h2 { font-size: 1.6rem; }
375
   #topics { text-align: justify; }
414
   #topics { text-align: justify; }
453
     <source src="img/aframe-cat.mp4" type="video/mp4" />
492
     <source src="img/aframe-cat.mp4" type="video/mp4" />
454
     <source src="img/aframe-cat.webm" type="video/webm" />
493
     <source src="img/aframe-cat.webm" type="video/webm" />
455
   </video>
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
 </header>
495
 </header>
485
 
496
 
486
 
497
 
567
 
578
 
568
 <section id="download">
579
 <section id="download">
569
   <article>
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
     <footer>
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
       <a href="https://github.com/sponsors/alemart" target="_blank" class="md-button" id="download-sponsor" data-goatcounter-click>Sponsor on GitHub</a>
585
       <a href="https://github.com/sponsors/alemart" target="_blank" class="md-button" id="download-sponsor" data-goatcounter-click>Sponsor on GitHub</a>
575
     </footer>
586
     </footer>
576
   </article>
587
   </article>
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
 <footer class="md-footer">
641
 <footer class="md-footer">
595
   <div class="md-copyright">
642
   <div class="md-copyright">
596
     encantar.js: GPU-accelerated Augmented Reality framework for the web. Copyright &copy; 2022 &ndash; present Alexandre Martins
643
     encantar.js: GPU-accelerated Augmented Reality framework for the web. Copyright &copy; 2022 &ndash; present Alexandre Martins

Loading…
取消
儲存