diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/.gitignore | 1 | ||||
-rw-r--r-- | contrib/Makefile.am | 11 | ||||
-rw-r--r-- | contrib/copyright.html | 15 | ||||
-rw-r--r-- | contrib/css.html | 54 | ||||
-rw-r--r-- | contrib/depleted_tip.en.mcpp | 20 | ||||
-rw-r--r-- | contrib/depleted_tip.en.must | 50 | ||||
-rw-r--r-- | contrib/footer.html | 6 | ||||
m--------- | contrib/merchant-backoffice | 0 | ||||
-rw-r--r-- | contrib/offer_refund.en.mcpp | 76 | ||||
-rw-r--r-- | contrib/offer_refund.en.must | 140 | ||||
-rw-r--r-- | contrib/offer_tip.en.mcpp | 68 | ||||
-rw-r--r-- | contrib/offer_tip.en.must | 142 | ||||
-rw-r--r-- | contrib/request_payment.en.mcpp (renamed from contrib/request_payment.en.must) | 72 | ||||
-rw-r--r-- | contrib/show_order_details.en.mcpp | 33 | ||||
-rw-r--r-- | contrib/show_order_details.en.must | 63 |
15 files changed, 286 insertions, 465 deletions
diff --git a/contrib/.gitignore b/contrib/.gitignore index 863e327b..94308bdc 100644 --- a/contrib/.gitignore +++ b/contrib/.gitignore @@ -1 +1,2 @@ spa.html +*.must diff --git a/contrib/Makefile.am b/contrib/Makefile.am index 4344aac7..1eb6fa6d 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -9,7 +9,16 @@ dist_tmplpkgdata_DATA = \ request_payment.en.must \ show_order_details.en.must -# Note: if you update pure-min.css, you must also update the MUST templates above! +.mcpp.must: + cpp -E -C -P -undef -nostdinc < $< > $@ 2> /dev/null + +# Note: only works when building from Git, if you +# run maintainer clean against the TGZ, you will +# not be able to recover... +MAINTAINERCLEANFILES = \ + $(dist_tmplpkgdata_DATA) + +# Note: if you update pure-min.css, you must also update the MCPP/MUST templates above! dist_staticpkgdata_DATA = \ pure-min.css diff --git a/contrib/copyright.html b/contrib/copyright.html new file mode 100644 index 00000000..e25299fa --- /dev/null +++ b/contrib/copyright.html @@ -0,0 +1,15 @@ +<!-- + This file is part of GNU TALER. + Copyright (C) 2014-2020 Taler Systems SA + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU Lesser General Public License as published by the Free Software + Foundation; either version 2.1, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License along with + TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> +--> diff --git a/contrib/css.html b/contrib/css.html new file mode 100644 index 00000000..1409f31a --- /dev/null +++ b/contrib/css.html @@ -0,0 +1,54 @@ +<link rel="stylesheet" + href="{{static_url}}pure-min.css" + integrity="sha384-cg6SkqEOCV1NbJoCu11+bm0NvBRc8IYLRGXkmNrqUBfTjmMYwNKPWBTIKyw9mHNJ" + crossorigin="anonymous"> +<style> +.talerbar { + text-align: center; +} +.tt { + font-family: 'Lucida Console', Monaco, monospace; +} +.content { + overflow-x: auto; + padding-left: 15%; + padding-right: 15%; +} +.qr { + margin: auto; + text-align: center; +} +.qrtext { + width: max-content; + margin: auto; + transition: font-size 0.2s; + font-family: 'Lucida Console', Monaco, monospace; + font-size: 0.5em; +} +.qrtext:hover { + font-size: 1em; +} +.talerbar { + margin: 0; + bottom: 0; + background-color: #033; + color: white; + width: 100%; + padding: 1em; + overflow: auto; +} +body { + overflow-y: scroll; +} +@media (min-width: 500px) { + .content { + padding-bottom: 2em; + margin-right: 1em; + overflow-y: auto; + } +} +#define EMPTY +EMPTY#main a:link, #main a:visited, #main a:hover, #main a:active { + color: black; +} +</style> diff --git a/contrib/depleted_tip.en.mcpp b/contrib/depleted_tip.en.mcpp new file mode 100644 index 00000000..381f931d --- /dev/null +++ b/contrib/depleted_tip.en.mcpp @@ -0,0 +1,20 @@ +<!DOCTYPE html> +#include "copyright.html" +<html> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <noscript> + <meta http-equiv="refresh" content="1"> + </noscript> + <title>Status of your tip</title> +#include "css.html" +</head> + +<body> +<h1>Tip already picked up</h1> + +<div> +You have already picked up your tip. +</div> +#include "footer.html" diff --git a/contrib/depleted_tip.en.must b/contrib/depleted_tip.en.must deleted file mode 100644 index 3ef0b12d..00000000 --- a/contrib/depleted_tip.en.must +++ /dev/null @@ -1,50 +0,0 @@ -<!DOCTYPE html> -<!-- - This file is part of GNU TALER. - Copyright (C) 2014-2020 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> ---> - -<html> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <noscript> - <meta http-equiv="refresh" content="1"> - </noscript> - <title>Status of your tip</title> - <link rel="stylesheet" - href="{{static_url}}pure-min.css" - integrity="sha384-cg6SkqEOCV1NbJoCu11+bm0NvBRc8IYLRGXkmNrqUBfTjmMYwNKPWBTIKyw9mHNJ" - crossorigin="anonymous"> - <style> -.content { - overflow-x: auto; - padding-left: 15%; - padding-right: 15%; -} -#main a:link, #main a:visited, #main a:hover, #main a:active { - color: black; -} - </style> -</head> - -<body> -<h1>Tip already picked up</h1> - -<div> -You have already picked up your tip. -</div> - -</body> -</html> diff --git a/contrib/footer.html b/contrib/footer.html new file mode 100644 index 00000000..aed197f8 --- /dev/null +++ b/contrib/footer.html @@ -0,0 +1,6 @@ +<div class="talerbar"> + <p>You can learn more about GNU Taler on our <a href="https://taler.net/">website</a>.<br> + Copyright © 2014—2021 Taler Systems SA</p> +</div> +</body> +</html> diff --git a/contrib/merchant-backoffice b/contrib/merchant-backoffice -Subproject 4320467db1392e5f48a4acd079f7e2a253cf998 +Subproject 03c8c9b794905878175d07366267bdc01c3795b diff --git a/contrib/offer_refund.en.mcpp b/contrib/offer_refund.en.mcpp new file mode 100644 index 00000000..330ecfe3 --- /dev/null +++ b/contrib/offer_refund.en.mcpp @@ -0,0 +1,76 @@ +<!DOCTYPE html> +#include "copyright.html" +<html> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <noscript> + <meta http-equiv="refresh" content="1"> + </noscript> + <title>Refund available for {{order_summary}}</title> +#include "css.html" +</head> + +<body> +<script> + let checkUrl = new URL("{{& order_status_url }}"); + checkUrl.searchParams.set("await_refund_obtained", "yes"); + let delayMs = 500; + function check() { + let retried = false; + function retryOnce() { + if (!retried) { + retried = true; + check(); + } + } + let req = new XMLHttpRequest(); + req.onreadystatechange = function () { + if (req.readyState === XMLHttpRequest.DONE) { + if (req.status === 200) { + try { + let resp = JSON.parse(req.responseText); + if (! resp.refund_pending) { + window.location.reload(true); + } + } catch (e) { + console.error("could not parse response:", e); + } + } + setTimeout(retryOnce, delayMs); + } + }; + req.onerror = function () { + setTimeout(retryOnce, delayMs); + } + req.open("GET", checkUrl.href); + req.send(); + } + + setTimeout(check, delayMs); +</script> + + +<h1>Taler refund available</h1> + +<div> + <p> + Please select your Taler wallet to obtain the refund. + </p> +</div> + +<div> + <p> + Alternatively, you can scan this QR code to obtain the refund with your mobile wallet: + </p> + <div class="qr"> + {{{taler_refund_qrcode_svg}}} + </div> + <p> + Finally, you could click <a href="{{taler_refund_uri}}">this link</a> to + try to open your system's Taler wallet if it exists. + </p> +</div> +<hr /> +</section> +#include "footer.html" diff --git a/contrib/offer_refund.en.must b/contrib/offer_refund.en.must deleted file mode 100644 index 2eaaab44..00000000 --- a/contrib/offer_refund.en.must +++ /dev/null @@ -1,140 +0,0 @@ -<!DOCTYPE html> -<!-- - This file is part of GNU TALER. - Copyright (C) 2014-2020 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> ---> - -<html> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <noscript> - <meta http-equiv="refresh" content="1"> - </noscript> - <title>Refund available for {{order_summary}}</title> - <link rel="stylesheet" - href="{{static_url}}pure-min.css" - integrity="sha384-cg6SkqEOCV1NbJoCu11+bm0NvBRc8IYLRGXkmNrqUBfTjmMYwNKPWBTIKyw9mHNJ" - crossorigin="anonymous"> - <style> -.talerbar { - text-align: center; -} -.tt { - font-family: 'Lucida Console', Monaco, monospace; -} -.content { - overflow-x: auto; - padding-left: 15%; - padding-right: 15%; -} -.qr { - margin: auto; - text-align: center; -} -.qrtext { - width: max-content; - margin: auto; - transition: font-size 0.2s; - font-family: 'Lucida Console', Monaco, monospace; - font-size: 0.5em; -} -.qrtext:hover { - font-size: 1em; -} -body { - overflow-y: scroll; -} -@media (min-width: 500px) { - .content { - padding-bottom: 2em; - margin-right: 1em; - overflow-y: auto; - } -} -#main a:link, #main a:visited, #main a:hover, #main a:active { - color: black; -} - </style> -</head> - -<body> -<script> - let checkUrl = new URL("{{& order_status_url }}"); - checkUrl.searchParams.set("await_refund_obtained", "yes"); - let delayMs = 500; - function check() { - let retried = false; - function retryOnce() { - if (!retried) { - retried = true; - check(); - } - } - let req = new XMLHttpRequest(); - req.onreadystatechange = function () { - if (req.readyState === XMLHttpRequest.DONE) { - if (req.status === 200) { - try { - let resp = JSON.parse(req.responseText); - if (! resp.refund_pending) { - window.location.reload(true); - } - } catch (e) { - console.error("could not parse response:", e); - } - } - setTimeout(retryOnce, delayMs); - } - }; - req.onerror = function () { - setTimeout(retryOnce, delayMs); - } - req.open("GET", checkUrl.href); - req.send(); - } - - setTimeout(check, delayMs); -</script> - - -<h1>Taler refund available</h1> - -<div> - <p> - Please select your Taler wallet to obtain the refund. - </p> -</div> - -<div> - <p> - Alternatively, you can scan this QR code to obtain the refund with your mobile wallet: - </p> - <div class="qr"> - {{{taler_refund_qrcode_svg}}} - </div> - <p> - Finally, you could click <a href="{{taler_refund_uri}}">this link</a> to - try to open your system's Taler wallet if it exists. - </p> -</div> -<hr /> -</section> - -<div class="talerbar"> - <p>You can learn more about GNU Taler on our <a href="https://taler.net/">website</a>.<br> - Copyright © 2014—2021 Taler Systems SA</p> -</div> -</body> -</html> diff --git a/contrib/offer_tip.en.mcpp b/contrib/offer_tip.en.mcpp new file mode 100644 index 00000000..47f04c92 --- /dev/null +++ b/contrib/offer_tip.en.mcpp @@ -0,0 +1,68 @@ +<!DOCTYPE html> +#include "copyright.html" +<html> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <noscript> + <meta http-equiv="refresh" content="1"> + </noscript> + <title>Tip available</title> +#include "css.html" +</head> + +<body> +<script> + let checkUrl = "{{& tip_status_url }}"; + let delayMs = 500; + function check() { + let retried = false; + function retryOnce() { + if (!retried) { + retried = true; + check(); + } + } + let req = new XMLHttpRequest(); + req.onreadystatechange = function () { + if (req.readyState === XMLHttpRequest.DONE) { + if (req.status === 410) { + window.location.reload(true); + } + setTimeout(retryOnce, delayMs); + } + }; + req.onerror = function () { + setTimeout(retryOnce, delayMs); + } + req.open("GET", checkUrl); + req.send(); + } + + setTimeout(check, delayMs); +</script> + + +<h1>Taler tip available</h1> + +<div class="taler-installed-hide"> + <p> + Please select your Taler wallet to pick up the tip. + </p> +</div> + +<div> + <p> + Alternatively, you can scan this QR code to pick up the tip with your mobile wallet: + </p> + <div class="qr"> + {{{taler_tip_qrcode_svg}}} + </div> + <p> + Finally, you could click <a href="{{taler_tip_uri}}">this link</a> to + try to open your system's Taler wallet if it exists. + </p> +</div> +<hr /> +</section> +#include "footer.html" diff --git a/contrib/offer_tip.en.must b/contrib/offer_tip.en.must deleted file mode 100644 index 465093fe..00000000 --- a/contrib/offer_tip.en.must +++ /dev/null @@ -1,142 +0,0 @@ -<!DOCTYPE html> -<!-- - This file is part of GNU TALER. - Copyright (C) 2014-2020 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> ---> - -<html> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <noscript> - <meta http-equiv="refresh" content="1"> - </noscript> - <title>Tip available</title> - <link rel="stylesheet" - href="{{static_url}}pure-min.css" - integrity="sha384-cg6SkqEOCV1NbJoCu11+bm0NvBRc8IYLRGXkmNrqUBfTjmMYwNKPWBTIKyw9mHNJ" - crossorigin="anonymous"> - <style> -.talerbar { - text-align: center; -} -.tt { - font-family: 'Lucida Console', Monaco, monospace; -} -.content { - overflow-x: auto; - padding-left: 15%; - padding-right: 15%; -} -.qr { - margin: auto; - text-align: center; -} -.qrtext { - width: max-content; - margin: auto; - transition: font-size 0.2s; - font-family: 'Lucida Console', Monaco, monospace; - font-size: 0.5em; -} -.qrtext:hover { - font-size: 1em; -} -.talerbar { - margin: 0; - bottom: 0; - background-color: #033; - color: white; - width: 100%; - padding: 1em; - overflow: auto; -} - -body { - overflow-y: scroll; -} -@media (min-width: 500px) { - .content { - padding-bottom: 2em; - margin-right: 1em; - overflow-y: auto; - } -} -#main a:link, #main a:visited, #main a:hover, #main a:active { - color: black; -} - </style> -</head> - -<body> -<script> - let checkUrl = "{{& tip_status_url }}"; - let delayMs = 500; - function check() { - let retried = false; - function retryOnce() { - if (!retried) { - retried = true; - check(); - } - } - let req = new XMLHttpRequest(); - req.onreadystatechange = function () { - if (req.readyState === XMLHttpRequest.DONE) { - if (req.status === 410) { - window.location.reload(true); - } - setTimeout(retryOnce, delayMs); - } - }; - req.onerror = function () { - setTimeout(retryOnce, delayMs); - } - req.open("GET", checkUrl); - req.send(); - } - - setTimeout(check, delayMs); -</script> - - -<h1>Taler tip available</h1> - -<div class="taler-installed-hide"> - <p> - Please select your Taler wallet to pick up the tip. - </p> -</div> - -<div> - <p> - Alternatively, you can scan this QR code to pick up the tip with your mobile wallet: - </p> - <div class="qr"> - {{{taler_tip_qrcode_svg}}} - </div> - <p> - Finally, you could click <a href="{{taler_tip_uri}}">this link</a> to - try to open your system's Taler wallet if it exists. - </p> -</div> -<hr /> -</section> - -<div class="talerbar"> - <p>You can learn more about GNU Taler on our <a href="https://taler.net/">website</a>.<br> - Copyright © 2014—2021 Taler Systems SA</p> -</div> -</body> -</html> diff --git a/contrib/request_payment.en.must b/contrib/request_payment.en.mcpp index e12532bd..e0507af3 100644 --- a/contrib/request_payment.en.must +++ b/contrib/request_payment.en.mcpp @@ -1,20 +1,5 @@ <!DOCTYPE html> -<!-- - This file is part of GNU TALER. - Copyright (C) 2014-2020 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> ---> - +#include "copyright.html" <html> <head> <meta charset="UTF-8"> @@ -23,53 +8,8 @@ <meta http-equiv="refresh" content="1"> </noscript> <title>Payment requested for {{order_summary}}</title> - <link rel="stylesheet" - href="{{static_url}}pure-min.css" - integrity="sha384-cg6SkqEOCV1NbJoCu11+bm0NvBRc8IYLRGXkmNrqUBfTjmMYwNKPWBTIKyw9mHNJ" - crossorigin="anonymous"> - <style> -.talerbar { - text-align: center; -} -.tt { - font-family: 'Lucida Console', Monaco, monospace; -} -.content { - overflow-x: auto; - padding-left: 15%; - padding-right: 15%; -} -.qr { - margin: auto; - text-align: center; -} -.qrtext { - width: max-content; - margin: auto; - transition: font-size 0.2s; - font-family: 'Lucida Console', Monaco, monospace; - font-size: 0.5em; -} -.qrtext:hover { - font-size: 1em; -} - -body { - overflow-y: scroll; -} -@media (min-width: 500px) { - .content { - padding-bottom: 2em; - margin-right: 1em; - overflow-y: auto; - } -} -#main a:link, #main a:visited, #main a:hover, #main a:active { - color: black; -} - </style> +#include "css.html" </head> - <body> <script> let longpollDelayMs = 60000; @@ -160,10 +100,4 @@ body { </div> <hr /> </section> - -<div class="talerbar"> - <p>You can learn more about GNU Taler on our <a href="https://taler.net/">website</a>.<br> - Copyright © 2014—2021 Taler Systems SA</p> -</div> -</body> -</html> +#include "footer.html" diff --git a/contrib/show_order_details.en.mcpp b/contrib/show_order_details.en.mcpp new file mode 100644 index 00000000..f0984839 --- /dev/null +++ b/contrib/show_order_details.en.mcpp @@ -0,0 +1,33 @@ +<!DOCTYPE html> +#include "copyright.html" +<html> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <noscript> + <meta http-equiv="refresh" content="1"> + </noscript> + <title>Status of your order for {{order_summary}}</title> +#include "css.html" +</head> + +<body> +<h1>Order details</h1> + +<div> +This is the default status page for your order for <b>{{order_summary}}</b>. +</div> + + +<h2>Refund status</h2> +<div> +The merchant has granted you refunds on the purchase of <b>{{refund_amount}}</b>. +</div> + +<h2>Full contract details</h2> + +<!-- FIXME #6459: expand the contract JSON in all its glory here --> +<pre> + {{{ contract_terms!stringify }}} +</pre> +#include "footer.html" diff --git a/contrib/show_order_details.en.must b/contrib/show_order_details.en.must deleted file mode 100644 index 6a9cbd2e..00000000 --- a/contrib/show_order_details.en.must +++ /dev/null @@ -1,63 +0,0 @@ -<!DOCTYPE html> -<!-- - This file is part of GNU TALER. - Copyright (C) 2014-2020 Taler Systems SA - - TALER is free software; you can redistribute it and/or modify it under the - terms of the GNU Lesser General Public License as published by the Free Software - Foundation; either version 2.1, or (at your option) any later version. - - TALER is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along with - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> ---> - -<html> -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <noscript> - <meta http-equiv="refresh" content="1"> - </noscript> - <title>Status of your order for {{order_summary}}</title> - <link rel="stylesheet" - href="{{static_url}}pure-min.css" - integrity="sha384-cg6SkqEOCV1NbJoCu11+bm0NvBRc8IYLRGXkmNrqUBfTjmMYwNKPWBTIKyw9mHNJ" - crossorigin="anonymous"> - <style> -.content { - overflow-x: auto; - padding-left: 15%; - padding-right: 15%; -} -#main a:link, #main a:visited, #main a:hover, #main a:active { - color: black; -} - </style> -</head> - -<body> -<h1>Order details</h1> - -<div> -This is the default status page for your order for <b>{{order_summary}}</b>. -</div> - - -<h2>Refund status</h2> -<div> -The merchant has granted you refunds on the purchase of <b>{{refund_amount}}</b>. -</div> - -<h2>Full contract details</h2> - -<!-- FIXME #6459: expand the contract JSON in all its glory here --> -<pre> - {{{ contract_terms!stringify }}} -</pre> - -</body> -</html> |