pretty home page
This commit is contained in:
parent
df3fcd101f
commit
7b91dd9cef
5 changed files with 145 additions and 15 deletions
|
@ -1,12 +1,33 @@
|
||||||
module ItemsHelper
|
module ItemsHelper
|
||||||
StandardSpeciesImageFormat = 'http://pets.neopets.com/cp/%s/1/1.png'
|
module PetTypeImage
|
||||||
|
Format = 'http://pets.neopets.com/cp/%s/%i/%i.png'
|
||||||
|
|
||||||
def standard_species_images(species_list)
|
Emotions = {
|
||||||
pet_types = PetType.random_basic_per_species(species_list.map(&:id))
|
:happy => 1,
|
||||||
raw(pet_types.inject('') do |html, pet_type|
|
:sad => 2,
|
||||||
src = sprintf(StandardSpeciesImageFormat, pet_type.image_hash)
|
:angry => 3,
|
||||||
human_name = pet_type.species.name.humanize
|
:ill => 4
|
||||||
image = image_tag(src, :alt => human_name, :title => human_name)
|
}
|
||||||
|
|
||||||
|
Sizes = {
|
||||||
|
:face => 1,
|
||||||
|
:thumb => 2,
|
||||||
|
:zoom => 3,
|
||||||
|
:full => 4
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
def standard_species_search_links
|
||||||
|
build_on_random_standard_pet_types(Species.all) do |pet_type|
|
||||||
|
image = pet_type_image(pet_type, :happy, :zoom)
|
||||||
|
query = "species:#{pet_type.species.name}"
|
||||||
|
link_to(image, items_path(:q => query))
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def standard_species_images(species)
|
||||||
|
build_on_random_standard_pet_types(species) do |pet_type|
|
||||||
|
image = pet_type_image(pet_type, :happy, :face)
|
||||||
attributes = {
|
attributes = {
|
||||||
'data-id' => pet_type.id,
|
'data-id' => pet_type.id,
|
||||||
'data-body-id' => pet_type.body_id
|
'data-body-id' => pet_type.body_id
|
||||||
|
@ -18,11 +39,25 @@ module ItemsHelper
|
||||||
pet_type_attribute.send(subattribute_name)
|
pet_type_attribute.send(subattribute_name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
html + link_to(
|
link_to(
|
||||||
image,
|
image,
|
||||||
'#',
|
'#',
|
||||||
attributes
|
attributes
|
||||||
)
|
)
|
||||||
end)
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def build_on_random_standard_pet_types(species, &block)
|
||||||
|
raw(PetType.random_basic_per_species(species.map(&:id)).map(&block).join)
|
||||||
|
end
|
||||||
|
|
||||||
|
def pet_type_image(pet_type, emotion, size)
|
||||||
|
emotion_id = PetTypeImage::Emotions[emotion]
|
||||||
|
size_id = PetTypeImage::Sizes[size]
|
||||||
|
src = sprintf(PetTypeImage::Format, pet_type.image_hash, emotion_id, size_id)
|
||||||
|
human_name = pet_type.species.name.humanize
|
||||||
|
image_tag(src, :alt => human_name, :title => human_name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
36
app/stylesheets/items/_index.scss
Normal file
36
app/stylesheets/items/_index.scss
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
form {
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin main_unit {
|
||||||
|
float: left;
|
||||||
|
width: 49%;
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
font-size: 125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#search-help {
|
||||||
|
@include main_unit;
|
||||||
|
padding-right: 1%;
|
||||||
|
|
||||||
|
dl {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#species-search-links {
|
||||||
|
@include main_unit;
|
||||||
|
|
||||||
|
padding-left: 1%;
|
||||||
|
|
||||||
|
img {
|
||||||
|
height: 80px;
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
}
|
|
@ -84,13 +84,15 @@ h1 a {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
a.item {
|
a {
|
||||||
img {
|
img {
|
||||||
@include opacity(.9);
|
@include opacity(.9);
|
||||||
}
|
}
|
||||||
&:hover img {
|
&:hover, &:focus {
|
||||||
|
img {
|
||||||
@include opacity(1);
|
@include opacity(1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* A font by Jos Buivenga (exljbris) -> www.exljbris.nl */
|
/* A font by Jos Buivenga (exljbris) -> www.exljbris.nl */
|
||||||
|
@ -115,4 +117,5 @@ a.item {
|
||||||
src: url('http://impress.openneo.net/assets/fonts/Delicious-Italic.otf');
|
src: url('http://impress.openneo.net/assets/fonts/Delicious-Italic.otf');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@import "items/index";
|
||||||
@import "items/show";
|
@import "items/show";
|
||||||
|
|
|
@ -11,3 +11,19 @@
|
||||||
= will_paginate @results
|
= will_paginate @results
|
||||||
= render @results
|
= render @results
|
||||||
= will_paginate @results
|
= will_paginate @results
|
||||||
|
- else
|
||||||
|
#search-help
|
||||||
|
%h2 Find what you're looking for
|
||||||
|
%dl
|
||||||
|
%dt negg
|
||||||
|
%dd returns any item with the word "negg" in it
|
||||||
|
%dt floating doll
|
||||||
|
%dd returns any item with the words "floating" and "doll" in it
|
||||||
|
%dt "easter negg"
|
||||||
|
%dd returns any item with the phrase "easter negg" in it
|
||||||
|
%dt species:shoyru
|
||||||
|
%dd returns any item a Shoyru can wear
|
||||||
|
|
||||||
|
#species-search-links
|
||||||
|
%h2 Can't decide? Search by species
|
||||||
|
= standard_species_search_links
|
||||||
|
|
|
@ -541,7 +541,7 @@ h1 a:hover {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* line 88, ../../../app/stylesheets/screen.scss */
|
/* line 88, ../../../app/stylesheets/screen.scss */
|
||||||
a.item img {
|
a img {
|
||||||
-moz-opacity: 0.9;
|
-moz-opacity: 0.9;
|
||||||
-webkit-opacity: 0.9;
|
-webkit-opacity: 0.9;
|
||||||
-o-opacity: 0.9;
|
-o-opacity: 0.9;
|
||||||
|
@ -550,8 +550,8 @@ a.item img {
|
||||||
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
|
-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
|
||||||
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
|
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
|
||||||
}
|
}
|
||||||
/* line 91, ../../../app/stylesheets/screen.scss */
|
/* line 92, ../../../app/stylesheets/screen.scss */
|
||||||
a.item:hover img {
|
a:hover img, a:focus img {
|
||||||
-moz-opacity: 1;
|
-moz-opacity: 1;
|
||||||
-webkit-opacity: 1;
|
-webkit-opacity: 1;
|
||||||
-o-opacity: 1;
|
-o-opacity: 1;
|
||||||
|
@ -579,6 +579,46 @@ a.item:hover img {
|
||||||
src: url("http://impress.openneo.net/assets/fonts/Delicious-Italic.otf");
|
src: url("http://impress.openneo.net/assets/fonts/Delicious-Italic.otf");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* line 1, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
form {
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* line 14, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
#search-help {
|
||||||
|
float: left;
|
||||||
|
width: 49%;
|
||||||
|
padding-right: 1%;
|
||||||
|
}
|
||||||
|
/* line 9, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
#search-help h2 {
|
||||||
|
font-size: 125%;
|
||||||
|
}
|
||||||
|
/* line 18, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
#search-help dl {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
/* line 22, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
#search-help dd {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* line 27, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
#species-search-links {
|
||||||
|
float: left;
|
||||||
|
width: 49%;
|
||||||
|
padding-left: 1%;
|
||||||
|
}
|
||||||
|
/* line 9, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
#species-search-links h2 {
|
||||||
|
font-size: 125%;
|
||||||
|
}
|
||||||
|
/* line 32, ../../../app/stylesheets/items/_index.scss */
|
||||||
|
#species-search-links img {
|
||||||
|
height: 80px;
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
|
||||||
/* line 2, ../../../app/stylesheets/items/_show.scss */
|
/* line 2, ../../../app/stylesheets/items/_show.scss */
|
||||||
body.show header {
|
body.show header {
|
||||||
border-bottom: 1px solid #033e6b;
|
border-bottom: 1px solid #033e6b;
|
||||||
|
|
Loading…
Reference in a new issue