Merge branch 'laura_and_will' into maps

This commit is contained in:
Will Marshall
2014-06-05 15:50:53 +10:00
51 changed files with 558 additions and 137 deletions

View File

@@ -3,4 +3,5 @@
%ng-include{src: "'login.html'"}
%ng-include{src: "'signup.html'"}
%ng-include{src: "'forgot.html'"}
%a.close-reveal-modal{"ng-click" => "$close()"} ×
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.ofn-i_009-close

View File

@@ -1,6 +1,19 @@
@import mixins
#active-table-search
input
font-size: 2em
@include big-input
position: relative
i.ofn-i_020-search
position: absolute
left: 26px
top: 12px
font-size: 1.6em
z-index: 999
color: #b2b2b2
input[type="text"]
font-size: 2em
@include csstrans
@include big-input
padding-left: 44px

View File

@@ -20,6 +20,10 @@ checkout
padding: 0.65em
background: #f7f7f7
.label
font-size: 1em
padding: 0.3rem 0.35rem 0.275rem
// Logic to turn on & off the alerts for success against each fieldset
label, label.alert, label.success, &.valid label.alert, &.dirty label.success

View File

@@ -35,6 +35,8 @@
//Open row
&.open
.fat-taxons
margin-right: 0.5rem
.active_table_row:first-child
border-top: 1px solid $clr-brick
border-left: 1px solid $clr-brick

View File

@@ -17,6 +17,7 @@
.producer-hero-img
background-color: #999
width: 100%
min-height: 160px
height: inherit
max-height: 260px
overflow: hidden

View File

@@ -1,11 +1,25 @@
@import branding
@import mixins
.top-bar
.fixed .top-bar
@include box-shadow(0 2px 3px 0 rgba(0,0,0,0.25))
nav
@include textpress
// Default overrides - big menu
.top-bar-section .has-dropdown > a
padding-right: 15px !important
i.ofn-i_022-cog
font-size: 24px
line-height: 45px
.top-bar-section .has-dropdown > a:after
display: none
.top-bar-section ul li > a
font-size: 0.75rem
height: 45px
@@ -13,16 +27,40 @@ nav
opacity: 0.8
&:hover, &:focus, &:active
opacity: 1
.nav-branded
color: $clr-brick-light-bright
span
font-size: 13px
.nav-primary
@include avenir
font-size: 0.875rem
nav.top-bar a.icon i
font-size: 22px
// Mobile Menu
.off-canvas-wrap.move-right .tab-bar .menu-icon
@include box-shadow(inset 0 0 6px 2px rgba(0,0,0,0.5))
.off-canvas-wrap .tab-bar .menu-icon
@include csstrans
@include box-shadow(none)
.off-canvas-wrap.move-right .tab-bar .menu-icon span
-moz-box-shadow: 0 0px 0 1px #666, 0 7px 0 1px #666, 0 14px 0 1px #666
-webkit-box-shadow: 0 0px 0 1px #666, 0 7px 0 1px #666, 0 14px 0 1px #666
box-shadow: 0 0px 0 1px #666, 0 7px 0 1px #666, 0 14px 0 1px #666
.off-canvas-wrap.move-right ul.off-canvas-list
font-size: 0.875rem
.off-canvas-wrap.move-right ul.off-canvas-list i
font-size: 1.5rem
margin-right: 0.25rem
// Responsive
@media screen and (min-width: 1025px)
body.off-canvas
// padding required to placehold for fixed menu bar

View File

@@ -12,9 +12,14 @@
border: 1px solid #999
font-size: 18px
@extend .avenir
box-shadow: 0
padding: 0.75em 1em
height: auto
margin-bottom: 1em
background: rgba(255,255,255,0.65)
&:active, &:hover, &:focus
background: rgba(255,255,255,1)
border-color: #888
@mixin disabled
color: $disabled-bright
@@ -49,13 +54,12 @@
// Assign content: "string"
@mixin icon-font
font-family: "foundation-icons"
font-family: "OFN"
display: inline-block
font-weight: normal
font-style: normal
font-variant: normal
text-transform: none
font-size: 80%
// Background options \\

