diff --git a/app/assets/stylesheets/static/_donate.sass b/app/assets/stylesheets/static/_donate.sass
index d26ccc02..761325be 100644
--- a/app/assets/stylesheets/static/_donate.sass
+++ b/app/assets/stylesheets/static/_donate.sass
@@ -2,118 +2,77 @@
@import "partials/campaign-progress"
+/* TODO: redundant with outfits/index; why is it not in the partial? */
+$outfit-inner-height: 150px
+$outfit-inner-width: 150px
+$outfit-banner-h-padding: 4px
+$outfit-banner-v-padding: 2px
+$outfit-banner-inner-width: $outfit-inner-width - (2 * $outfit-banner-h-padding)
+
body.static-donate
+campaign-progress
#title
- margin-bottom: 0
+ margin-bottom: .25em
- h2
- font-style: italic
- font-weight: normal
-
- #title, h2
+ #title
clear: left
float: left
- h2
- margin-bottom: .25em
-
- $image-mode-preview-image-width: 300px
- $image-mode-preview-image-border-width: 1px
- $image-mode-preview-h-padding: 20px
- $image-mode-preview-border-width: 1px
- $image-mode-preview-right-margin: 20px
- $image-mode-preview-width: $image-mode-preview-image-width + 2 * ($image-mode-preview-image-border-width + $image-mode-preview-h-padding + $image-mode-preview-border-width)
- $image-mode-preview-outer-width: $image-mode-preview-width + $image-mode-preview-right-margin
-
- #image-mode-data
- clear: both
- display: block
- float: left
- margin-right: $image-mode-preview-right-margin
- width: $image-mode-preview-width
-
- #image-mode-preview
- border: $image-mode-preview-border-width solid $module-border-color
- display: block
- margin: 0 0 2em 0
- padding:
- top: $image-mode-preview-h-padding
- right: $image-mode-preview-h-padding
- bottom: $image-mode-preview-h-padding / 1.5
- left: $image-mode-preview-h-padding
-
- img
- border: $image-mode-preview-border-width solid $module-border-color
- height: $image-mode-preview-image-width
- margin-bottom: .5em
- width: $image-mode-preview-image-width
-
- figcaption
- display: block
- font-family: Calligraffitti
- font-size: 250%
- text-align: center
-
- #campaign-donors
- display: none
- margin-right: $image-mode-preview-right-margin
- width: $image-mode-preview-width
-
- ol
- font-size: 85%
- padding-left: 2em
-
- span
- color: $soft-text-color
- float: right
-
- &.has-donors
- display: block
-
- $image-mode-description-width: $container-width - $image-mode-preview-outer-width
-
- $image-mode-beta-h-padding: 15px
- $image-mode-beta-border-width: 1px
- $image-mode-beta-inner-width: $image-mode-description-width - 2 * ($image-mode-beta-h-padding + $image-mode-beta-border-width)
-
- #image-mode-beta
+ #donation-form
+module
- border-width: $image-mode-beta-border-width
- display: block
- float: left
- margin-bottom: 1em
- padding: ($image-mode-beta-h-padding / 1.5) $image-mode-beta-h-padding
- text-align: center
- width: $image-mode-beta-inner-width
- header
- display: block
+ background:
+ image: url(http://images.neopets.com/new_shopkeepers/t_993.gif)
+ position: ($container-width - 150px - 8px) -8px
+ repeat: no-repeat
+ margin-bottom: 1.5em
+ padding-bottom: 24px
+ padding-left: 24px
+ padding-top: 24px
+
+ header, div
+ +inline-block
+
+ p
+ font-family: $main-font
+ margin: 0
+
+ div
+ font-size: 115%
+ margin-left: 20px
+
+ #donation-form-title
+ font-size: 125%
font-weight: bold
+ margin-bottom: .25em
p
- font-family: $main-font
- font-size: 75%
- margin: 0
+ font-size: 85%
+ margin-bottom: 0
+ margin-top: .5em
- form
- margin: .75em 0
+ input[type=text]
+ width: 3em
- label
- font-size: 85%
- font-weight: bold
+ button
+ +loud-awesome-button-color
- &:after
- content: ":"
+ #outfits
+ +outfits-list
- input
- width: 5em
+ > li
+ +outfit
- button
- +loud-awesome-button-color
+ height: $outfit-inner-height
+ margin: 2px
+ width: $outfit-inner-width
- #image-mode-description, #image-mode-comments
- float: right
- width: $image-mode-description-width
+ header, footer
+ padding: $outfit-banner-v-padding $outfit-banner-h-padding
+ text-align: center
+ width: $outfit-banner-inner-width
+ #fine-print
+ font-size: 85%
+ margin-top: 2em
diff --git a/app/helpers/static_helper.rb b/app/helpers/static_helper.rb
index fa95751c..91476a7c 100644
--- a/app/helpers/static_helper.rb
+++ b/app/helpers/static_helper.rb
@@ -3,8 +3,8 @@ module StaticHelper
label_tag 'pledge[amount]', content
end
- def pledgie_amount_field_tag
- text_field_tag 'pledge[amount]', '0.00', :id => 'pledge_amount'
+ def pledgie_amount_field_tag(amount)
+ text_field_tag 'pledge[amount]', amount, :id => 'pledge_amount'
end
def pledgie_confirm_url
diff --git a/app/views/static/donate.html.haml b/app/views/static/donate.html.haml
index ef6df1dc..dc6b93c9 100644
--- a/app/views/static/donate.html.haml
+++ b/app/views/static/donate.html.haml
@@ -1,76 +1,106 @@
- title "Support Dress to Impress"
-%h2 Thank you so much for all your help. We made it!
= campaign_progress(:always => true) do
We've received
- = surround '$', ',' do
+ = precede '$' do
%span.campaign-raised
- exceeding our goal for the upgrade. Thanks so much!
+ toward our hosting costs this year. Thanks so much!
-%section#image-mode-data
- %figure#image-mode-preview
- = image_tag 'image_mode_preview.png'
- %figcaption
- Image Mode ♥
- #campaign-donors
- %h3 Thank you!
- %ol
-
-#image-mode-description
- :markdown
- **Hooray!** We made our fundraising goal, and now have enough funds to run
- on the upgraded server for the next year. We completed our server upgrade
- around 9PM NST on August 4.
-
- **Image Mode is now out of beta, and is open to the public.** Just head to
- the home page and start dressing up a pet like normal, then hit the
- **Image** button in the top left corner. Congrats! You're in!
-
- Thanks again for all your help. Dress to Impress runs on you, from our data
- to our funds. You make this site the great resource that it is, and I'm
- consistently impressed by this community's generosity. Thanks for all you
- do!
-
-#image-mode-beta
+= pledgie_form_tag id: 'donation-form' do
%header
- Support Dress to Impress!
- = pledgie_form_tag do
- = pledgie_amount_label_tag 'Amount'
- = pledgie_amount_field_tag
+ %p#donation-form-title
+ Thanks for supporting Dress to Impress!
+ %p#donation-form-subtitle
+ All donations go directly to our hosting costs. Thanks for your help!
+ %div
+ = precede '$' do
+ = pledgie_amount_field_tag('10.00')
%button{:type => 'submit'} Donate now!
- %p
- A
- = link_to 'Linode 768 VPS', 'http://www.linode.com/'
- costs about $360 a year.
+#description
+ :markdown
+ **Dress to Impress is cool!** We have loads of fancy features: we're
+ constantly adding models to our database, we help folks make NC trades, and
+ you can easily save your outfits and share them across the interwebs.
+ It's pretty sweet.
- %p
- All donations go directly to hosting costs. Thanks so much for your help!
+ **But cool features cost money.** We're running on a cool
+ [4GB Linode server][linode] for $40/mo, and y'all's fancy outfit thumbnails
+ live on [Amazon Web Services][aws] for about $25/mo (it varies by usage),
+ so that leaves us at about $65/mo. Add in $10 for the domain name and our
+ Amazon costs being on the rise, and that rounds to an annual
+ budget of $800.
+ **So, we're here to ask for help.** If you have some spare change to send
+ our way, we'll gladly accept
+
+ Thanks for helping Dress to Impress stay online and running smoothly!
-#image-mode-comments
- #disqus_thread
- - if Rails.env.development?
- :javascript
- var disqus_developer = 1;
- :javascript
- var disqus_shortname = 'dresstoimpress';
+ **And, as a thank-you gift, we'll feature your outfits here!** Eeyup, for
+ every $5 you send our way, we'll post one of your beautiful outfits right
+ here, and feature it on the homepage, too! Personally, I'm looking forward
+ to seeing all your lovely creations, and wishing I could make things
+ even [half as pretty][matts_bat]
+
+ (See the fine print at the bottom of the page for details.)
- // The following are highly recommended additional parameters. Remove the slashes in front to use.
- var disqus_identifier = 'dresstoimpress_donate';
+ **Thanks again for all your help.** Dress to Impress runs on you, from our
+ data to our servers. You make this site the great resource that it is, and
+ I'm consistently impressed by this community's generosity. Thanks for
+ all you do!
- /* * * DON'T EDIT BELOW THIS LINE * * */
- (function() {
- var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
- dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
- (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+ [linode]: https://www.linode.com/pricing
+ [aws]: http://aws.amazon.com/
+ [matts_bat]: http://www.neopets.com/petlookup.phtml?pet=matts_bat
- var s = document.createElement('script'); s.async = true;
- s.type = 'text/javascript';
- s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
- (document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
- }());
- %a.dsq-brlink{:href => "http://disqus.com"}
- blog comments powered by
- %span.logo-disqus Disqus
+%h2 Thanks to our lovely donors!
+%ul#outfits
+ = Outfit.includes(:user).find_each do |outfit| # TODO: donors only
+ = outfit_li_for(outfit) do
+ - if outfit.image?
+ = link_to image_tag(outfit.image.small.url), outfit
+
+ %header
+ - if outfit.user
+ Thanks, #{outfit.user.name}!
+ - else
+ Thanks, anonymous!
+
+#fine-print
+ %h2 Some notes on featured outfits
+ :markdown
+ When you make a donation, we'll divide the amount by $5, and, rounding
+ down, that's how many of your outifts we'll feature. Cool, eh?
+
+ This is our way of publicly thanking our donors.
+ (Thanks again, by the way!)
+ We love them very much and want to bring attention to their awesomeness.
+ However, there are a few important bits of legal whatnot to keep in mind.
+ (Mostly, it's the list of things that we expect to do but in no legally
+ binding way promise to do. Just in case
+ )
+
+ Featuring your outfit is a thank-you gift that we like to give our donors;
+ it is *not* a purchased service. We offer no guarantee that we'll post your
+ outfit on any page for any particular amount of time, or even at all.
+ (That said, we expect to publicly list our donors' outfits somewhere on the
+ site for as long as it lives, and in rotation on the homepage until some
+ other site event or feature needs the space.)
+
+ We reserve the right to refuse to post any outfit for any reason, and we
+ reserve the right to remove any previously posted outfit for any reason.
+ (That said, so long as your outfit is appropriate for Neopians of all ages,
+ we don't expect any trouble.)
+
+ If you change your mind about donating, no worries: we'll refund any
+ donation within 30 days of the moment you donated.
+ (Please don't be that person who repeatedly donates and refunds.
+ We'll stop posting your outfits
+ )
+
+ **TL;DR: We love to help and acknowledge our good-faith donors,
+ but reserve the right not to do those things,
+ in order to better handle bad-faith donors and unexpected circumstances.**
+ Huh. That was way simpler.
+ Maybe I should've just written that in the first place.