From 39449f240a8b391bb3fe14dde6af12bbd0c3868a Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Mon, 3 Sep 2012 12:09:35 +0200 Subject: [PATCH] style changes and refactoring --- app/assets/images/.DS_Store | Bin 12292 -> 12292 bytes app/assets/images/icons/logo-big.png | Bin 0 -> 10193 bytes app/assets/images/icons/logo-small.png | Bin 0 -> 1357 bytes app/assets/images/qr.png | Bin 0 -> 4524 bytes app/assets/javascripts/jquery.cookie.js | 96 ------ app/assets/javascripts/qrammer.js.coffee | 27 -- .../javascripts/supplier/application.js | 38 +++ .../{ => supplier}/qsupplier.js.coffee | 8 +- app/assets/javascripts/user/application.js | 16 +- app/assets/javascripts/user/quser.js.coffee | 1 + app/assets/stylesheets/_constants.css.sass | 3 + .../{phone => }/bootstrap_overrides.css.sass | 5 + app/assets/stylesheets/darkstrap.sass | 286 ++++++++++++++++++ app/assets/stylesheets/mixins.sass | 41 +++ app/assets/stylesheets/phone/application.css | 4 +- .../stylesheets/phone/structure.css.sass | 8 +- .../stylesheets/qr_sheet/application.css | 13 + .../stylesheets/qr_sheet/structure.css.sass | 7 + app/assets/stylesheets/structure.css.sass | 9 + app/assets/stylesheets/tablet/application.css | 5 +- .../stylesheets/tablet/structure.css.sass | 6 +- .../suppliers/tables_controller.rb | 5 + app/helpers/application_helper.rb | 4 + app/views/dashboard/home.html.slim | 5 +- app/views/layouts/application.html.slim | 28 +- app/views/layouts/phone.html.slim | 8 +- app/views/layouts/qr_sheet.html.slim | 13 + app/views/layouts/tablet.html.slim | 6 +- app/views/suppliers/tables/index.html.slim | 2 + app/views/suppliers/tables/qr_codes.html.slim | 3 + app/views/user/list_products.html.slim | 2 + .../user/list_products_for_table.html.slim | 2 + config/locales/en.yml | 4 + config/routes.rb | 6 +- notes.js.coffee | 25 ++ public/favicon.ico | Bin 0 -> 318 bytes 36 files changed, 527 insertions(+), 159 deletions(-) create mode 100644 app/assets/images/icons/logo-big.png create mode 100644 app/assets/images/icons/logo-small.png create mode 100644 app/assets/images/qr.png delete mode 100644 app/assets/javascripts/jquery.cookie.js create mode 100644 app/assets/javascripts/supplier/application.js rename app/assets/javascripts/{ => supplier}/qsupplier.js.coffee (95%) create mode 100644 app/assets/stylesheets/_constants.css.sass rename app/assets/stylesheets/{phone => }/bootstrap_overrides.css.sass (80%) create mode 100644 app/assets/stylesheets/darkstrap.sass create mode 100644 app/assets/stylesheets/mixins.sass create mode 100644 app/assets/stylesheets/qr_sheet/application.css create mode 100644 app/assets/stylesheets/qr_sheet/structure.css.sass create mode 100644 app/views/layouts/qr_sheet.html.slim create mode 100644 app/views/suppliers/tables/qr_codes.html.slim create mode 100644 notes.js.coffee diff --git a/app/assets/images/.DS_Store b/app/assets/images/.DS_Store index 7dd0890c1aece779e45de408b51cfc8ce4fa5725..21735e3d1a542e083e60529d495ddb830b3b5be4 100644 GIT binary patch delta 64 zcmZokXi1ph&nU1lU^hRbz-AtSW+quShC+rS20exXhCGIJ&z$_^q@4UD1_lNJ1_s6( Un;V4KnKti{31QyMF7a0!069$&hX4Qo delta 34 qcmZokXi1ph&&ah}yqR6%uQ&kIJq#!S diff --git a/app/assets/images/icons/logo-big.png b/app/assets/images/icons/logo-big.png new file mode 100644 index 0000000000000000000000000000000000000000..93f661cfb5612f548eee6eebff200daa487f4811 GIT binary patch literal 10193 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 ZT>C_gR4Rgsz~gs-s*;9cnY_iD{|9Yz8jJt{ literal 0 HcmV?d00001 diff --git a/app/assets/images/icons/logo-small.png b/app/assets/images/icons/logo-small.png new file mode 100644 index 0000000000000000000000000000000000000000..a473061005bf72cb50b3bd3f111dc3e1f30802a0 GIT binary patch literal 1357 zcmV-T1+w~yP)pvg%J6PGcsJ}gk)VrWb{Dr&{Then#wX~?YZBC)SN}dwz^Nq zO*6lhHz&?{p~5ErFIC%5No$(fWlbNKtqMiVHBU;C6Q`y5oYC2`V_d2#r@ghA=rOUR zELcM1=-7T|YC_U15>nD#7wso=RGq4y_xjYCs<#1BO7?8Yr=s*A?mc&@vW)W5!z^31 zp2?{T`VD1CNY>RA7?n6Wq= zj&KD)2;sGJRawbXeQmAHoc*P=-#~5##aBlurOynsH1$72ZutZfLNGMk`>_<}!yi;2 zfVj!ipXxJ)gfd~u%z*`3^zH}5O-k-%S5-aP%RgdNtR-kbUd!Dry}`(;O~sV#-%0H` zJMFD^86N#IuOz0Du{bAaFn$BwYiXjjv4Ke`bJ?=}J5p!OqV!B9_5TcF_PjTc(#6qz zJNUi&jAzWlj&_`mE&vRs5KN(idc+h6Ru}CgBy@0KK#jMqQIMO7)6qptTs&FXS*%#O z61}Qt_m`jX;i5!B2fx6|jbE`O?_&U38gH{9H#b!wvwJtt#*v#wU>d_z~(ZobF+( zK79&+3*|Oin;JZJr_;f%O>6ml&2rDuC1+$YecocfVY~u8xZlS9?M1!pHI-!m*beXY z*uuhx^HTH}0O~GQ0uVVmhIdwP2nfb2(2w72=Kj6bUiO<;FLP+uR{p4|^4MM&8o~M< zKasLv3D8}YEAqd^p)!Cz6xToZ~ zRi9r#n&#}$4hbEMq6=PS1q`IBJ(ozQswhD$^?-qNdVMb-0yw<`272-V_@q>|H;^E> zKyC&_Z!q3zxPH|;km0{26GG|!l;8s0zIGK=Z)jFD&1t)Q-mZD;JS1!=!-hv8gdp~{ zi2#fm+x^l|RXw3Y!ukzVd%nWq(zIh()5m37)6A}F`zf!#Ok6HaKDgiZSlcBZw6{rz zqbn%CW8R-T-eH|>ep^T>$xAmE3Z1$(E^(TiFf~;j5k0!!GxkT#cj~D-Z`aQKdR&oG ze!A0kxj?u#Q{Ei&QlaSP>vZZuM^|U$Kmh6W#wM5Mw7E3xhvJiUM*#i>74wU@a@+i+ P00000NkvXXu0mjf%(R1U literal 0 HcmV?d00001 diff --git a/app/assets/images/qr.png b/app/assets/images/qr.png new file mode 100644 index 0000000000000000000000000000000000000000..4d44bd35a91d27edca475fc1e0e9130f5d97a940 GIT binary patch literal 4524 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 VWP~C618-L7^bkmRnHD - wrapper = $('') - callback_wrapper = -> - wrapper.modal('hide') - callback() - header = $('') - .append('') - .append('

Product list

').appendTo(wrapper) - - body = $('') - table = $('
').appendTo(body) - tbody = $('').appendTo(table) - for product_id, info of window.active_products_list - row = $('').appendTo(tbody) - row.append(''+info.product.name+'') - row.append(''+info.number+'') - row.append(''+Qrammer.currency(info.product.price * info.number)+'') - - body.appendTo(wrapper) - - footer = $('') - .append($('Close').click(-> wrapper.modal('hide'))) - .append($('Yes').click(callback_wrapper)) - .appendTo(wrapper) - wrapper.modal() - jQuery.ajaxSetup 'beforeSend': (xhr) -> xhr.setRequestHeader("Accept", "text/javascript") diff --git a/app/assets/javascripts/supplier/application.js b/app/assets/javascripts/supplier/application.js new file mode 100644 index 00000000..de94066b --- /dev/null +++ b/app/assets/javascripts/supplier/application.js @@ -0,0 +1,38 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// the compiled file. +// +// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD +// GO AFTER THE REQUIRES BELOW. +// +//= require jquery +//= require jquery_ujs +//= require jquery-ui +//= require twitter/bootstrap +//= require_directory . +//= require_self +var path_mapping = { + user_root: '/user', + join_occupied_table: '/user/join_occupied_table', + list_products_for_table: '/user/list_products_for_table', + list_products: '/user/list_products' +} +function redirect_to(mapping, variables){ + variables || (variables = {}); + var vars = [] + for(var name in variables){ + vars.push(name + '=' +variables[name]) + } + window.location = path_mapping[mapping] + '?' + vars.join('&') +} +function currency(num) { + if (isNaN(num) || num === '' || num === null) { + num = 0.0; + } + return '€ ' + parseFloat(num).toFixed(2); +} diff --git a/app/assets/javascripts/qsupplier.js.coffee b/app/assets/javascripts/supplier/qsupplier.js.coffee similarity index 95% rename from app/assets/javascripts/qsupplier.js.coffee rename to app/assets/javascripts/supplier/qsupplier.js.coffee index 2cb8b084..a1f44df7 100644 --- a/app/assets/javascripts/qsupplier.js.coffee +++ b/app/assets/javascripts/supplier/qsupplier.js.coffee @@ -86,12 +86,12 @@ root.Qsupplier= row.append($('').text(list.table_number)) row.append($('').text(list.section_title)) - row.append($('').html(Qrammer.currency(list.total_amount))) + row.append($('').html(currency(list.total_amount))) td_buttons = $('') td_buttons.append(needs_help_btn).append(' ') if list.needs_help td_buttons.append(close_btn) row.append(td_buttons) - #foot.append(''+Qrammer.currency(res.total_amount)+''); + #foot.append(''+currency(res.total_amount)+''); ) load_active_orders: () -> @@ -125,10 +125,10 @@ root.Qsupplier= row.append($('').text(order_txts.join(', '))) row.append($('').text(order.table_number)) row.append($('').text(order.section_title)) - row.append($('').html(Qrammer.currency(order.total_amount))) + row.append($('').html(currency(order.total_amount))) td_buttons = $('') td_buttons.append(process_btn).append(' ') if order.state == 'placed' td_buttons.append(delivered_btn) row.append(td_buttons) - #foot.append(''+Qrammer.currency(res.total_amount)+''); + #foot.append(''+currency(res.total_amount)+''); ) diff --git a/app/assets/javascripts/user/application.js b/app/assets/javascripts/user/application.js index de94066b..643dbe9a 100644 --- a/app/assets/javascripts/user/application.js +++ b/app/assets/javascripts/user/application.js @@ -12,8 +12,20 @@ // //= require jquery //= require jquery_ujs -//= require jquery-ui -//= require twitter/bootstrap +// require twitter/bootstrap +//= require twitter/bootstrap/bootstrap-transition +// require twitter/bootstrap/bootstrap-alert +//= require twitter/bootstrap/bootstrap-modal +//= require twitter/bootstrap/bootstrap-dropdown +//= require twitter/bootstrap/bootstrap-scrollspy +//= require twitter/bootstrap/bootstrap-tab +//= require twitter/bootstrap/bootstrap-tooltip +//= require twitter/bootstrap/bootstrap-popover +//= require twitter/bootstrap/bootstrap-button +//= require twitter/bootstrap/bootstrap-collapse +// require twitter/bootstrap/bootstrap-carousel +//= require twitter/bootstrap/bootstrap-typeahead +//= require twitter/bootstrap/bootstrap-affix //= require_directory . //= require_self var path_mapping = { diff --git a/app/assets/javascripts/user/quser.js.coffee b/app/assets/javascripts/user/quser.js.coffee index 4c97d26d..d0e226f6 100644 --- a/app/assets/javascripts/user/quser.js.coffee +++ b/app/assets/javascripts/user/quser.js.coffee @@ -133,6 +133,7 @@ window.Quser= if res.table_number $('.table-number').text(res.table_number) delete(res['table_number']) + body.find('tr').remove() for category, products of res body.append('

'+category+'

') for product in products diff --git a/app/assets/stylesheets/_constants.css.sass b/app/assets/stylesheets/_constants.css.sass new file mode 100644 index 00000000..64b37f40 --- /dev/null +++ b/app/assets/stylesheets/_constants.css.sass @@ -0,0 +1,3 @@ +$qbrown: #634227 +$wood: image-url('textures/wood6.png') +$background-brown: #57351f diff --git a/app/assets/stylesheets/phone/bootstrap_overrides.css.sass b/app/assets/stylesheets/bootstrap_overrides.css.sass similarity index 80% rename from app/assets/stylesheets/phone/bootstrap_overrides.css.sass rename to app/assets/stylesheets/bootstrap_overrides.css.sass index 8fcf3817..8d147588 100644 --- a/app/assets/stylesheets/phone/bootstrap_overrides.css.sass +++ b/app/assets/stylesheets/bootstrap_overrides.css.sass @@ -15,3 +15,8 @@ body $navbar-inner-teint: 200 background-color: rgba($navbar-inner-teint, $navbar-inner-teint, $navbar-inner-teint, 0.8) background-image: url() + .brand + padding: 3px 0 + .container + .brand + padding-left: 7px diff --git a/app/assets/stylesheets/darkstrap.sass b/app/assets/stylesheets/darkstrap.sass new file mode 100644 index 00000000..0f9486b0 --- /dev/null +++ b/app/assets/stylesheets/darkstrap.sass @@ -0,0 +1,286 @@ +@import compass +@import mixins + +// Contents: +// =General +// =Breadcrumbs +// =Headings +// =Navigation +// =Forms +// =Tables +// =Pagination +// =Misc + +$color: #c6c6c6 +$bg: #2f2f2f +$link: #0088cc + +$warning: #faa732 +$success: #5bb75b +$error: #fc5b5e + +// ds original: #FB292D +$info: #3a87ad + +$input-bg: #666666 + +// ds default: #444 +$input-border: #111111 + +// default: white +$input-placeholder: #666666 +$input-color: white + +//=General ======================================== +// Everything with the inset panel just extends .well +.well + +inset-panel-dark + +body + background: $bg + color: $color + +//=Breadcrumbs ======================================= +.breadcrumb + @extend .well + border: 0 + //over bs + li + text-shadow: 0 1px 0 #000 + //over bs + +//=Headings ====================================== +.page-header + +horizontal-rule-dark + +h1,h2,h3,h4,h5,h6 + color: white + +h6 + color: #999 + +//=Navigation +.nav .dropdown-menu + +.nav-tabs .open .dropdown-toggle, +.nav-pills .open .dropdown-toggle, +.nav > .open.active > a:hover + background-color: darken($bg, 5%) + border-color: $bg $bg transparent $bg + +.nav > .dropdown.active > a:hover + color: #fff + +.nav-tabs .active .dropdown-toggle .caret, +.nav-pills .active .dropdown-toggle .caret + border-top-color: #fff + +.nav-tabs + border-bottom: 1px solid #666 + & > .active > a, + & > .active > a:hover + background-color: $bg + color: #fff + border-color: #666 #666 transparent #666 + & > li > a:hover + border-color: $bg $bg #666666 $bg + background-color: darken($bg, 5%) + color: lighten($link, 10%) + &.nav-stacked + & > li > a, + & > li > a:hover + border-color: #666 + +.nav-pills + & > li > a:hover + background-color: darken($bg, 5%) + color: lighten($link, 10%) + +.nav-list > li > a, +.nav-list .nav-header + text-shadow: 0 1px 0 #000 + +.nav-list > li > a:hover + background-color: darken($bg, 10%) + color: lighten($link, 10%) + +.nav-list .active + & > a:hover + background-color: #0088cc + color: white + +.tabs-below .nav-tabs + border-top: 1px solid #666 + +.tabs-left .nav-tabs + border-right: 1px solid #666 + +.tabs-right .nav-tabs + border-left: 1px solid #666 + +.tabs-below .nav-tabs > li > a:hover + border-top: 1px solid #666 + +.tabs-left .nav-tabs > li > a:hover + border-color: transparent #666 transparent transparent + +.tabs-right .nav-tabs > li > a:hover + border-color: transparent transparent transparent #666 + +.tabs-below .nav-tabs .active > a, +.tabs-below .nav-tabs .active > a:hover + border-color: transparent #666 #666 #666 + +.tabs-left .nav-tabs .active > a, +.tabs-left .nav-tabs .active > a:hover + border-color: #666 transparent #666 #666 + +.tabs-right .nav-tabs .active > a, +.tabs-right .nav-tabs .active > a:hover + border-color: #666 #666 #666 transparent + +//=Forms ======================================== ++placeholder($input-placeholder) + +.input-prepend .add-on, +.input-append .add-on + background: #444 + color: $color + border-color: #111 + text-shadow: 0 1px 0 black + +label + color: $color + +input, +input[type="file"], +select, +textarea + color: $input-color + //background-color: $input-bg; + border-color: $input-border + @extend .well + +.search-query + -webkit-box-shadow: rgba(255, 255, 255, 0.1) 0 1px 0, rgba(0, 0, 0, 0) 0 1px 7px 0px inset + +legend + color: white + +horizontal-rule-dark + +.form-actions + border-top-color: #222 + background-color: #444 + +.help-inline + color: #999 + +.control-group + &.warning + +controls($warning) + &.success + +controls($success) + &.error + +controls($error) + +//=Tables ======================================== +.table + thead + color: white + td + border-top-color: #666 + +.table-striped + tbody tr:nth-child(2n+1) + td, th + background-color: #444 + +.table-bordered + border: 1px solid #666 + th + th, + td + td, + th + td, + td + th + border-left: 1px solid #666 + +//=Pagination +.pagination a:hover + color: lighten($link, 10%) + background-color: darken($bg, 5%) + +.pagination .active a + color: #fff + background-color: darken($bg, 5%) + +.pagination a + border-color: #666 + +//=Pager +.pager a + background-color: $bg + border-color: #666 + &:hover + background-color: darken($bg, 5%) + color: lighten($link, 10%) + +//=Alerts +=alert($color) + color: #fff + background-color: $color + text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25) + border-color: darken($color, 25%) + h4 + color: darken($color, 20%) + +.alert + +alert($warning) + +.alert-success + +alert($success) + +.alert-error + +alert($error) + +.alert-info + +alert($info) + +//=Modals + +.modal + background-color: #444 + +.modal-header + border-bottom: 1px solid #222 + +.modal-body p + color: $color + +.modal-footer + background-color: darken(#444444, 5%) + border-top: 1px solid #222 + +box-shadow(0 1px 0 #333333 inset) + +//=Progress bars +.progress + @extend .well + +//=Misc ======================================== +blockquote + border-left-color: #111 + &.pull-right + border-right-color: #111 + +hr + +horizontal-rule-dark + border-top: none + +code + @extend .well + border: none + //over bs + +pre + @extend .well + border: none + //over bs + color: $color diff --git a/app/assets/stylesheets/mixins.sass b/app/assets/stylesheets/mixins.sass new file mode 100644 index 00000000..33c19ef5 --- /dev/null +++ b/app/assets/stylesheets/mixins.sass @@ -0,0 +1,41 @@ +=placeholder($color: $input-placeholder) + \:-moz-placeholder + color: $color + \::-webkit-input-placeholder + color: $color + +=controls($color) + & > label, + .help-block, + .help-inline + color: $color + input, select, textarea + //color: lighten($color, 20%); + color: $color + border-color: $color + input:focus, + select:focus, + textarea:focus + border-color: $color + +box-shadow(0 0 6px $color) + +=inset-panel-dark + +box-shadow(rgba(white, 0.1) 0 1px 0, rgba(black, 0.8) 0 1px 7px 0px inset) + background: darken(#2f2f2f, 6) + background-color: rgba(black, 0.3) + +=horizontal-rule-dark + +box-shadow(rgba(white, 0.07) 0 1px 0) + border-bottom: 1px solid #121212 + +=horizontal-rule-top-dark + +box-shadow(rgba(white, 0.07) 0 1px 0 inset) + border-top: 1px solid #121212 + +=vertical-rule-dark + +box-shadow(rgba(white, 0.07) 1px 0 0) + border-right: 1px solid #121212 + +=vertical-rule-left-dark + +box-shadow(rgba(white, 0.07) 1px 0 0 inset) + border-left: 1px solid #121212 diff --git a/app/assets/stylesheets/phone/application.css b/app/assets/stylesheets/phone/application.css index 0f96e07c..65a26171 100644 --- a/app/assets/stylesheets/phone/application.css +++ b/app/assets/stylesheets/phone/application.css @@ -8,6 +8,8 @@ * You're free to add application-wide styles to this file and they'll appear at the top of the * compiled file, but it's generally better to create a new file per style scope. * - *= require_self + *= require 'bootstrap_and_overrides' + *= require 'bootstrap_overrides' *= require_directory . + *= require_self */ diff --git a/app/assets/stylesheets/phone/structure.css.sass b/app/assets/stylesheets/phone/structure.css.sass index b0b96f0c..ef2f0489 100644 --- a/app/assets/stylesheets/phone/structure.css.sass +++ b/app/assets/stylesheets/phone/structure.css.sass @@ -1,14 +1,16 @@ @import compass +@import constants $side-spacing: 5px -$qbrown: #634227 html - background-image: image-url('textures/wood6.png') + background-image: $wood + background-color: $background-brown body padding-left: $side-spacing padding-right: $side-spacing - background-image: image-url('textures/wood6.png') + //background-image: image-url('textures/wood6.png') + background-color: transparent .home-panel margin-left: 20px margin-right: 20px diff --git a/app/assets/stylesheets/qr_sheet/application.css b/app/assets/stylesheets/qr_sheet/application.css new file mode 100644 index 00000000..0f96e07c --- /dev/null +++ b/app/assets/stylesheets/qr_sheet/application.css @@ -0,0 +1,13 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, + * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the top of the + * compiled file, but it's generally better to create a new file per style scope. + * + *= require_self + *= require_directory . + */ diff --git a/app/assets/stylesheets/qr_sheet/structure.css.sass b/app/assets/stylesheets/qr_sheet/structure.css.sass new file mode 100644 index 00000000..3c382ce5 --- /dev/null +++ b/app/assets/stylesheets/qr_sheet/structure.css.sass @@ -0,0 +1,7 @@ +ul#qr-list + list-style: none + li + float: left + margin-right: 20px + border: 1px solid black + margin-bottom: 20px diff --git a/app/assets/stylesheets/structure.css.sass b/app/assets/stylesheets/structure.css.sass index 24a216fd..0e689319 100644 --- a/app/assets/stylesheets/structure.css.sass +++ b/app/assets/stylesheets/structure.css.sass @@ -1,3 +1,9 @@ +@import constants +html + background-color: $background-brown + background-image: $wood +body + background-color: transparent table thead th @@ -84,3 +90,6 @@ table padding: 0 li float: left +img.home-qr + float: left + margin: 0 20px 20px 0 diff --git a/app/assets/stylesheets/tablet/application.css b/app/assets/stylesheets/tablet/application.css index eff84b95..f5386a56 100644 --- a/app/assets/stylesheets/tablet/application.css +++ b/app/assets/stylesheets/tablet/application.css @@ -1,5 +1,6 @@ /* - *= require_self + *= require 'bootstrap_and_overrides' + *= require 'bootstrap_overrides' *= require_directory . - *= require 'phone/bootstrap_overrides' + *= require_self */ diff --git a/app/assets/stylesheets/tablet/structure.css.sass b/app/assets/stylesheets/tablet/structure.css.sass index aff9922c..38ff1649 100644 --- a/app/assets/stylesheets/tablet/structure.css.sass +++ b/app/assets/stylesheets/tablet/structure.css.sass @@ -1,8 +1,12 @@ $side-spacing: 0px +@import constants +html + background-image: $wood + background-color: $background-brown body padding-left: $side-spacing padding-right: $side-spacing - background-image: image-url('textures/wood6.png') + background-color: transparent //padding-top: 50px .navbar-fixed-top margin-left: -$side-spacing diff --git a/app/controllers/suppliers/tables_controller.rb b/app/controllers/suppliers/tables_controller.rb index 73cfe474..ab418ea2 100644 --- a/app/controllers/suppliers/tables_controller.rb +++ b/app/controllers/suppliers/tables_controller.rb @@ -85,5 +85,10 @@ module Suppliers format.json { head :no_content } end end + + def qr_codes + @tables = current_supplier.tables + render layout: 'qr_sheet' + end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index de9f64ba..03b67a13 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -53,4 +53,8 @@ module ApplicationHelper def no_content_given(model) t('helpers.list.no_records') end + + def slider_image + image_tag('spinner.gif') + end end diff --git a/app/views/dashboard/home.html.slim b/app/views/dashboard/home.html.slim index efa0e27d..4e24d673 100644 --- a/app/views/dashboard/home.html.slim +++ b/app/views/dashboard/home.html.slim @@ -1,2 +1,5 @@ .page-header - h1 Home + h1 Qwaiter +p + = image_tag 'qr.png', class: 'home-qr' + |Welcome on the Qwaiter homepage. Qwaiter is an application that lets you place orders by simply scanning a code from a table on a terrace or a restaurant. Then directly the menu appears and you can place your order. See the progress while you wait for your drinks! diff --git a/app/views/layouts/application.html.slim b/app/views/layouts/application.html.slim index f1dca3e8..016a1384 100644 --- a/app/views/layouts/application.html.slim +++ b/app/views/layouts/application.html.slim @@ -15,24 +15,24 @@ html lang="en" link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon-precomposed" sizes="114x114" link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon-precomposed" sizes="72x72" link href="images/apple-touch-icon.png" rel="apple-touch-icon-precomposed" - link href="images/favicon.ico" rel="shortcut icon" + link href="/favicon.ico" rel="shortcut icon" body - .navbar.navbar-fixed-top - .navbar-inner - .container - a.btn.btn-navbar data-target=".nav-collapse" data-toggle="collapse" - span.icon-bar - span.icon-bar - span.icon-bar - a.brand href=root_path = application_title - .container.nav-collapse - ul.nav - li= link_to User.model_name.human_plural, user_root_path - li= link_to Supplier.model_name.human_plural, supplier_root_path - .container + .navbar + .navbar-inner + .container + a.btn.btn-navbar data-target=".nav-collapse" data-toggle="collapse" + span.icon-bar + span.icon-bar + span.icon-bar + a.brand href=root_path = image_tag 'icons/logo-small.png', alt: application_title + .container.nav-collapse + ul.nav + li= link_to User.model_name.human_plural, user_root_path + li= link_to Supplier.model_name.human_plural, supplier_root_path + .content - if flash[:alert].present? .alert.alert-error diff --git a/app/views/layouts/phone.html.slim b/app/views/layouts/phone.html.slim index 7341e45a..09dde61d 100644 --- a/app/views/layouts/phone.html.slim +++ b/app/views/layouts/phone.html.slim @@ -10,19 +10,19 @@ html lang="en" /! Le HTML5 shim, for IE6-8 support of HTML elements /[if lt IE 9] = javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js" - = stylesheet_link_tag "application", :media => "all" = stylesheet_link_tag "phone/application", :media => "all" link href="images/apple-touch-icon-144x144.png" rel="apple-touch-icon-precomposed" sizes="144x144" link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon-precomposed" sizes="114x114" link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon-precomposed" sizes="72x72" link href="images/apple-touch-icon.png" rel="apple-touch-icon-precomposed" - link href="images/favicon.ico" rel="shortcut icon" + link href="/favicon.ico" rel="shortcut icon" javascript: var QMobile; // Dummy holder when Qmobile object is not supplied by the mobile phone QMobile || (QMobile = { scanQr: function(){window.location = '/select_qrcode'}, - activateRotation: function(){} + activateRotation: function(){}, + mobile: function(){return false} }); body class=action_name @@ -33,7 +33,7 @@ html lang="en" span.icon-bar span.icon-bar span.icon-bar - a.brand href=user_root_path = application_title + a.brand href=user_root_path = image_tag 'icons/logo-small.png', alt: application_title .container.nav-collapse ul.nav#top-navigation-list li= link_to 'View history', user_list_history_path diff --git a/app/views/layouts/qr_sheet.html.slim b/app/views/layouts/qr_sheet.html.slim new file mode 100644 index 00000000..e4aafec3 --- /dev/null +++ b/app/views/layouts/qr_sheet.html.slim @@ -0,0 +1,13 @@ +doctype html +html lang="en" + head + meta charset="utf-8" + meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" + meta name="viewport" content="width=device-width, initial-scale=1.0" + title= content_for?(:title) ? yield(:title) : application_title + = csrf_meta_tags + = stylesheet_link_tag "qr_sheet/application", :media => "all" + link href="/favicon.ico" rel="shortcut icon" + + body + = yield diff --git a/app/views/layouts/tablet.html.slim b/app/views/layouts/tablet.html.slim index 30955aae..92769047 100644 --- a/app/views/layouts/tablet.html.slim +++ b/app/views/layouts/tablet.html.slim @@ -10,13 +10,13 @@ html lang="en" /! Le HTML5 shim, for IE6-8 support of HTML elements /[if lt IE 9] = javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js" - = stylesheet_link_tag "application", :media => "all" + = stylesheet_link_tag "supplier/application", :media => "all" = stylesheet_link_tag "tablet/application", :media => "all" link href="images/apple-touch-icon-144x144.png" rel="apple-touch-icon-precomposed" sizes="144x144" link href="images/apple-touch-icon-114x114.png" rel="apple-touch-icon-precomposed" sizes="114x114" link href="images/apple-touch-icon-72x72.png" rel="apple-touch-icon-precomposed" sizes="72x72" link href="images/apple-touch-icon.png" rel="apple-touch-icon-precomposed" - link href="images/favicon.ico" rel="shortcut icon" + link href="/favicon.ico" rel="shortcut icon" body .navbar.navbar-fixed-top.navbar-inverse @@ -26,7 +26,7 @@ html lang="en" span.icon-bar span.icon-bar span.icon-bar - a.brand href=supplier_root_path = application_title + a.brand href=supplier_root_path = image_tag 'icons/logo-small.png', alt: application_title ul.nav.pull-right li.dropdown a.dropdown-toggle href="#" data-toggle="dropdown" diff --git a/app/views/suppliers/tables/index.html.slim b/app/views/suppliers/tables/index.html.slim index 64f2269a..adebad23 100644 --- a/app/views/suppliers/tables/index.html.slim +++ b/app/views/suppliers/tables/index.html.slim @@ -24,3 +24,5 @@ div.page-header= title :index, model_class .form-actions = link_to t("helpers.links.new"), new_suppliers_table_path, class: 'btn btn-primary' + ' + = link_to t('supplier.tables.qr_codes.link'), qr_codes_suppliers_tables_path, class: 'btn btn-info' diff --git a/app/views/suppliers/tables/qr_codes.html.slim b/app/views/suppliers/tables/qr_codes.html.slim new file mode 100644 index 00000000..dca17de4 --- /dev/null +++ b/app/views/suppliers/tables/qr_codes.html.slim @@ -0,0 +1,3 @@ +ul#qr-list + - for table in @tables + li= image_tag(url_for(table_qr_image_path(table_id: table.id, format: :png))) diff --git a/app/views/user/list_products.html.slim b/app/views/user/list_products.html.slim index 6290e495..6dad9164 100644 --- a/app/views/user/list_products.html.slim +++ b/app/views/user/list_products.html.slim @@ -7,6 +7,8 @@ .well table#products-table.table tbody + tr + td= slider_image table#active-order-table.table.hide thead tr diff --git a/app/views/user/list_products_for_table.html.slim b/app/views/user/list_products_for_table.html.slim index 7552a007..57c52c00 100644 --- a/app/views/user/list_products_for_table.html.slim +++ b/app/views/user/list_products_for_table.html.slim @@ -4,6 +4,8 @@ .well table#products-table.table.table-hover tbody + tr + td= slider_image table#active-order-table.table.hide thead tr diff --git a/config/locales/en.yml b/config/locales/en.yml index cc22771b..ee622898 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -72,6 +72,10 @@ en: you_are_currently_closed_alert: 'You are currently closed and not able to take orders' mark_as_open_button: 'Open up the place!' table_number: Table + tables: + qr_codes: + link: Qr codes sheet + user: active_list: title: Active %{list} diff --git a/config/routes.rb b/config/routes.rb index e8f10e0e..37425457 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -68,7 +68,11 @@ Qrammer::Application.routes.draw do get :tables_view end end - resources :tables + resources :tables do + collection do + get :qr_codes + end + end resources :products resources :product_categories root to: 'sections#index' diff --git a/notes.js.coffee b/notes.js.coffee new file mode 100644 index 00000000..d9e2af52 --- /dev/null +++ b/notes.js.coffee @@ -0,0 +1,25 @@ + build_product_list_as_modal: -> + wrapper = $('') + callback_wrapper = -> + wrapper.modal('hide') + callback() + header = $('') + .append('') + .append('

Product list

').appendTo(wrapper) + + body = $('') + table = $('
').appendTo(body) + tbody = $('').appendTo(table) + for product_id, info of window.active_products_list + row = $('').appendTo(tbody) + row.append(''+info.product.name+'') + row.append(''+info.number+'') + row.append(''+Qrammer.currency(info.product.price * info.number)+'') + + body.appendTo(wrapper) + + footer = $('') + .append($('Close').click(-> wrapper.modal('hide'))) + .append($('Yes').click(callback_wrapper)) + .appendTo(wrapper) + wrapper.modal() diff --git a/public/favicon.ico b/public/favicon.ico index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..88d5668a1add4cdc615f6f5de537eac40d52e40a 100644 GIT binary patch literal 318 zcmZQzU<5(|0RaXO&|qX>5ChRb3=&ZQVnzlQAj!bc045;>L^T70x>GVkW!F3gJ&z0q z1$kwL|Ns9pyngqALDMCbVfT@948Q;UVKDU0VleT|VbE|+VbBEPd208^S{~Ag=0Nn#p@4@Q8!~)XiY{J0D0HhPx(ahln V@mX9PuK;NWn7s`^|B?$pdI4eOH_-q9 literal 0 HcmV?d00001