View File

@@ -4,4 +4,4 @@
.producers
@include fullwidthbg
background-image: url("/assets/producers/producers-pg-bg.jpg")
background-repeat: no-repeat
background-repeat: no-repeat

View File

@@ -1,6 +1,11 @@
@import mixins
@import branding
#cart-detail
.cart-item-delete
a.delete
font-size: 1.125em
#edit-cart
button, .button
margin: 0

View File

@@ -0,0 +1,190 @@
@font-face {
font-family: 'OFN';
src:url('/OFN.eot?-zgemuq');
src:url('/OFN.eot?#iefix-zgemuq') format('embedded-opentype'),
url('/OFN.woff?-zgemuq') format('woff'),
url('/OFN.ttf?-zgemuq') format('truetype'),
url('/OFN.svg?-zgemuq#OFN') format('svg');
font-weight: normal;
font-style: normal;
}
[class^="ofn-"], [class*=" ofn-"] {
font-family: 'OFN';
speak: none;
font-style: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
line-height: 1;
/* Better Font Rendering =========== */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ofn-i_055-point-left:before {
content: "\e600";
}
.ofn-i_054-point-right:before {
content: "\e601";
}
.ofn-i_053-point-up:before {
content: "\e602";
}
.ofn-i_052-point-down:before {
content: "\e603";
}
.ofn-i_051-check-big:before {
content: "\e604";
}
.ofn-i_050-mail-circle:before {
content: "\e605";
}
.ofn-i_049-web:before {
content: "\e606";
}
.ofn-i_048-play-video:before {
content: "\e607";
}
.ofn-i_047-youtube:before {
content: "\e608";
}
.ofn-i_046-g:before {
content: "\e609";
}
.ofn-i_045-pintrest:before {
content: "\e60a";
}
.ofn-i_044-facebook:before {
content: "\e60b";
}
.ofn-i_043-instagram:before {
content: "\e60c";
}
.ofn-i_042-linkedin:before {
content: "\e60d";
}
.ofn-i_041-twitter:before {
content: "\e60e";
}
.ofn-i_040-hub:before {
content: "\e60f";
}
.ofn-i_039-delivery:before {
content: "\e610";
}
.ofn-i_038-takeaway:before {
content: "\e611";
}
.ofn-i_037-map:before {
content: "\e612";
}
.ofn-i_036-producers:before {
content: "\e613";
}
.ofn-i_035-groups:before {
content: "\e614";
}
.ofn-i_034-timer:before {
content: "\e615";
}
.ofn-i_033-open-sign:before {
content: "\e616";
}
.ofn-i_032-closed-sign:before {
content: "\e617";
}
.ofn-i_031-alarm-clock:before {
content: "\e618";
}
.ofn-i_030-money:before {
content: "\e619";
}
.ofn-i_029-shopping-basket:before {
content: "\e61a";
}
.ofn-i_028-barcode:before {
content: "\e61b";
}
.ofn-i_027-shopping-cart:before {
content: "\e61c";
}
.ofn-i_026-trash:before {
content: "\e61d";
}
.ofn-i_025-notepad:before {
content: "\e61e";
}
.ofn-i_024-mail:before {
content: "\e61f";
}
.ofn-i_023-refresh:before {
content: "\e620";
}
.ofn-i_022-cog:before {
content: "\e621";
}
.ofn-i_021-tools:before {
content: "\e622";
}
.ofn-i_020-search:before {
content: "\e623";
}
.ofn-i_019-map-pin:before {
content: "\e624";
}
.ofn-i_018-unlocked:before {
content: "\e625";
}
.ofn-i_017-locked:before {
content: "\e626";
}
.ofn-i_016-group:before {
content: "\e627";
}
.ofn-i_015-user:before {
content: "\e628";
}
.ofn-i_014-menu:before {
content: "\e629";
}
.ofn-i_013-help:before {
content: "\e62a";
}
.ofn-i_012-warning:before {
content: "\e62b";
}
.ofn-i_011-spinner:before {
content: "\e62c";
}
.ofn-i_010-bullet:before {
content: "\e62d";
}
.ofn-i_009-close:before {
content: "\e62e";
}
.ofn-i_008-caret-left:before {
content: "\e62f";
}
.ofn-i_007-caret-right:before {
content: "\e630";
}
.ofn-i_006-caret-up:before {
content: "\e631";
}
.ofn-i_005-caret-down:before {
content: "\e632";
}
.ofn-i_004-x:before {
content: "\e633";
}
.ofn-i_003-check:before {
content: "\e634";
}
.ofn-i_002-arrow-right:before {
content: "\e635";
}
.ofn-i_001-arrow-left:before {
content: "\e636";
}

View File

@@ -33,9 +33,12 @@
border-top: 4px solid transparent
a:after
padding-left: 8px
content: "\f109"
content: "\e632"
visibility: hidden
@include icon-font
dd:hover
a:after
visibility: visible
// active nav link
@@ -45,7 +48,7 @@
a
color: $clr-brick-bright
a:after
content: "\f10c"
content: "\e631"
visibility: visible
@include icon-font

View File

@@ -37,18 +37,20 @@ h1, h2, h3, h4, h5, h6, .avenir
padding: 0px
ul.ofn-list
margin-left: 0.5em
margin: 0
li
list-style: none
line-height: 1.5
height: inherit
li:before
content: "\f112"
font-family: "foundation-icons"
content: "\e62d"
font-family: "OFN"
display: inline-block
font-weight: normal
font-style: normal
font-variant: normal
text-transform: none
font-size: 80%
.light-grey
color: #666666
@@ -70,7 +72,6 @@ table tr th, table tr td
table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td
color: #333333
span.email
direction: rtl
unicode-bidi: bidi-override

View File

@@ -3,10 +3,10 @@
%h5{"ng-class" => "{valid: billing.$valid, dirty: billing.$dirty}"}
%span.right
%label.label.round.alert
%i.fi-x
%label.label.round.success
%i.fi-check
%label.label.round.alert.right
%i.ofn-i_009-close
%label.label.round.success.right
%i.ofn-i_051-check-big
Billing info
%accordion-group{"is-open" => "accordion.billing",
@@ -19,9 +19,9 @@
{{ summary() | printArray }}
.small-1.columns.right
%span.accordion-up.right
%i.fi-arrow-up
%i.ofn-i_006-caret-up
%span.accordion-down.right
%i.fi-arrow-down
%i.ofn-i_005-caret-down
= f.fields_for :bill_address, @order.bill_address do |ba|
.row

View File

@@ -3,10 +3,10 @@
%h5{"ng-class" => "{valid: details.$valid, dirty: details.$dirty}"}
%span.right
%label.label.round.alert
%i.fi-x
%label.label.round.success
%i.fi-check
%label.label.round.alert.right
%i.ofn-i_009-close
%label.label.round.success.right
%i.ofn-i_051-check-big
Your details
%accordion-group{"is-open" => "accordion.details",
@@ -19,9 +19,9 @@
{{ summary() | printArray }}
.small-1.columns.right
%span.accordion-up.right
%i.fi-arrow-up
%i.ofn-i_006-caret-up
%span.accordion-down.right
%i.fi-arrow-down
%i.ofn-i_005-caret-down
.row
.small-6.columns

View File

@@ -3,10 +3,10 @@
%h5{"ng-class" => "{valid: payment.$valid, dirty: payment.$dirty}"}
%span.right
%label.label.round.alert
%i.fi-x
%label.label.round.success
%i.fi-check
%label.label.round.alert.right
%i.ofn-i_009-close
%label.label.round.success.right
%i.ofn-i_051-check-big
Payment
%accordion-group{"is-open" => "accordion.payment",
@@ -19,9 +19,9 @@
{{ Order.paymentMethod().name }}
.small-1.columns.right
%span.accordion-up.right
%i.fi-arrow-up
%i.ofn-i_006-caret-up
%span.accordion-down.right
%i.fi-arrow-down
%i.ofn-i_005-caret-down
- current_order.available_payment_methods.each do |method|
.row

View File

@@ -3,10 +3,10 @@
%h5{"ng-class" => "{valid: shipping.$valid, dirty: shipping.$dirty}"}
%span.right
%label.label.round.alert
%i.fi-x
%label.label.round.success
%i.fi-check
%label.label.round.alert.right
%i.ofn-i_009-close
%label.label.round.success.right
%i.ofn-i_051-check-big
Shipping info
%accordion-group{"is-open" => "accordion.shipping",
@@ -19,9 +19,9 @@
{{ Order.shippingMethod().name }}
.small-1.columns.right
%span.accordion-up.right
%i.fi-arrow-up
%i.ofn-i_006-caret-up
%span.accordion-down.right
%i.fi-arrow-down
%i.ofn-i_005-caret-down
- for ship_method, i in current_distributor.shipping_methods.uniq
.row

View File

@@ -25,6 +25,6 @@
//= f.submit "Purchase", class: "button", "ng-disabled" => "checkout.$invalid", "ofn-focus" => "accordion['payment']"
%a.button.secondary{href: cart_url}
%i.fi-arrow-left
%i.ofn-i_008-caret-left
Back to Cart

View File

@@ -25,7 +25,9 @@
.group-hero
%img.group-hero-img{"bo-src" => "group.promo_image"}
%img.group-logo{"bo-src" => "group.logo", "bo-if" => "group.logo"}
%h3.group-name {{ group.name }}
%h3.group-name
%i.ofn-i_035-groups
{{ group.name }}
%h5.group-description {{ group.description }}
.row.pad-top{bindonce: true}

View File

@@ -1,17 +1,27 @@
.row.active_table_row{"ng-show" => "open()"}
.columns.small-4
%strong Shop for
%h5
%i.ofn-i_029-shopping-basket
Shop for
%p.trans-sentence
%img{"ng-repeat" => "taxon in hub.taxons", "bo-src" => "taxon.icon",
name: "{{taxon.name}}", alt: "{{taxon.name}}"}
%span.fat-taxons{"ng-repeat" => "taxon in hub.taxons"}
%img{"bo-src" => "taxon.icon",
name: "{{taxon.name}}", alt: "{{taxon.name}}"}
{{taxon.name}}
.columns.small-4
%strong Delivery options
%h5 Delivery options
%ol
%li.pickup{"bo-if" => "hub.pickup"} Pickup
%li.delivery{"bo-if" => "hub.delivery"} Delivery
%li.pickup{"bo-if" => "hub.pickup"}
%i.ofn-i_038-takeaway
Pickup
%li.delivery{"bo-if" => "hub.delivery"}
%i.ofn-i_039-delivery
Delivery
.columns.small-4
%strong Our producers
%ul
%h5
%i.ofn-i_036-producers
Our producers
%ul.ofn-list
%li{"ng-repeat" => "producer in hub.producers"}
= render partial: "modals/producer"
@@ -22,4 +32,4 @@
.columns.small-1.text-right
%a{"bo-href" => "hub.path"}
%i.fi-arrow-right
%i.ofn-i_007-caret-right

View File

@@ -6,5 +6,5 @@
%h5 See all the groups & regions on the Open Food Network
%p
%a.neutral-btn.light{href: "/groups"}
%i.fi-torsos-all
%i.ofn-i_035-groups
View groups & regions

View File

@@ -10,10 +10,10 @@
%ofn-modal{title: "food hub"}
= render partial: "modals/food_hub"
from the list below:
%p
#active-table-search.row
#active-table-search.row.pad-top
.small-12.columns
%i.ofn-i_020-search
%input{type: :text,
"ng-model" => "query",
placeholder: "Search postcode, suburb or hub name...",

View File

@@ -6,5 +6,5 @@
%h5 of all our food hubs and producers
%p
%button.neutral-btn.light
%i.fi-map
%i.ofn-i_037-map
View map

View File

@@ -6,5 +6,5 @@
%h5 Looking for a specific producer or farmer?
%p
%a.neutral-btn.turquoise{href: "/producers"}
%i.fi-trees
%i.ofn-i_036-producers
View all producers

View File

@@ -1,13 +1,18 @@
.row.active_table_row{"ng-click" => "toggle()", "ng-class" => "{'closed' : !open()}"}
.columns.small-4
%i.ofn-i_040-hub
%strong {{ hub.name }}
.columns.small-3
{{ hub.address.city }}
.columns.small-1
{{ hub.address.state | uppercase }}
.columns.small-3{"bo-if" => "hub.active"}
{{ hub.orders_close_at | sensible_timeframe }}
.columns.small-3{"bo-if" => "!hub.active"}
%i.ofn-i_032-closed-sign
Orders closed
.columns.small-1.text-right
%i{"ng-class" => "{'fi-arrow-down' : !open(), 'fi-arrow-up' : open()}"}
%i{"ng-class" => "{'ofn-i_005-caret-down' : !open(), 'ofn-i_006-caret-up' : open()}"}

View File

@@ -14,4 +14,4 @@
= text_area_tag :email_body, "", :input_html => { :rows => 10 }
= submit_tag "Submit", class: "button"
= link_to "×".html_safe, "#", class: "close-reveal-modal"
= link_to "×".html_safe, "#", class: "close-reveal-modal"

View File

@@ -1,5 +1,8 @@
%h2 Food Hubs
%h2
%i.ofn-i_040-hub>
Food Hubs
%h5 Our food hubs are the point of contact between you and the people who make your food!
%p You can search for a convenient hub by location or name. Some hubs have multiple points where you can pick-up your purchases, and some will also provide delivery options. Each food hub is a sales point with independent business operations and logistics - so variations between hubs are to be expected.
%p You can only shop at one food hub at a time.
%a.close-reveal-modal{"ng-click" => "$close()"} ×
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.ofn-i_009-close

View File

@@ -1,4 +1,7 @@
%h2 Groups / Regions
%h2
%i.ofn-i_035-groups
Groups / Regions
%p These are the organisations and relationships between hubs which make up the Open Food Network.
%p Some groups are clustered by location or council, others by non-geographic similarities.
%a.close-reveal-modal{"ng-click" => "cancel()"} ×
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.ofn-i_009-close

View File

@@ -6,4 +6,5 @@
%h5 Learn more
%p If you want to learn more about the Open Food Network, how it works, and get involved, check out:
%a.button.neutral-btn.dark{:href => "http://www.openfoodnetwork.org" , :target => "_blank" } Open Food Network
%a.close-reveal-modal{"ng-click" => "$close()"} ×
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.ofn-i_009-close

View File

@@ -1,39 +1,49 @@
%ofn-modal{title: "{{producer.name}}"}
.row
.columns.small-12.producer-hero
.small-12.columns.producer-hero
%h3.producer-name
%i.ofn-i_036-producers
{{ producer.name }}
%img.producer-hero-img{"ng-src" => "{{producer.promo_image}}"}
/ Will - scale large images down to 1200px wide, crop in to img aspect ratio 60W:13H
%h3.producer-name {{ producer.name }}
.row
.columns.small-12.large-6{"ng-bind-html" => "producer.long_description"}
.columns.small-12.large-6
.small-12.large-6.columns
%p{"ng-bind-html" => "producer.long_description"}
.small-12.large-6.columns
%img.producer-logo{"ng-src" => "{{producer.logo}}", "ng-if" => "producer.logo"}
%h4 Stay in touch with {{ producer.name }}
%h5 Stay in touch with {{ producer.name }}
%ul.small-block-grid-1{bindonce: true}
%li{"ng-if" => "producer.website"}
%a{"ng-href" => "http://{{producer.website | stripUrl}}", target: "_blank" }
%i.fi-web
%i.ofn-i_049-web
{{ producer.website | stripUrl }}
%li{"ng-if" => "producer.email"}
%a{"ng-href" => "mailto:{{producer.email | stripUrl}}", target: "_blank" }
%i.ofn-i_050-mail-circle
{{ producer.email | stripUrl }}
%li{"ng-if" => "producer.twitter"}
%a{"ng-href" => "http://twitter.com/{{producer.twitter}}", target: "_blank"}
%i.fi-social-twitter
%i.ofn-i_041-twitter
{{ producer.twitter }}
%li{"ng-if" => "producer.facebook"}
%a{"ng-href" => "http://{{producer.facebook | stripUrl}}", target: "_blank"}
%i.fi-social-facebook
%i.ofn-i_044-facebook
{{ producer.facebook | stripUrl }}
%li{"ng-if" => "producer.linkedin"}
%a{"ng-href" => "http://{{producer.linkedin | stripUrl}}", target: "_blank"}
%i.fi-social-linkedin
%i.ofn-i_042-linkedin
{{ producer.linkedin | stripUrl }}
%li{"ng-if" => "producer.instagram"}
%a{"ng-href" => "http://instagram.com/{{producer.instagram}}", target: "_blank"}
%i.fi-social-instagram
%i.ofn-i_043-instagram
{{ producer.instagram }}
%a.close-reveal-modal{"ng-click" => "$close()"} ×
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.ofn-i_009-close

View File

@@ -1,4 +1,6 @@
%h2 Producers
%h5 Our producers make the food! All the delicious!
%p More text goes here.
%a.close-reveal-modal{"ng-click" => "cancel()"} ×
%h2
%i.ofn-i_036-producers
Producers
%p Our producers make all the delicious food you can shop for on the Open Food Network.
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.ofn-i_009-close

View File

@@ -7,4 +7,5 @@
%img{"ng-src" => "{{product.primary_taxon.icon}}"}
{{product.name}}
%p {{product.description}}
%a.close-reveal-modal{"ng-click" => "$close()"} ×
%a.close-reveal-modal{"ng-click" => "$close()"}
%i.ofn-i_009-close

View File

@@ -15,4 +15,4 @@
.columns.small-1.text-right
%a{"bo-href" => "hub.path"}
%i.fi-arrow-right
%i.ofn-i_007-caret-right

View File

@@ -1,9 +1,10 @@
.row.active_table_row{"ng-click" => "toggle()", "ng-class" => "{'closed' : !open()}"}
.columns.small-4
%i.ofn-i_036-producers
%strong {{ producer.name }}
.columns.small-3
{{ producer.address.city }}
.columns.small-4
{{ producer.address.state | uppercase }}
.columns.small-1.text-right
%i{"ng-class" => "{'fi-arrow-down' : !open(), 'fi-arrow-up' : open()}"}
%i{"ng-class" => "{'ofn-i_005-caret-down' : !open(), 'ofn-i_006-caret-up' : open()}"}

View File

@@ -4,17 +4,18 @@
-#%pre
-#{{ Producers.producers | json }}
#active-table-search.row
.small-12.columns.text-center
%p
.row
.small-12.columns.text-center.pad-top
%h1 Producers
%div
Select a
%ofn-modal{title: "producer"}
= render partial: "modals/producers"
from the list below:
%p
#active-table-search.row.pad-top
.small-12.columns
%i.ofn-i_020-search
%input{type: :text,
"ng-model" => "query",
placeholder: "Search postcode, suburb or hub name...",

View File

@@ -9,25 +9,27 @@
%h4 Follow us
%p
%a{title:'Follow us on Facebook', href: 'https://www.facebook.com/OpenFoodNet', target: '_blank'}
%i.fi-social-facebook
%i.ofn-i_044-facebook
Facebook   
%a{title:'Follow us on Twitter', href: 'https://twitter.com/OpenFoodNet', target: '_blank'}
%i.fi-social-twitter
%i.ofn-i_041-twitter
Twitter   
%a{title:'Join our group on LinkedIn', href: 'http://www.linkedin.com/groups/Open-Food-Foundation-4743336', target: '_blank'}
%i.fi-social-linkedin
%i.ofn-i_042-linkedin
LinkedIn
.small-12.medium-4.columns.text-left
%h4 Getting around
%ul.ofn-list
%li
%a{href: ""} Shop
%a{href: "/shop"}
%i.ofn-i_044-facebook
Shop
%li
%a{href: ""} Map
%a{href: "/map"} Map
%li
%a{href: ""} Producers
%a{href: "/producers"} Producers
%li
%a{href: ""} Groups
%a{href: "/groups"} Groups
.small-12.medium-4.columns.text-left
%h4 About us
%p OFN is a network of independent online food stores that connect farmers and food hubs with individuals and local businesses. It gives farmers and food hubs an easier and fairer way to distribute their food.

View File

@@ -1,6 +1,27 @@
%li#login-name
%a{"ng-click" => "toggle('/account')"}
= spree_current_user.email
%li.divider
%li#sign-out-link
= link_to "Sign Out", "/logout"
/ %li#login-name
/ %a{"ng-click" => "toggle('/account')"}
/ = spree_current_user.email
/ %li#sign-out-link
/ %a{title: 'Log Out', href:'/logout' }
/ %i.ofn-i_018-unlocked
/ LOG OUT
/ = link_to "Sign Out", "/logout"
/ %li.divider
%li.has-dropdown.not-click
%a{href: "#"}
%i.ofn-i_022-cog
%ul.dropdown
%li
%a{href: spree.account_path}
%i.ofn-i_015-user
= spree_current_user.email
%li
%a{title: 'Log Out', href:'/logout' }
%i.ofn-i_018-unlocked
LOG OUT
- if admin_user? or enterprise_user?
%li
%a{href: spree.admin_path}
%i.ofn-i_021-tools
Admin

View File

@@ -0,0 +1,14 @@
%li
%a{href: spree.account_path}
%i.ofn-i_015-user
= spree_current_user.email
%li
%a{title: 'Log Out', href:'/logout' }
%i.ofn-i_018-unlocked
LOG OUT
- if admin_user? or enterprise_user?
%li
%a{href: spree.admin_path}
%i.ofn-i_021-tools
Admin

View File

@@ -1,5 +1,5 @@
%li#login-link{"ng-controller" => "AuthenticationCtrl"}
%a{"ng-click" => "open()"}
%i.fi-lock
LOG IN
%i.ofn-i_017-locked
%span LOG IN

View File

@@ -1,5 +1,6 @@
%a.icon{href: cart_url, "ng-controller" => "CartCtrl"}
%i.fi-shopping-cart.nav-branded
%span.nav-branded
%i.ofn-i_027-shopping-cart
%span
{{ CurrentOrder.cart_count }}
items

View File

@@ -1,7 +1,7 @@
%nav.top-bar.show-for-large-up{'data' => 'topbar'}
%nav.top-bar.show-for-large-up{'data-topbar' => true}
%section.top-bar-section
%ul.left{}
%li= link_to image_tag("ofn_logo_small.png"), root_path
%li.ofn-logo= link_to image_tag("ofn_logo_small.png"), root_path
%li.divider
- if current_page? root_path
%li
@@ -27,7 +27,9 @@
- if admin_user? or enterprise_user?
%li
%a{href: spree.admin_path}
%span.nav-primary Admin
%span.nav-primary
%i.ofn-i_021-tools
Admin
%li.divider
%section.top-bar-section
%ul.right

View File

@@ -1,7 +1,7 @@
%nav.tab-bar.show-for-medium-down
%section.left
%a.left-off-canvas-toggle.menu-icon
%span
%span
%section.right
= render partial: "shared/menu/cart"
%a{href: main_app.shop_path}
@@ -14,32 +14,41 @@
- if admin_user? or enterprise_user?
%li
%a{href: spree.admin_path}
%span.nav-primary Admin
%span.nav-primary
%i.ofn-i_021-tools
Admin
%li
- if spree_current_user.nil?
= render 'shared/signed_out'
- else
= render 'shared/signed_in'
%li
%a{href: main_app.producers_path} Producers
= render 'shared/signed_in_offcanvas'
- if current_page? root_path
%li
%a{"ofn-scroll-to" => "hubs"}
%span.nav-primary Hubs
%span.nav-primary
%i.ofn-i_040-hub
Hubs
- else
%li
%a{href: root_path + "#/#hubs"}
%span.nav-primary Hubs
%span.nav-primary
%i.ofn-i_040-hub
Hubs
%li
%a{href: ""}
%span.nav-primary Map
%span.nav-primary
%i.ofn-i_037-map
Map
%li
%a{href: main_app.producers_path}
%span.nav-primary Producers
%span.nav-primary
%i.ofn-i_036-producers
Producers
%li
%a{href: main_app.groups_path}
%span.nav-primary Groups
%span.nav-primary
%i.ofn-i_035-groups
Groups

View File

@@ -8,7 +8,8 @@
name: "{{product.primary_taxon.name}}"}
= render partial: "modals/product"
.small-5.columns.summary-header
.small-5.columns
%i.ofn-i_036-producers
= render partial: "modals/producer"
.small-2.columns.summary-price.text-right.price

View File

@@ -7,7 +7,7 @@
%h4=current_distributor.name
%p
= current_distributor.address.address1
- if current_distributor.address.address2
- unless current_distributor.address.address2.blank?
%br
= current_distributor.address.address2
%br
@@ -20,36 +20,36 @@
- unless current_distributor.website.blank?
%li
%a{href: "http://#{current_distributor.website}", target: "_blank" }
%i.fi-web
%i.ofn-i_049-web
= current_distributor.website
- unless current_distributor.email.blank?
%li
%a{href: current_distributor.email.reverse, mailto: true }
%i.fi-mail
%i.ofn-i_050-mail-circle
%span.email
= current_distributor.email.reverse
- unless current_distributor.twitter.blank?
%li
%a{href: "http://twitter.com/#{current_distributor.twitter}", target: "_blank" }
%i.fi-social-twitter
%i.ofn-i_041-twitter
= current_distributor.twitter
- unless current_distributor.facebook.blank?
%li
%a{href: "http://#{current_distributor.facebook}", target: "_blank" }
%i.fi-social-facebook
%i.ofn-i_044-facebook
= current_distributor.facebook
- unless current_distributor.linkedin.blank?
%li
%a{href: "http://#{current_distributor.linkedin}", target: "_blank" }
%i.fi-social-linkedin
%i.ofn-i_042-linkedin
= current_distributor.linkedin
- unless current_distributor.instagram.blank?
%li
%a{href: "http://instagram.com.#{current_distributor.instagram}", target: "_blank" }
%i.fi-social-instagram
%i.ofn-i_043-instagram
= current_distributor.instagram

View File

@@ -31,8 +31,8 @@
%span.order-total.distribution-total= order_distribution_subtotal(@order)
%td
%td
= button_tag :class => 'neutral-btn dark expand small', :id => 'update-button' do
%i.fi-refresh
= button_tag :class => 'secondary radius expand small', :id => 'update-button' do
%i.ofn-i_023-refresh
= t(:update)
%td
%h5.order-total.grand-total= @order.display_total

View File

@@ -23,5 +23,5 @@
%td.cart-item-delete.text-center{"data-hook" => "cart_item_delete"}
{{ quantity }}
= link_to image_tag('icons/delete.png'), '#', :class => 'delete',
:id => "delete_#{dom_id(line_item)}"
%a.delete{href: "#", id: "delete_#{dom_id(line_item)}"}
%i.delete.ofn-i_026-trash

View File

@@ -30,12 +30,12 @@
.columns.large-8{"data-hook" => ""}
%a.button.large.secondary{href: main_app.shop_path}
%i.fi-arrow-left
%i.ofn-i_008-caret-left
Continue shopping
.columns.large-4.text-right
%a#checkout-link.button.large.primary{href: main_app.checkout_path}
Checkout
%i.fi-arrow-right
%i.ofn-i_007-caret-right
= render partial: "shared/footer"

BIN
public/OFN.eot Executable file

Binary file not shown.

65
public/OFN.svg Executable file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 84 KiB

BIN
public/OFN.ttf Executable file

Binary file not shown.

BIN
public/OFN.woff Executable file

Binary file not shown.

View File

@@ -20,6 +20,11 @@ feature "As a consumer I want to shop with a distributor", js: true do
end
it "shows a distributor with images" do
# Given the distributor has a logo
distributor.logo = File.new(Rails.root + 'app/assets/images/logo.jpg')
distributor.save!
# Then we should see the distributor and its logo
visit shop_path
page.should have_text distributor.name
find("#tab_about a").click