From 95b30f84bbd2177073de4f57023578d74d5e3139 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 17 Jul 2018 10:37:30 +0100 Subject: [PATCH] Refactor donation page Signed-off-by: Michael Tremer --- Makefile.am | 16 +- src/scss/_donation.scss | 232 -------------- src/scss/_variables.scss | 3 +- src/scss/style.scss | 4 +- src/static/img/paypal.png | Bin 0 -> 4143 bytes src/static/img/paypal@2x.png | Bin 0 -> 10197 bytes src/static/img/paypal@3x.png | Bin 0 -> 16553 bytes src/templates/donate.html | 569 +++++++++++++++++++++-------------- 8 files changed, 354 insertions(+), 470 deletions(-) delete mode 100644 src/scss/_donation.scss create mode 100644 src/static/img/paypal.png create mode 100644 src/static/img/paypal@2x.png create mode 100644 src/static/img/paypal@3x.png diff --git a/Makefile.am b/Makefile.am index 9a2ac226..9db1b204 100644 --- a/Makefile.am +++ b/Makefile.am @@ -101,6 +101,7 @@ webdir = $(backenddir)/web templates_DATA = \ src/templates/base.html \ src/templates/base-1.html \ + src/templates/donate.html \ src/templates/error.html \ src/templates/error-404.html \ src/templates/error-500.html \ @@ -129,7 +130,6 @@ templates_staticdir = $(templatesdir)/static SCSS_FILES = \ src/scss/style.scss \ - src/scss/_donation.scss \ src/scss/_fonts.scss \ src/scss/_icons.scss \ src/scss/_variables.scss @@ -158,9 +158,21 @@ static_fonts_DATA = \ static_fontsdir = $(staticdir)/fonts static_images_DATA = \ + src/static/img/amex.png \ + src/static/img/amex@2x.png \ + src/static/img/amex@3x.png \ src/static/img/appliance-pro.png \ src/static/img/header-background.jpg \ - src/static/img/ipfire-tux.png + src/static/img/ipfire-tux.png \ + src/static/img/mastercard.png \ + src/static/img/mastercard@2x.png \ + src/static/img/mastercard@3x.png \ + src/static/img/paypal.png \ + src/static/img/paypal@2x.png \ + src/static/img/paypal@3x.png \ + src/static/img/visa.png \ + src/static/img/visa@2x.png \ + src/static/img/visa@3x.png static_imagesdir = $(staticdir)/img diff --git a/src/scss/_donation.scss b/src/scss/_donation.scss deleted file mode 100644 index d4b62ca9..00000000 --- a/src/scss/_donation.scss +++ /dev/null @@ -1,232 +0,0 @@ -.donation { - background-image: url('../img/header-background.jpg'); - background-size: cover; - background-attachment: fixed; - background-position: center center; - width: 100vw; - height: 768px; - margin-bottom: 1122px; - @include media-breakpoint-up(sm) { - margin-bottom: 1078px; - } - @include media-breakpoint-up(md) { - margin-bottom: 668px; - } - @include media-breakpoint-up(lg) { - margin-bottom: 522px; - } - @include media-breakpoint-up(xl) { - height: 800px; - margin-bottom: 328px; - } -} - -.donation-card { - border-radius: 4px; - background-color: white; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2); - @include media-breakpoint-down(sm) { - background-color: transparent; - box-shadow: none; - border-radius: 0; - } - h3 a { - color: white; - } - .card { - @include media-breakpoint-down(sm) { - height: 1100px; - margin-bottom: 32px; - border-radius: 4px; - background-color: white; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2); - } - @include media-breakpoint-down(xs) { - border-radius: 0; - box-shadow: none; - margin-bottom: 0; - } - } - .info { - border-radius: 4px 0 0 4px; - @include media-breakpoint-down(sm) { - border-radius: 4px; - box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.12), 0 1px 2px 0 rgba(0, 0, 0, 0.2); - } - @include media-breakpoint-down(xs) { - border-radius: 0; - box-shadow: none; - } - } -} - -.ownamount { - overflow: hidden; - width: 95%; - height: 48px; - padding: 0 16px; - border-radius: 2px; - border: none; -} - -.ownamount { - background-color: rgba($blue-grey-900, .08); - border-bottom: 2px solid $blue-grey-900; - width: 90%; -} - -input.radiobtn:not(old) { - display: none; -} - -input.radiobtn:not(old) + label { - display: inline-block; - background-image: url("/static/img/icons/icon-radiobtn-off.png"); - background-repeat: no-repeat; - background-position: 0 0; - padding-left: 40px; - @include media-breakpoint-up(lg) { - padding-left: 28px; - } -} - -input.radiobtn:not(old):checked + label { - background-image: url("/static/img/icons/icon-radiobtn-on.png"); -} - -.inline-card { - border-radius: 8px; - background-color: $blue-grey-50; - padding: 24px; - position: relative; - padding: 24px 20px; - #amount { - margin-left: -8px; - } -} - -label.amount { - width: 76px; - height: 48px; - display: block; - background-color: white; - border-radius: 2px; - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.16), 0 1px 2px 0 rgba(0, 0, 0, 0.23); - font-size: 20px; - color: $blue-400; - text-align: center; - margin: 0 4px 12px 4px; - padding: 8px 0 0 0; - @include media-breakpoint-up(sm) { - width: 84px; - margin: 0 8px 16px 8px; - } -} - -label.cc img { - height: 24px; -} - -#ccpayment, -#paymentpaypal, -#sepapayment { - @include media-breakpoint-down(lg) { - padding-bottom: 24px; - margin-bottom: 32px; - label img { - position: relative; - } - } -} - -#ccpayment { - @include media-breakpoint-up(lg) { - margin-top: 16px; - label { - background-position: 0 4px; - } - } -} - -#paymentpaypal { - @include media-breakpoint-down(lg) { - label img { - top: -7px; - } - } - @include media-breakpoint-up(lg) { - margin-top: 14px; - label { - background-position: 0 6px; - } - } - @include media-breakpoint-up(xl) { - margin-top: 0; - label { - background-position: 0 20px; - } - } -} - -#sepapayment { - @include media-breakpoint-up(lg) { - padding-top: 20px; - } -} - -input[name=amount] { - display: none; -} - -input[name=amount]:checked + label { - background-image: linear-gradient(120deg, rgb(79, 195, 247), rgb(25, 118, 210)); - color: white; -} - -.or { - display: block; - height: 1px; - width: 90%; - border: 1px solid $blue-grey-300; - position: absolute; - left: 5%; - top: 212px; - @include media-breakpoint-up(sm) { - top: 222px; - } - @include media-breakpoint-up(lg) { - height: 200px; - width: 1px; - border: 1px solid $blue-grey-300; - left: 257px; - top: 12px; - } - @include media-breakpoint-up(xl) { - left: 350px; - } - &:before { - content: "OR"; - font-family: 'Ubuntu', sans-serif; - font-size: 16px; - font-weight: 500; - text-align: center; - color: $blue-grey-300; - background-color: $blue-grey-50; - display: block; - position: absolute; - top: -13px; - left: 50%; - margin-left: -20px; - width: 40px; - height: 24px; - @include media-breakpoint-up(lg) { - text-align: left; - display: block; - top: 12px; - left: -12px; - margin-left: 0; - width: 24px; - height: 24px; - } - } -} diff --git a/src/scss/_variables.scss b/src/scss/_variables.scss index 780493bd..d5dc326c 100644 --- a/src/scss/_variables.scss +++ b/src/scss/_variables.scss @@ -35,6 +35,7 @@ $cyan: #00bcd4; // Theme $primary: $red-900; $secondary: white; +$light: $blue-grey-50; $dark: $blue-grey-900; $yiq-text-dark: $primary; @@ -68,7 +69,7 @@ $lead-font-size: 1.5rem; $small-font-size: 87.5%; // Headings -$headings-font-weight: 300; +$headings-font-weight: 400; $headings-line-height: 1.5; $headings-margin-bottom: 1.5rem; $headings-color: $blue-grey-900; diff --git a/src/scss/style.scss b/src/scss/style.scss index 3e08f7d2..e9e086ad 100644 --- a/src/scss/style.scss +++ b/src/scss/style.scss @@ -27,15 +27,13 @@ @import "../bootstrap/scss/media"; @import "../bootstrap/scss/list-group"; @import "../bootstrap/scss/close"; +@import "../bootstrap/scss/modal"; @import "../bootstrap/scss/utilities"; @import "../bootstrap/scss/print"; // Include fonts @import "fonts"; -// Donation Box -@import "_donation"; - // Custom stuff @import '_icons'; diff --git a/src/static/img/paypal.png b/src/static/img/paypal.png new file mode 100644 index 0000000000000000000000000000000000000000..112fcdbf270ae8666595dd9875f1058e182b87b4 GIT binary patch literal 4143 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 t_76uTB>R+o1Ukp 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�z$3qD9qm$HEF76ZxZ=wz=#M4{J6(8#nuU%Q(>TV{;J}V zWdZ&Q9Whq#rgjxAj-TzTB1e9XncePW{a}BXt3zBto12}@2oI8fkqEkPVbS;Qx3Y5g zolqE_b=q3lr%%i^!7y!Ql{2i;zJ}OwOZ) zs>VCg{`f)DJyL|hK-)c!74`g2OA$9Ef-b+D9^%%>wVw@~_viVuw;|0;dgAB|gQZ$^ zWrVM^>*%rQE2r*-zlveQ_O4yEiHQ^%l={uD1GOQk-n?6ol z@9n{kymX|nS{xGm9Gk%|DvT~aWa0xK8i`GUDEx8^J*f!aCv1$y1Lu0W&s-r?trAJ* zkPCUA8dJ-(IQG+_k|FOj$-)$aXX+gySBHt5uK6t1IHe zoBMY}rZE)#=Zb~EM=_yWxuh{6?XhLX9Pz6^GmItg-24-j+0(vb;XwqyLjx?)gFS2l zsQObSj`)fd;e9$N0C#+3dlMnBfmiIUpucf5GP$$|^nCn2BwN8^dne+W9wmO`g+!n@ z=>V^hHoq{!gmkd7I_3$U?aj2^g93Du(n#EVpb!gbN>7jPX)~;LKTn}QO*A00-j?S1a|}sHOyMSR#%Uf7n1jXP3}+0xaOepm){$8va%yb$%M^Y2ty{mg~>~uXPPLu z0vSM}Yy(CeZ-M{xTqXcY5Etcs4&W@LBl*I;w*4blC2+rW41@3ZADzxEGSW(=o~%AI zxfV`zo=)Emg1koCgYgot%NPyb)@w7wW1Bdfu}VkGeMbJQMt|7p{)(KpxcNFTAd+%P zEEV)m;_$(TsB>_lrCNd@rNLUr7y2oQ#(@U`$@8taV7U`WwP7%S`nKDhScr;jIjcVq;7mpB1g5UrM(h z=y~#|r)vcboR@@3qT|^3he3PdNzaYFxM`#0B*@FKg$q$I@2G&G(%Q^cRG}sC^yvUT z@!YxZ(r?fK{QBO!GOe%KHyrJ<=IP{Ps)(lj;xk9Hkrt%IZL|Acv^ug=Z~A7id)dp4 zu5arE6r4=r73 z92s0K2&Ei-{Dh8|kL|0d4{>{RvP3CCRi%1xAM>6pL`cmliHQxOO Y(?gP?eZY>j0Q_fC;_|>6QG>w$1Na%GDF6Tf literal 0 Hc-jL100001 diff --git a/src/static/img/paypal@3x.png b/src/static/img/paypal@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..21ca749c8435352ff466f531d146d3f4e56eda9a GIT binary patch literal 16553 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 _("Donate") }} +
-
-
-

{{ _("Donate") }}

- -
- {% raw xsrf_form_html() %} - -
-
-
-
-
-
-
-

Choose a currency

-
-
- - -
-
- - -
-
-
- -
-

Frequency

-
-
- - -
-
- - -
-
-
-
- -
-
-
-
-
-

Choose an amount

-
- - - - - - - - - - - - - - - - - -
-
-
-
-

Enter your own

- +
+
+
+
+
+
+
IPFire is an Open Source software project.
+ +

+ IPFire is an Open Source software project. +

+ +

+ Development and keeping the project healthy is carried out by a + group of volunteers who have built a very successful product, + which hundreds of thousands of people use every day. +

+ +

+ Your donation helps us to make IPFire even better... +

+
+ +
+ + {% raw xsrf_form_html() %} + +
+
+
+
+
+
+
+
Choose a currency
+ +
+ + +
+ +
+ + +
+
+ +
+
Frequency
+ +
+ + +
+ +
+ + +
+
-
-
-
-
-

Choose payment

- -

Secure

-
-
- -
-
- - -
- -
- - -
- -
- - + +
+
{{ _("Choose an amount") }}
+ +
+ {% for amount in amounts %} + + {% end %} +
+ +
+ + +
+ +
+
+ +
+
+
Choose payment
+ +
+ + +
+ +
+ + + +
+ +
+ + + +
+
+
+ +
+
+
+
+
+ + +
+
+ + +
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+ +
+
+ +
+ +
+
+ +
+
+
+ + +
+
+ +
+
+ +
+
+ + +
+ +

+ There should also be some area for the small-print since we need to tell people who they are donating to and that we don't do any refunds, etc. +

- - - -

- There should also be some area for the small-print since we need to tell people who they are donating to and that we don't do any refunds, etc. -

- -
-
-

IPFire is an Open Source software project.

- -

- IPFire is an Open Source software project. -

- -

- Development and keeping the project healthy is carried out by a - group of volunteers who have built a very successful product, - which hundreds of thousands of people use every day. -

- -

- Your donation helps us to make IPFire even better... -

-
- - - - -
-
+
- +
- +
-
+
-
+

Why should I donate?

- +

We are proud of what we are doing here at IPFire. We create a free firewall distribution that is free to use for everyone anywhere in the world. To do that, we need to provide the infrastructure to distribute it to our users and provide the right tools for our developers to help them to make IPFire better every day.

- +

Donations from individuals and corporations are the only way to keep all of our services free for everyone. They pay for hosting, advertising, purchase equipment and to fund the work of the people behind it.

- +

Our ambition is to compete with projects backed by large corporations and proprietary solutions and we cannot do that without you. Become a supporter today!

- +

How much should I give?

- +

Donations range from single digits donations to hundreds. For us it is important to give something back to help this project to succeed. If you want to help, please do so and encourage others to do so, too.

- +

Frequently Asked Questions

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem.

@@ -246,50 +353,48 @@ +{% end block %} + +{% block javascript %} + - + $("#modal-upsell").modal("show"); + } + }); + }); + {% end block %} -- 2.39.5