1ba7c4b7715a5f10ae4ef6c519937e1c43ddec00
[wolnelektury.git] / src / club / templates / club / membership_form.html
1 {% extends request.session.from_app|yesno:"base/app.html,base/base.html" %}
2 {% load chunks %}
3 {% load thumbnail %}
4
5 {% block titleextra %}Towarzystwo Wolnych Lektur{% endblock %}
6
7
8 {% block body %}
9
10   <style>
11    .payment-method.disabled {
12        opacity: .5;
13        filter: grayscale(100%);
14    }
15
16    .button {
17        box-sizing: border-box;
18        display: inline-block;
19        text-align: center;
20    }
21    .kwota, .inna .button, .plan-toggle, .inna input {
22        border: 1px solid black;
23        background: none;
24        cursor: pointer;
25        padding: 10px 0;
26        margin-right: 3%;
27        margin-bottom: 10px;
28        line-height: 3em;
29    }
30    .plan-toggle {
31        width: 46.5%;
32    }
33    .kwota {
34        width: 30%;
35    }
36    .kwota:after {
37        content: " zł";
38    }
39    .kwota.yearly {
40        background: orange;
41
42    }
43    .inna .button {
44        width: 63%;
45    }
46    .inna input {
47        width: 60%;
48        padding-left: 1.5%;
49        padding-right: 1.5%;
50        height: 3em !important;
51        text-align: center;
52    }
53    .chunk-alt {
54        position: relative;
55        overflow: hidden;
56    }
57    .chunk-alt .chunk {
58        top: 0;
59    }
60
61    .kwota.active, .plan-toggle.active {
62        background: black;
63        color: white;
64    }
65    .inna input {display: none;}
66    .inna.active input {display: inline;}
67    .inna.active .button {display: none;}
68
69    .ambassador {
70        display: flex;
71        justify-content: end;
72        padding: 2em;
73        margin-bottom: 1em;
74        border: 1px solid #ddd;
75    }
76    .ambassador img {
77        border-radius: 100%;
78        margin-left: 1em;
79        align-self: center;
80        height: 100px;
81        width:100px;
82    }
83    .ambassador div {
84        text-align: right;
85        align-self: center;
86        line-height: 1.5em;
87    }
88
89    .club-form-info {
90        line-height: 1.5em;
91    }
92
93    @media screen and (max-width: 1023px) {
94        .club-form-info {
95            margin-top: 2em;
96        }
97    }
98
99
100    @media screen and (min-width: 1024px) {
101        .club-form-info {
102            border-left: 1px solid #ddd;
103            padding-left: 2em;
104            margin-left: 2em;
105        }
106        .twocol {
107            display: flex;
108        }
109        .twocol > form, .twocol > div {
110            flex: 1;
111        }
112    }
113
114   </style>
115
116
117   <div class="white-box normal-text">
118
119     <h1>Wspieraj Wolne Lektury</h1>
120     <h2 style="margin-bottom:2em;">
121       {% if membership %}Dziękujemy za Twoje dotychczasowe zaangażowanie! Wesprzyj nas ponownie!{% else %}Dziękujemy, że chcesz razem z nami uwalniać książki!{% endif %}</h2>
122
123     {% chunk 'club_form_top' %}
124     <div class='twocol'>
125
126       <form method="POST" action="" id="payment-form" class="wlform">
127         {% csrf_token %}
128         <h3>Zadeklaruj, jak często i jaką kwotą chcesz nas wspierać:</h3>
129
130         <ul class="errorlist">
131           {% for e in  form.non_field_errors %}
132             <li>{{ e }}</li>
133           {% endfor %}
134           {% for e in  form.plan.errors %}
135             <li>{{ e }}</li>
136           {% endfor %}
137           {% for e in  form.amount.errors %}
138             <li>{{ e }}</li>
139           {% endfor %}
140         </ul>
141
142         {{ form.amount }}
143         {{ form.monthly }}
144         <div>
145           <span class="button plan-toggle" data-plan="plan-single" data-monthly="False">jednorazowo</span>
146           <span class="button plan-toggle active" data-plan="plan-monthly" data-monthly="True">miesięcznie</span>
147         </div>
148
149         <div class="plan" id="plan-single" style="display:none;" data-monthly="False" data-min-for-year="{{ club.min_for_year }}" data-amount="{{ club.default_single_amount }}">
150           {% for amount in club.proposed_single_amounts %}
151             <span class="button kwota{% if amount == club.default_single_amount %} active{% endif %}{% if amount >= club.min_for_year %} yearly{% endif %}">{{ amount }}</span>
152           {% endfor %}
153
154           <span class="inna">
155             <span class="button">inna kwota</span>
156             <input type="number" min="{{ club.min_amount }}">
157           </span>
158         </div>
159
160
161         <div class="plan" id="plan-monthly" data-monthly="True" data-amount="{{ club.default_monthly_amount }}">
162           {% for amount in club.proposed_monthly_amounts %}
163             <span class="button kwota{% if amount == club.default_monthly_amount %} active{% endif %}">{{ amount }}</span>
164           {% endfor %}
165
166           <span class="inna">
167             <span class="button">inna kwota</span>
168             <input type="number" min="{{ club.min_amount }}">
169           </span>
170         </div>
171
172         <h3>
173           Podaj nam swój adres e-mail, żebyśmy mogli się z Tobą skontaktować:
174         </h3>
175
176         <p>
177           {{ form.email }}</p>
178         <button class="submit" type='submit'>Dołącz</button>
179       </form>
180
181       <div class="club-form-info">
182         {% if ambassador %}
183           <div class="ambassador">
184             <div>
185               <em>
186                 {{ ambassador.text }}
187               </em>
188               <div style="font-size: 1.2em">{{ ambassador.name }}</div>
189             </div>
190             {% if ambassador.photo %}
191               <img src="{% thumbnail ambassador.photo "100x100" as thumb %}{{ thumb.url }}{% empty %}{{ ambassador.photo.url }}{% endthumbnail %}">
192             {% endif %}
193           </div>
194         {% endif %}
195         <div class="chunk-alt">
196           <div class="chunk chunk-monthly">
197             {% chunk 'club-form-info-monthly' %}
198           </div>
199           <div class="chunk chunk-single" style="display: none;">
200             {% chunk 'club-form-info-single' %}
201           </div>
202           <div class="chunk chunk-single-year" style="display: none;">
203             {% chunk 'club-form-info-single-year' %}
204           </div>
205   </div>
206 </div>
207 </div>
208
209 </div>
210
211 {% endblock %}