closet lists, round one

This commit is contained in:
Emi Matchu 2011-07-29 10:52:04 -04:00
parent b86ce67c02
commit 358840076c
26 changed files with 581 additions and 200 deletions

View file

@ -35,6 +35,8 @@ gem "character-encodings", "~> 0.4.1", :platforms => :ruby_18
gem "nokogiri", "~> 1.5.0"
gem 'sanitize', '~> 2.0.3'
group :development_async do
# async wrappers
gem 'eventmachine', :git => 'git://github.com/eventmachine/eventmachine.git'

View file

@ -165,9 +165,11 @@ GEM
ruby-hmac (0.4.0)
rufus-scheduler (2.0.9)
tzinfo (>= 0.3.23)
sanitize (2.0.3)
nokogiri (< 1.6, >= 1.4.4)
sinatra (1.2.6)
rack (~> 1.1)
tilt (>= 1.2.2, < 2.0)
tilt (< 2.0, >= 1.2.2)
swf_converter (0.0.3)
thor (0.14.6)
tilt (1.3.2)
@ -215,6 +217,7 @@ DEPENDENCIES
resque-scheduler (~> 2.0.0.d)
right_aws (~> 2.1.0)
rspec-rails (~> 2.0.0.beta.22)
sanitize (~> 2.0.3)
swf_converter (~> 0.0.3)
whenever (~> 0.6.2)
will_paginate (~> 3.0.pre2)

View file

@ -14,8 +14,11 @@ class ClosetHangersController < ApplicationController
def index
@user = User.find params[:user_id]
@closet_hangers_by_owned = @user.closet_hangers.owned_before_wanted.
alphabetical_by_item_name.includes(:item).group_by(&:owned)
@closet_lists_by_owned = @user.closet_lists.alphabetical.
includes(:hangers => :item).group_by(&:hangers_owned)
@unlisted_closet_hangers_by_owned = @user.closet_hangers.unlisted.
owned_before_wanted.alphabetical_by_item_name.includes(:item).
group_by(&:owned)
@public_perspective = params.has_key?(:public) || !user_is?(@user)
end
@ -37,7 +40,9 @@ class ClosetHangersController < ApplicationController
if @closet_hanger.save
respond_to do |format|
format.html {
flash[:success] = "Success! You #{@closet_hanger.verb(:you)} #{@closet_hanger.quantity} #{@item.name.pluralize}."
message = "Success! You #{@closet_hanger.verb(:you)} #{@closet_hanger.quantity} #{@item.name.pluralize}"
message << " in the \"#{@closet_hanger.list.name}\" list" if @closet_hanger.list
flash[:success] = "#{message}."
redirect_back!(@item)
}

View file

@ -1,19 +1,49 @@
class ClosetListsController < ApplicationController
before_filter :authorize_user!
def new
@closet_list = current_user.closet_lists.build
end
before_filter :find_closet_list, :only => [:edit, :update, :destroy]
def create
@closet_list = current_user.closet_lists.build params[:closet_list]
if @closet_list.save
flash[:success] = "Successfully saved \"#{@closet_list.name}\""
redirect_to user_closet_hangers_path(current_user)
save_successful!
else
flash.now[:alert] = "We can't save this list because: #{@closet_list.errors.full_messages.to_sentence}"
save_failed!
render :action => :new
end
end
def destroy
@closet_list.destroy
flash[:success] = "Successfully deleted \"#{@closet_list.name}\""
redirect_to user_closet_hangers_path(current_user)
end
def new
@closet_list = current_user.closet_lists.build params[:closet_list]
end
def update
if @closet_list.update_attributes(params[:closet_list])
save_successful!
else
save_failed!
render :action => :edit
end
end
protected
def find_closet_list
@closet_list = current_user.closet_lists.find params[:id]
end
def save_failed!
flash.now[:alert] = "We can't save this list because: #{@closet_list.errors.full_messages.to_sentence}"
end
def save_successful!
flash[:success] = "Successfully saved \"#{@closet_list.name}\""
redirect_to user_closet_hangers_path(current_user)
end
end

View file

@ -94,6 +94,11 @@ module ApplicationHelper
hidden_field_tag :return_to, request.fullpath
end
def secondary_nav(&block)
content_for :before_flashes,
content_tag(:nav, :id => 'secondary-nav', &block)
end
def show_title_header?
params[:controller] != 'items'
end

View file

@ -13,14 +13,57 @@ module ClosetHangersHelper
public_perspective? ? @user.name : :you
end
# Do we have either unlisted hangers that are owned/wanted, or non-empty
# owned/wanted lists?
def has_hangers?(owned)
# If we have unlisted hangers of this type, pass.
return true if @unlisted_closet_hangers_by_owned.has_key?(owned)
# Additionally, if we have no lists of this type, fail.
lists = @closet_lists_by_owned[owned]
return false unless lists
# If any of those lists are non-empty, pass.
lists.each do |list|
return true unless list.hangers.empty?
end
# Otherwise, all of the lists are empty. Fail.
return false
end
def has_lists?(owned)
@closet_lists_by_owned.has_key?(owned)
end
def link_to_add_closet_list(content, options)
owned = options.delete(:owned)
path = new_user_closet_list_path current_user,
:closet_list => {:hangers_owned => owned}
link_to(content, path, options)
end
def public_perspective?
@public_perspective
end
def render_closet_hangers(owned)
render :partial => 'closet_hanger',
:collection => @closet_hangers_by_owned[owned],
:locals => {:show_controls => !public_perspective?}
def render_closet_lists(lists)
if lists
render :partial => 'closet_lists/closet_list', :collection => lists,
:locals => {:show_controls => !public_perspective?}
end
end
def render_unlisted_closet_hangers(owned)
if @unlisted_closet_hangers_by_owned[owned]
content = render :partial => 'closet_hanger',
:collection => @unlisted_closet_hangers_by_owned[owned],
:locals => {:show_controls => !public_perspective?}
if has_lists?(owned)
content = content_tag(:header, content_tag(:h4, '(Not in a list)')) + content
end
content_tag(:div, content, :class => 'closet-list unlisted')
end
end
end

View file

@ -1,9 +1,30 @@
module ClosetListsHelper
def closet_list_delete_confirmation(closet_list)
"Are you sure you want to delete \"#{closet_list.name}\"?".tap do |msg|
unless closet_list.hangers.empty?
msg << " Even if you do, we'll remember that you " +
ClosetHanger.verb(closet_list.hangers_owned, :you) +
" these items."
end
end
end
def closet_list_description_format(list)
md = RDiscount.new(list.description)
Sanitize.clean(md.to_html, Sanitize::Config::BASIC).html_safe
end
def hangers_owned_options
@hangers_owned_options ||= [true, false].map do |owned|
verb = ClosetHanger.verb(:i, owned)
["items I #{verb}", owned]
end
end
def render_sorted_hangers(list, show_controls)
render :partial => 'closet_hanger',
:collection => list.hangers.sort { |x,y| x.item.name <=> y.item.name },
:locals => {:show_controls => show_controls}
end
end

View file

@ -3,7 +3,7 @@ class ClosetHanger < ActiveRecord::Base
belongs_to :list, :class_name => 'ClosetList'
belongs_to :user
attr_accessible :owned, :quantity
attr_accessible :list_id, :owned, :quantity
validates :item_id, :uniqueness => {:scope => [:user_id, :owned]}
validates :quantity, :numericality => {:greater_than => 0}
@ -11,11 +11,13 @@ class ClosetHanger < ActiveRecord::Base
scope :alphabetical_by_item_name, joins(:item).order(Item.arel_table[:name])
scope :owned_before_wanted, order(arel_table[:owned].desc)
scope :unlisted, where(:list_id => nil)
before_validation :set_owned_by_list
def set_owned_by_list
self.owned = list.hangers_owned if list?
self.owned = list.hangers_owned if list_id?
true
end
def verb(subject=:someone)

View file

@ -1,6 +1,7 @@
class ClosetList < ActiveRecord::Base
belongs_to :user
has_many :hangers, :class_name => 'ClosetHanger'
has_many :hangers, :class_name => 'ClosetHanger', :foreign_key => 'list_id',
:dependent => :nullify
attr_accessible :description, :hangers_owned, :name
@ -8,6 +9,8 @@ class ClosetList < ActiveRecord::Base
validates :user, :presence => true
validates :hangers_owned, :inclusion => {:in => [true, false], :message => "can't be blank"}
scope :alphabetical, order(:name)
after_save :sync_hangers_owned!
def sync_hangers_owned!

View file

@ -93,9 +93,6 @@ a.button, input[type=submit], button
&.loud
+loud-awesome-button
a.button
+arrowed-awesome-button
ul.buttons
margin-bottom: 1em
li

View file

@ -1,21 +1,16 @@
@import "partials/context_button"
@import "partials/icon"
@import "partials/secondary_nav"
body.closet_hangers-index
+secondary-nav
#title
float: left
margin-bottom: 0
.flash
clear: both
#import-link, #closet-hangers-items-search
margin-top: .75em
#import-link
+awesome-button
+loud-awesome-button-color
margin-left: 2em
#closet-hangers-items-search
float: right
@ -101,35 +96,87 @@ body.closet_hangers-index
form
display: none
header
border-bottom: 1px solid $soft-border-color
display: block
margin-bottom: .25em
padding: .25em 0
position: relative
h3
font-size: 250%
margin: 0
span.show, span.hide
color: $soft-text-color
display: none
font-size: 85%
position: absolute
right: 1em
bottom: 0
&:hover
span.show, span.hide
color: inherit
text-decoration: underline
.quantity-1
display: none
.closet-hangers-group
border-top: 1px solid $module-border-color
margin-bottom: 2em
padding-bottom: 1em
> header
border-bottom: 1px solid $soft-border-color
display: block
margin-bottom: .25em
padding: .25em 0
position: relative
h3
font-size: 250%
margin: 0
.add-closet-list
+awesome-button
bottom: 50%
margin-bottom: -1em
position: absolute
right: 1em
&:active
margin-bottom: -1.1em
top: auto
span.show, span.hide
color: $soft-text-color
display: none
font-size: 85%
left: 1em
position: absolute
top: 1em
&:hover
color: inherit
text-decoration: underline
.closet-list
border-bottom: 1px solid $soft-border-color
padding: .5em 0
header
display: block
position: relative
h4
+header-text
font-size: 150%
margin: 0 auto
.empty-list
font-style: italic
.closet-list-controls
display: none
position: absolute
right: 1em
top: 0
a, input[type=submit]
+context-button
form
display: inline
&.unlisted
h4
font-style: italic
&:hover
.closet-list-controls
display: block
&:last-child
border-bottom: 0
&.current-user
#closet-hangers
.object:hover
@ -163,6 +210,8 @@ body.closet_hangers-index
&.js
#closet-hangers
.object:hover .quantity
display: block
input[type=number]
width: 2.5em
@ -173,8 +222,11 @@ body.closet_hangers-index
background: $module-bg-color
outline: 1px solid $module-border-color
.quantity span:after
content: ""
.quantity
display: block
span:after
content: ""
#closet-hangers-contact
form
@ -192,7 +244,8 @@ body.closet_hangers-index
.closet-hangers-group
header
cursor: pointer
.show, .hide
cursor: pointer
.hide
display: block

View file

@ -1,4 +1,5 @@
body.closet_lists-new, body.closet_lists-create
body.closet_lists-new, body.closet_lists-create, body.closet_lists-edit, body.closet_lists-update
+secondary-nav
form ul.fields
list-style: none

View file

@ -68,7 +68,7 @@ body.items-show
float: right
font-size: 85%
padding: 1em
width: 18em
width: 21em
label, header
display: block
@ -80,6 +80,9 @@ body.items-show
form
padding: .5em 0
select
width: 9em
input[type=number]
width: 4em

View file

@ -0,0 +1,12 @@
=secondary-nav
#title
float: left
margin-right: .5em
.flash
clear: both
#secondary-nav
display: block
margin-top: .75em

View file

@ -1,7 +1,7 @@
- show_controls ||= false # we could do user check here, but may as well do it once
.object
= render :partial => 'items/item_link', :locals => {:item => closet_hanger.item}
.quantity
.quantity{:class => "quantity-#{closet_hanger.quantity}"}
%span= closet_hanger.quantity
- if show_controls
= form_for closet_hanger, :url => user_item_closet_hanger_path(current_user, closet_hanger.item), :html => {:class => 'closet-hanger-update'} do |f|

View file

@ -1,7 +1,7 @@
- unless public_perspective?
- title 'Your Items'
- add_body_class 'current-user'
- content_for :before_flashes do
- secondary_nav do
= link_to "Import closet from Neopets", new_closet_page_path, :id => 'import-link'
= form_tag items_path, :method => :get, :id => 'closet-hangers-items-search', 'data-current-user-id' => current_user.id do
= text_field_tag :q, nil, :placeholder => "Find items to add"
@ -31,19 +31,18 @@
= f.submit "Save"
%span#cancel-contact-link cancel
- unless @closet_hangers_by_owned.empty?
%p
These are the items you are tracking on Dress to Impress. Hover over an
item to remove it from the list or to change the quantity.
%p
These are the items you are tracking on Dress to Impress. Hover over an
item to remove it from the list or to change the quantity.
%p
You can share
= link_to "this page", request.fullpath
with the world, and they'll be able to see what items you own and want.
It's also a good idea to
%span.edit-contact-link add your Neopets username
so that when other users see your items they will know how to contact you for
trades.
%p
You can share
= link_to "this page", request.fullpath
with the world, and they'll be able to see what items you own and want.
It's also a good idea to
%span.edit-contact-link add your Neopets username
so that when other users see your items they will know how to contact you for
trades.
#closet-hangers{:class => public_perspective? ? nil : 'current-user'}
- [true, false].each do |owned|
@ -53,14 +52,17 @@
Items
= closet_hanger_subject
%span.verb= closet_hanger_verb(owned)
%span.show click to show
%span.hide click to hide
%span.toggle.show show
%span.toggle.hide hide
= link_to_add_closet_list 'Add new list', :owned => owned, :class => 'add-closet-list'
.closet-hangers-group-content
= render_closet_lists(@closet_lists_by_owned[owned])
= render_unlisted_closet_hangers(owned)
- if public_perspective?
- unless @closet_hangers_by_owned[owned]
- unless has_hangers?(owned)
%p #{@user.name} doesn't seem to #{closet_hanger_verb(owned, false)} anything.
- else
- unless @closet_hangers_by_owned[owned]
- unless has_hangers?(owned)
%p
You haven't tracked any items you #{closet_hanger_verb(owned)} on
Dress to Impress. As you browse the site and create outfits, we'll
@ -78,7 +80,6 @@
= link_to "import your Neopets closet in a few quick steps", new_closet_page_path
so why not?
%p Have fun!
= render_closet_hangers(owned)
- content_for :stylesheets do
= stylesheet_link_tag 'south-street/jquery-ui'

View file

@ -0,0 +1,16 @@
.closet-list
%header
- if show_controls
.closet-list-controls
= link_to 'Edit', edit_user_closet_list_path(closet_list.user, closet_list)
= form_tag user_closet_list_path(closet_list.user, closet_list), :method => 'delete' do
= submit_tag 'Delete', :confirm => closet_list_delete_confirmation(closet_list)
%h4= closet_list.name
- if closet_list.description?
= closet_list_description_format closet_list
- unless closet_list.hangers.empty?
= render_sorted_hangers(closet_list, show_controls)
- else
%span.empty-list This list is empty.

View file

@ -1,3 +1,6 @@
- secondary_nav do
= link_to 'Back to Your Items', user_closet_hangers_path(current_user), :class => 'button'
= form_for [@closet_list.user, @closet_list] do |f|
%ul.fields
%li
@ -13,5 +16,13 @@
Why are these items in a list? What are your terms for trading?
Or you can leave this blank.
= f.text_area :description
%span.hint
We
= surround '_' do
%em support
= surround '**' do
%strong Markdown
and
some HTML.
= f.submit 'Save list'

View file

@ -0,0 +1,3 @@
- title "Editing list \"#{@closet_list.name}\""
= render 'form'

View file

@ -26,6 +26,9 @@
= f.hidden_field :owned
= f.label :quantity, "How many of these do you #{hanger.verb(:you)}?"
= f.number_field :quantity, :min => 0, :required => true
- lists = current_user.closet_lists.where(:hangers_owned => hanger.owned).all
- unless lists.empty?
= f.collection_select :list_id, lists, :id, :name, :include_blank => 'Not in a list'
= f.submit "Save"
%p= @item.description

View file

@ -42,7 +42,7 @@ OpenneoImpressItems::Application.routes.draw do |map|
resources :users, :path => 'user', :only => [:update] do
resources :contributions, :only => [:index]
resources :closet_hangers, :only => [:index], :path => 'closet'
resources :closet_lists, :only => [:new, :create], :path => 'closet/lists'
resources :closet_lists, :only => [:new, :create, :edit, :update, :destroy], :path => 'closet/lists'
resources :items, :only => [] do
resource :closet_hanger, :only => [:create, :update, :destroy]

View file

@ -9,13 +9,13 @@ class CreateClosetLists < ActiveRecord::Migration
t.timestamps
end
add_column :closet_hangers, :closet_list_id, :integer
add_column :closet_hangers, :list_id, :integer
end
def self.down
drop_table :closet_lists
remove_column :closet_hangers, :closet_list_id
remove_column :closet_hangers, :list_id
end
end

View file

@ -26,8 +26,8 @@ ActiveRecord::Schema.define(:version => 20110726231143) do
t.integer "quantity"
t.datetime "created_at"
t.datetime "updated_at"
t.boolean "owned", :default => true, :null => false
t.integer "closet_list_id"
t.boolean "owned", :default => true, :null => false
t.integer "list_id"
end
create_table "closet_lists", :force => true do |t|

View file

@ -13,8 +13,10 @@
label: el.find('span.verb').text(),
owned: (el.attr('data-owned') == 'true')
};
}).find('header').click(function () {
$(this).parent().toggleClass('hidden');
});
$('div.closet-hangers-group span.toggle').live('click', function () {
$(this).closest('.closet-hangers-group').toggleClass('hidden');
});
/*
@ -78,7 +80,9 @@
var input = form.children("input[type=number]");
if(input.hasChanged()) {
var objectWrapper = form.closest(".object").addClass("loading");
var span = objectWrapper.find("span").text(input.val());
var newQuantity = input.val();
var span = objectWrapper.find("span").text(newQuantity);
span.parent().attr('class', 'quantity quantity-' + newQuantity);
var data = form.serialize(); // get data before disabling inputs
objectWrapper.disableForms();
form.data('loading', true);
@ -284,5 +288,15 @@
});
e.preventDefault();
});
/*
Hanger list controls
*/
$('input[type=submit][data-confirm]').live('click', function (e) {
if(!confirm(this.getAttribute('data-confirm'))) e.preventDefault();
});
})();

View file

@ -157,26 +157,21 @@ a.button.loud:hover, input[type=submit].loud:hover, button.loud:hover {
background-color: #ee4b00;
}
/* line 87, ../../../app/stylesheets/partials/clean/_mixins.sass */
a.button:after {
content: " >>";
}
/* line 99, ../../../app/stylesheets/_layout.sass */
/* line 96, ../../../app/stylesheets/_layout.sass */
ul.buttons {
margin-bottom: 1em;
}
/* line 101, ../../../app/stylesheets/_layout.sass */
/* line 98, ../../../app/stylesheets/_layout.sass */
ul.buttons li {
list-style: none;
margin: 0 0.5em;
}
/* line 104, ../../../app/stylesheets/_layout.sass */
/* line 101, ../../../app/stylesheets/_layout.sass */
ul.buttons li, ul.buttons li form {
display: inline;
}
/* line 107, ../../../app/stylesheets/_layout.sass */
/* line 104, ../../../app/stylesheets/_layout.sass */
#footer {
clear: both;
font-size: 75%;
@ -184,65 +179,65 @@ ul.buttons li, ul.buttons li form {
padding-top: 2em;
text-align: center;
}
/* line 113, ../../../app/stylesheets/_layout.sass */
/* line 110, ../../../app/stylesheets/_layout.sass */
#footer ul, #footer div {
display: inline;
margin: 0 1em;
}
/* line 116, ../../../app/stylesheets/_layout.sass */
/* line 113, ../../../app/stylesheets/_layout.sass */
#footer li, #footer div ul {
display: inline;
margin: 0 0.5em;
}
/* line 120, ../../../app/stylesheets/_layout.sass */
/* line 117, ../../../app/stylesheets/_layout.sass */
.success, .alert, .warning {
margin-bottom: 1em;
padding: 0.25em 0.5em;
text-align: center;
}
/* line 125, ../../../app/stylesheets/_layout.sass */
/* line 122, ../../../app/stylesheets/_layout.sass */
.success {
background: #e6efc2;
border: 1px solid #c6d880;
color: #264409;
}
/* line 128, ../../../app/stylesheets/_layout.sass */
/* line 125, ../../../app/stylesheets/_layout.sass */
.alert {
background: #fbe3e4;
border: 1px solid #fbc2c4;
color: #8a1f11;
}
/* line 131, ../../../app/stylesheets/_layout.sass */
/* line 128, ../../../app/stylesheets/_layout.sass */
.warning {
background: #fff6bf;
border: 1px solid #ffd324;
color: #514721;
}
/* line 134, ../../../app/stylesheets/_layout.sass */
/* line 131, ../../../app/stylesheets/_layout.sass */
#userbar {
font-family: Delicious, Helvetica, Arial, Verdana, sans-serif;
position: absolute;
right: 0;
top: 0;
}
/* line 139, ../../../app/stylesheets/_layout.sass */
/* line 136, ../../../app/stylesheets/_layout.sass */
#userbar > * {
display: inline;
margin: 0 0.25em;
}
/* line 143, ../../../app/stylesheets/_layout.sass */
/* line 140, ../../../app/stylesheets/_layout.sass */
#userbar-image-mode {
font-weight: bold;
margin-right: 1em;
text-decoration: none;
}
/* line 147, ../../../app/stylesheets/_layout.sass */
/* line 144, ../../../app/stylesheets/_layout.sass */
#userbar-image-mode img {
bottom: -2px;
height: 16px;
@ -250,25 +245,25 @@ ul.buttons li, ul.buttons li form {
width: 16px;
}
/* line 150, ../../../app/stylesheets/_layout.sass */
/* line 147, ../../../app/stylesheets/_layout.sass */
#userbar-log-in {
text-decoration: none;
}
/* line 152, ../../../app/stylesheets/_layout.sass */
/* line 149, ../../../app/stylesheets/_layout.sass */
#userbar-log-in img {
margin-bottom: -4px;
margin-right: 0.25em;
}
/* line 156, ../../../app/stylesheets/_layout.sass */
/* line 153, ../../../app/stylesheets/_layout.sass */
#userbar-log-in span {
text-decoration: underline;
}
/* line 158, ../../../app/stylesheets/_layout.sass */
/* line 155, ../../../app/stylesheets/_layout.sass */
#userbar-log-in:hover span {
text-decoration: none;
}
/* line 161, ../../../app/stylesheets/_layout.sass */
/* line 158, ../../../app/stylesheets/_layout.sass */
.object {
display: -moz-inline-box;
-moz-box-orient: vertical;
@ -283,32 +278,32 @@ ul.buttons li, ul.buttons li form {
vertical-align: top;
width: 100px;
}
/* line 169, ../../../app/stylesheets/_layout.sass */
/* line 166, ../../../app/stylesheets/_layout.sass */
.object a {
text-decoration: none;
}
/* line 171, ../../../app/stylesheets/_layout.sass */
/* line 168, ../../../app/stylesheets/_layout.sass */
.object a img {
-moz-opacity: 0.75;
-webkit-opacity: 0.75;
-o-opacity: 0.75;
-khtml-opacity: 0.75;
}
/* line 173, ../../../app/stylesheets/_layout.sass */
/* line 170, ../../../app/stylesheets/_layout.sass */
.object img {
display: block;
height: 80px;
margin: 0 auto;
width: 80px;
}
/* line 178, ../../../app/stylesheets/_layout.sass */
/* line 175, ../../../app/stylesheets/_layout.sass */
.object:hover img, .object a:hover img {
-moz-opacity: 1;
-webkit-opacity: 1;
-o-opacity: 1;
-khtml-opacity: 1;
}
/* line 184, ../../../app/stylesheets/_layout.sass */
/* line 181, ../../../app/stylesheets/_layout.sass */
.object .nc-icon, .object .closeted-icons {
-moz-opacity: 1;
-webkit-opacity: 1;
@ -319,7 +314,7 @@ ul.buttons li, ul.buttons li form {
position: absolute;
top: 64px;
}
/* line 190, ../../../app/stylesheets/_layout.sass */
/* line 187, ../../../app/stylesheets/_layout.sass */
.object .nc-icon:hover, .object .closeted-icons:hover {
-moz-opacity: 0.5;
-webkit-opacity: 0.5;
@ -327,32 +322,32 @@ ul.buttons li, ul.buttons li form {
-khtml-opacity: 0.5;
background: transparent;
}
/* line 194, ../../../app/stylesheets/_layout.sass */
/* line 191, ../../../app/stylesheets/_layout.sass */
.object .nc-icon, .object .closeted-icons img {
display: inline;
height: 16px;
width: 16px;
}
/* line 199, ../../../app/stylesheets/_layout.sass */
/* line 196, ../../../app/stylesheets/_layout.sass */
.object .nc-icon {
right: 18px;
}
/* line 202, ../../../app/stylesheets/_layout.sass */
/* line 199, ../../../app/stylesheets/_layout.sass */
.object .closeted-icons {
left: 18px;
}
/* line 205, ../../../app/stylesheets/_layout.sass */
/* line 202, ../../../app/stylesheets/_layout.sass */
dt {
font-weight: bold;
}
/* line 208, ../../../app/stylesheets/_layout.sass */
/* line 205, ../../../app/stylesheets/_layout.sass */
dd {
margin: 0 0 1.5em 1em;
}
/* line 211, ../../../app/stylesheets/_layout.sass */
/* line 208, ../../../app/stylesheets/_layout.sass */
#home-link {
font-family: Delicious, Helvetica, Arial, Verdana, sans-serif;
font-size: 175%;
@ -363,21 +358,21 @@ dd {
position: absolute;
top: 0;
}
/* line 221, ../../../app/stylesheets/_layout.sass */
/* line 218, ../../../app/stylesheets/_layout.sass */
#home-link:hover {
background: #eeffee;
text-decoration: none;
}
/* line 224, ../../../app/stylesheets/_layout.sass */
/* line 221, ../../../app/stylesheets/_layout.sass */
#home-link span:before {
content: "<< ";
}
/* line 228, ../../../app/stylesheets/_layout.sass */
/* line 225, ../../../app/stylesheets/_layout.sass */
.pagination a, .pagination span {
margin: 0 0.5em;
}
/* line 230, ../../../app/stylesheets/_layout.sass */
/* line 227, ../../../app/stylesheets/_layout.sass */
.pagination .current {
font-weight: bold;
}
@ -561,20 +556,25 @@ div.jGrowl div.jGrowl-closer {
}
}
/* line 5, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 2, ../../../app/stylesheets/partials/_secondary_nav.sass */
body.closet_hangers-index #title {
float: left;
margin-bottom: 0;
margin-right: 0.5em;
}
/* line 9, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 6, ../../../app/stylesheets/partials/_secondary_nav.sass */
body.closet_hangers-index .flash {
clear: both;
}
/* line 12, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #import-link, body.closet_hangers-index #closet-hangers-items-search {
/* line 9, ../../../app/stylesheets/partials/_secondary_nav.sass */
body.closet_hangers-index #secondary-nav {
display: block;
margin-top: 0.75em;
}
/* line 15, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 8, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #title {
margin-bottom: 0;
}
/* line 11, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #import-link {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
@ -593,7 +593,6 @@ body.closet_hangers-index #import-link {
font-weight: bold;
line-height: 1;
background: #ff5c00 url('/images/alert-overlay.png?1296599919') repeat-x;
margin-left: 2em;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index #import-link:hover {
@ -611,18 +610,18 @@ body.closet_hangers-index #import-link:active {
body.closet_hangers-index #import-link:hover {
background-color: #ee4b00;
}
/* line 20, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 15, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers-items-search {
float: right;
}
/* line 24, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 19, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers-items-search input[name=q].loading {
background-image: url(/images/loading.gif);
background-position: 2px center;
background-repeat: no-repeat;
padding-left: 20px;
}
/* line 31, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 26, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers-contact {
clear: both;
font-size: 85%;
@ -630,65 +629,65 @@ body.closet_hangers-index #closet-hangers-contact {
margin-left: 2em;
min-height: 16px;
}
/* line 38, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 33, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers-contact a {
background-image: url('/images/neomail.png?1311369565');
background-image: url('/images/neomail.png?1311877030');
background-position: left center;
background-repeat: no-repeat;
padding-left: 18px;
}
/* line 45, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 40, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers-contact input[type=text], body.closet_hangers-index #closet-hangers-contact body.pets-bulk #bulk-pets-form textarea, body.pets-bulk #bulk-pets-form body.closet_hangers-index #closet-hangers-contact textarea {
width: 10em;
}
/* line 48, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 43, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers-contact label {
font-weight: bold;
margin-right: 0.5em;
}
/* line 52, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 47, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers-contact label:after {
content: ":";
}
/* line 55, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 50, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #edit-contact-link-to-replace-form, body.closet_hangers-index #cancel-contact-link {
display: none;
}
/* line 58, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 53, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .edit-contact-link, body.closet_hangers-index #cancel-contact-link {
cursor: pointer;
text-decoration: underline;
}
/* line 62, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 57, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .edit-contact-link:hover, body.closet_hangers-index #cancel-contact-link:hover {
text-decoration: none;
}
/* line 66, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 61, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #edit-contact-link-to-replace-form #contact-link-has-value {
display: none;
}
/* line 69, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 64, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #edit-contact-link-to-replace-form #contact-link-no-value {
display: inline;
}
/* line 73, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 68, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #edit-contact-link-to-replace-form.has-value #contact-link-has-value {
display: inline;
}
/* line 76, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 71, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #edit-contact-link-to-replace-form.has-value #contact-link-no-value {
display: none;
}
/* line 79, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 74, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #cancel-contact-link {
margin-left: 1em;
}
/* line 82, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 77, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers {
clear: both;
text-align: center;
}
/* line 87, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 82, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers .object .quantity {
-moz-opacity: 0.75;
-webkit-opacity: 0.75;
@ -702,59 +701,187 @@ body.closet_hangers-index #closet-hangers .object .quantity {
text-align: left;
top: 60px;
}
/* line 97, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 92, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers .object .quantity span, body.closet_hangers-index #closet-hangers .object .quantity input[type=number] {
font-size: 16px;
font-weight: bold;
}
/* line 101, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 96, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers .object form {
display: none;
}
/* line 104, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index header {
/* line 99, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index #closet-hangers .object .quantity-1 {
display: none;
}
/* line 102, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group {
border-top: 1px solid #006600;
margin-bottom: 2em;
padding-bottom: 1em;
}
/* line 107, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group > header {
border-bottom: 1px solid #aaddaa;
display: block;
margin-bottom: 0.25em;
padding: 0.25em 0;
position: relative;
}
/* line 111, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index header h3 {
/* line 114, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group > header h3 {
font-size: 250%;
margin: 0;
}
/* line 115, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index header span.show, body.closet_hangers-index header span.hide {
/* line 118, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group > header .add-closet-list {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background: #006400 url('/images/alert-overlay.png?1296599919') repeat-x;
border: 0;
display: inline-block;
padding: 0.5em 0.75em 0.45em;
color: white;
text-decoration: none;
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
position: relative;
font-weight: bold;
line-height: 1;
bottom: 50%;
margin-bottom: -1em;
position: absolute;
right: 1em;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index .closet-hangers-group > header .add-closet-list:hover {
background-color: #005300;
}
/* line 53, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index .closet-hangers-group > header .add-closet-list:hover {
color: white;
}
/* line 55, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index .closet-hangers-group > header .add-closet-list:active {
top: 1px;
}
/* line 125, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group > header .add-closet-list:active {
margin-bottom: -1.1em;
top: auto;
}
/* line 129, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group > header span.show, body.closet_hangers-index .closet-hangers-group > header span.hide {
color: #448844;
display: none;
font-size: 85%;
left: 1em;
position: absolute;
right: 1em;
bottom: 0;
top: 1em;
}
/* line 124, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index header:hover span.show, body.closet_hangers-index header:hover span.hide {
/* line 137, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group > header span.show:hover, body.closet_hangers-index .closet-hangers-group > header span.hide:hover {
color: inherit;
text-decoration: underline;
}
/* line 128, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-hangers-group {
border-top: 1px solid #006600;
margin-bottom: 2em;
padding-bottom: 1em;
/* line 141, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list {
border-bottom: 1px solid #aaddaa;
padding: 0.5em 0;
}
/* line 136, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 145, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list header {
display: block;
position: relative;
}
/* line 149, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list h4 {
font-family: Delicious, Helvetica, Arial, Verdana, sans-serif;
font-size: 150%;
margin: 0 auto;
}
/* line 154, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list .empty-list {
font-style: italic;
}
/* line 157, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list .closet-list-controls {
display: none;
position: absolute;
right: 1em;
top: 0;
}
/* line 163, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list .closet-list-controls a, body.closet_hangers-index .closet-list .closet-list-controls input[type=submit] {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
background: #006400 url('/images/alert-overlay.png?1296599919') repeat-x;
border: 0;
display: inline-block;
padding: 0.5em 0.75em 0.45em;
color: white;
text-decoration: none;
-moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
-webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.25);
border-bottom: 1px solid rgba(0, 0, 0, 0.25);
position: relative;
font-weight: bold;
line-height: 1;
background: #aaaaaa url('/images/alert-overlay.png?1296599919') repeat-x;
-moz-opacity: 0.9;
-webkit-opacity: 0.9;
-o-opacity: 0.9;
-khtml-opacity: 0.9;
font-size: 80%;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index .closet-list .closet-list-controls a:hover, body.closet_hangers-index .closet-list .closet-list-controls input[type=submit]:hover {
background-color: #005300;
}
/* line 53, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index .closet-list .closet-list-controls a:hover, body.closet_hangers-index .closet-list .closet-list-controls input[type=submit]:hover {
color: white;
}
/* line 55, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index .closet-list .closet-list-controls a:active, body.closet_hangers-index .closet-list .closet-list-controls input[type=submit]:active {
top: 1px;
}
/* line 34, ../../../app/stylesheets/partials/clean/_mixins.sass */
body.closet_hangers-index .closet-list .closet-list-controls a:hover, body.closet_hangers-index .closet-list .closet-list-controls input[type=submit]:hover {
background-color: #999999;
}
/* line 166, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list .closet-list-controls form {
display: inline;
}
/* line 170, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list.unlisted h4 {
font-style: italic;
}
/* line 174, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list:hover .closet-list-controls {
display: block;
}
/* line 177, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index .closet-list:last-child {
border-bottom: 0;
}
/* line 183, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user #closet-hangers .object:hover form {
display: inline;
}
/* line 139, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 186, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user #closet-hangers .object:hover .closet-hanger-destroy {
position: absolute;
right: 18px;
top: 0;
}
/* line 144, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 191, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user #closet-hangers .object:hover .closet-hanger-destroy input {
/* http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html */
-moz-border-radius: 5px;
@ -795,7 +922,7 @@ body.closet_hangers-index.current-user #closet-hangers .object:hover .closet-han
body.closet_hangers-index.current-user #closet-hangers .object:hover .closet-hanger-destroy input:hover {
background-color: #999999;
}
/* line 147, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 194, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user #closet-hangers .object:hover .quantity {
-moz-opacity: 1;
-webkit-opacity: 1;
@ -805,97 +932,119 @@ body.closet_hangers-index.current-user #closet-hangers .object:hover .quantity {
top: 56px;
padding: 0;
}
/* line 153, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 200, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user #closet-hangers .object:hover .quantity span {
display: none;
}
/* line 156, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 203, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user #closet-hangers .object:hover .quantity input[type=number] {
padding: 2px;
width: 2em;
}
/* line 160, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 207, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user #closet-hangers .object:hover .quantity input[type=submit] {
font-size: 85%;
}
/* line 166, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 212, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers .object:hover .quantity {
display: block;
}
/* line 215, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers .object:hover .quantity input[type=number] {
width: 2.5em;
}
/* line 169, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 218, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers .object:hover .quantity input[type=submit] {
display: none;
}
/* line 172, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 221, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers .object.loading {
background: #eeffee;
outline: 1px solid #006600;
}
/* line 176, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 225, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers .object.loading .quantity {
display: block;
}
/* line 228, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers .object.loading .quantity span:after {
content: "…";
}
/* line 180, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 232, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers-contact form {
display: none;
}
/* line 183, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 235, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers-contact .edit-contact-link, body.closet_hangers-index.current-user.js #closet-hangers-contact #cancel-contact-link {
display: inline;
}
/* line 187, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 239, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers-contact.editing form {
display: block;
}
/* line 190, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 242, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js #closet-hangers-contact.editing .edit-contact-link {
display: none;
}
/* line 194, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js .closet-hangers-group header {
/* line 247, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js .closet-hangers-group header .show, body.closet_hangers-index.current-user.js .closet-hangers-group header .hide {
cursor: pointer;
}
/* line 197, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 250, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js .closet-hangers-group header .hide {
display: block;
}
/* line 201, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 254, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js .closet-hangers-group.hidden header .hide, body.closet_hangers-index.current-user.js .closet-hangers-group.hidden .closet-hangers-group-content {
display: none;
}
/* line 204, ../../../app/stylesheets/closet_hangers/_index.sass */
/* line 257, ../../../app/stylesheets/closet_hangers/_index.sass */
body.closet_hangers-index.current-user.js .closet-hangers-group.hidden header .show {
display: block;
}
/* line 3, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields, body.closet_lists-create form ul.fields {
/* line 2, ../../../app/stylesheets/partials/_secondary_nav.sass */
body.closet_lists-new #title, body.closet_lists-create #title, body.closet_lists-edit #title, body.closet_lists-update #title {
float: left;
margin-right: 0.5em;
}
/* line 6, ../../../app/stylesheets/partials/_secondary_nav.sass */
body.closet_lists-new .flash, body.closet_lists-create .flash, body.closet_lists-edit .flash, body.closet_lists-update .flash {
clear: both;
}
/* line 9, ../../../app/stylesheets/partials/_secondary_nav.sass */
body.closet_lists-new #secondary-nav, body.closet_lists-create #secondary-nav, body.closet_lists-edit #secondary-nav, body.closet_lists-update #secondary-nav {
display: block;
margin-top: 0.75em;
}
/* line 4, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields, body.closet_lists-create form ul.fields, body.closet_lists-edit form ul.fields, body.closet_lists-update form ul.fields {
list-style: none;
}
/* line 6, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields label, body.closet_lists-create form ul.fields label {
/* line 7, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields label, body.closet_lists-create form ul.fields label, body.closet_lists-edit form ul.fields label, body.closet_lists-update form ul.fields label {
float: left;
font-weight: bold;
margin-right: 1em;
}
/* line 11, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields li, body.closet_lists-create form ul.fields li {
/* line 12, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields li, body.closet_lists-create form ul.fields li, body.closet_lists-edit form ul.fields li, body.closet_lists-update form ul.fields li {
padding: 0.75em 0;
width: 25em;
}
/* line 15, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields input, body.closet_lists-new form ul.fields textarea, body.closet_lists-new form ul.fields select, body.closet_lists-create form ul.fields input, body.closet_lists-create form ul.fields textarea, body.closet_lists-create form ul.fields select {
/* line 16, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields input, body.closet_lists-new form ul.fields textarea, body.closet_lists-new form ul.fields select, body.closet_lists-create form ul.fields input, body.closet_lists-create form ul.fields textarea, body.closet_lists-create form ul.fields select, body.closet_lists-edit form ul.fields input, body.closet_lists-edit form ul.fields textarea, body.closet_lists-edit form ul.fields select, body.closet_lists-update form ul.fields input, body.closet_lists-update form ul.fields textarea, body.closet_lists-update form ul.fields select {
clear: both;
display: block;
margin-top: 0.25em;
width: 80%;
}
/* line 21, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields textarea, body.closet_lists-create form ul.fields textarea {
/* line 22, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields textarea, body.closet_lists-create form ul.fields textarea, body.closet_lists-edit form ul.fields textarea, body.closet_lists-update form ul.fields textarea {
height: 12em;
}
/* line 24, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields .hint, body.closet_lists-create form ul.fields .hint {
/* line 25, ../../../app/stylesheets/closet_lists/_form.sass */
body.closet_lists-new form ul.fields .hint, body.closet_lists-create form ul.fields .hint, body.closet_lists-edit form ul.fields .hint, body.closet_lists-update form ul.fields .hint {
display: block;
font-size: 85%;
}
@ -1303,7 +1452,7 @@ body.items-show #closet-hangers {
float: right;
font-size: 85%;
padding: 1em;
width: 18em;
width: 21em;
}
/* line 73, ../../../app/stylesheets/items/_show.sass */
body.items-show #closet-hangers label, body.items-show #closet-hangers header {
@ -1319,6 +1468,10 @@ body.items-show #closet-hangers form {
padding: 0.5em 0;
}
/* line 83, ../../../app/stylesheets/items/_show.sass */
body.items-show #closet-hangers select {
width: 9em;
}
/* line 86, ../../../app/stylesheets/items/_show.sass */
body.items-show #closet-hangers input[type=number] {
width: 4em;
}
@ -1901,7 +2054,7 @@ body.outfits-edit .object:hover ul, body.outfits-edit .object:hover .object-info
}
/* line 418, ../../../app/stylesheets/outfits/_edit.sass */
body.outfits-edit .nc-icon {
background: url('/images/nc.png?1311369565') no-repeat;
background: url('/images/nc.png?1311877029') no-repeat;
height: 16px;
position: absolute;
right: 16px;

BIN
vendor/cache/sanitize-2.0.3.gem vendored Normal file

Binary file not shown.