diff options
| author | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
|---|---|---|
| committer | stephanchrst <stephanchrst@gmail.com> | 2022-05-10 21:51:50 +0700 |
| commit | 3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch) | |
| tree | a44932296ef4a9b71d5f010906253d8c53727726 /addons/point_of_sale/static/src/scss | |
| parent | 0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff) | |
initial commit 2
Diffstat (limited to 'addons/point_of_sale/static/src/scss')
| -rw-r--r-- | addons/point_of_sale/static/src/scss/customer_facing_display.scss | 475 | ||||
| -rw-r--r-- | addons/point_of_sale/static/src/scss/pos_dashboard.scss | 5 |
2 files changed, 480 insertions, 0 deletions
diff --git a/addons/point_of_sale/static/src/scss/customer_facing_display.scss b/addons/point_of_sale/static/src/scss/customer_facing_display.scss new file mode 100644 index 00000000..b1c85ac6 --- /dev/null +++ b/addons/point_of_sale/static/src/scss/customer_facing_display.scss @@ -0,0 +1,475 @@ +// out: ../css/customer_facing_display.css, sourcemap: false, compress: false + +// =========== Variables =========== +$color-gray-lighter: #f6f6f6; +$color-gray-dark: #3E3E3E; + +// =========== Animations =========== +@keyframes item_in { + 0% { opacity: 0; margin-top: -30px; } + 50% { margin-top: 0; } + 100% { opacity: 1; } +} +@-webkit-keyframes item_in { + 0% { opacity: 0; margin-top: -30px; } + 50% { margin-top: 0; } + 100% { opacity: 1; } +} + +// =========== MIXINS =========== +@mixin pos-bg { + background-position: center top; + background-size: contain; + background-repeat: no-repeat; + + &[style*="url(http://placehold.it"] { + // Add a bg-color in case we are using a pleceholder. + // This will help the user to identify the right image dimension + // before apply customizations. + background-color: #ccc; + } +} + +// =========== VENDOR PREFIX =========== +@mixin flex-display { + -webkit-display: flex; + -moz-display: flex; + -ms-display: flex; + -o-display: flex; + display: flex; +} +@mixin flex-direction($direction) { + -webkit-flex-direction: $direction; + -moz-flex-direction: $direction; + -ms-flex-direction: $direction; + -o-flex-direction: $direction; + flex-direction: $direction; +}; +@mixin flex-grow($grow) { + -webkit-box-flex: $grow; + -webkit-flex-grow: $grow; + -moz-box-flex: $grow; + -ms-flex-positive: $grow; + flex-grow: $grow; +} +@mixin flex($flex) { + -webkit-box-flex: $flex; + -webkit-flex: $flex; + -moz-box-flex: $flex; + -ms-flex: $flex; + flex: $flex; +} +@mixin align-items($align) { + -webkit-box-align: $align; + -webkit-align-items: $align; + -moz-box-align: $align; + -ms-flex-align: $align; + -ms-grid-row-align: $align; + align-items: $align; +}; +@mixin justify-content($justify) { + -webkit-box-pack: $justify; + -webkit-justify-content: $justify; + -moz-box-pack: $justify; + -ms-flex-pack: $justify; + justify-content: $justify; +} +@mixin flex-wrap($wrap) { + -webkit-flex-wrap: $wrap; + -ms-flex-wrap: $wrap; + flex-wrap: $wrap; +} + + +// =========== MAIN LAYOUT =========== +body { + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: geometricPrecision; + font-smooth: always; + + .pos-customer_facing_display { + background-color: $color-gray-lighter; + font-size: 2vw; + font-family: Futura, HelveticaNeue, Helvetica, Arial, "Lucida Grande", sans-serif; + font-weight: 300; + width: 100%; + height: 100%; + padding: 0; + @include flex-display; + @include flex-direction(row); + + .pos-customer_products, + .pos-payment_info { + height: 100%; + padding: 2%; + @include flex-display; + @include flex-direction(column); + @include flex-grow(1); + } + + .pos_orderlines { + width: 100%; + height: 100%; + @include flex-display; + @include flex-direction(column); + + .pos_orderlines_list { + overflow-y: scroll; + padding-right: 1.5vw; + position: relative; + height: 100%; + } + + .pos_orderlines_item { + margin-bottom: 1vw; + padding: 1%; + border-radius: 0.3vw; + height: auto; + @include flex(0 1 auto); + @include flex-display; + @include flex-direction(row); + @include align-items(center); + + &:last-of-type { + animation: item_in 1s ease; + } + + &.pos_orderlines_header { + background-color: transparent; + box-shadow: none; + animation: none; + + > div { + &, + &:last-child { + border-left-width: 0; + text-align: center; + font-size: 70%; + font-weight: normal; + } + } + + > div:last-child { + text-align: left; + } + } + + > div { + width: 5%; + text-align: left; + margin-right: 4%; + font-size: 80%; + @include flex-grow(1); + + &:first-child { + margin-right: 2%; + @include flex(1 1 1%); + } + + &:nth-child(2) { + width: 40%; + border-left: 1px solid; + padding-left: 2%; + } + + &:nth-child(3) { + text-align: center; + } + + &:last-child { + margin-right: 0; + font-weight: bold; + } + + div { + background-position: center; + background-size: cover; + padding-top: 75%; + display: block; + } + } + } + } + + .pos-payment_info { + max-width: 30%; + padding: 2% 2% 1% 2%; + @include flex-direction(column); + @include justify-content(space-between); + + .pos-adv, + .pos-company_logo { + @include pos-bg; + } + + .pos-company_logo { + background-image: url(/logo); + margin-bottom: 10%; + @include flex(0 0 20%); + } + + .pos-adv { + margin-bottom: 5%; + border-bottom: 10px solid transparent; + box-shadow: 0 1px rgba($color-gray-lighter, 0.2); + @include flex(1 1 60%); + } + + .pos-payment_info_details{ + .pos-total, + .pos-paymentlines { + @include flex-direction(row); + @include flex-display; + @include flex-wrap(wrap); + @include justify-content(space-between); + @include align-items(baseline); + + > div { + @include flex(1 0 48%); + + &:nth-child(even) { + font-weight: bold; + font-size: 120%; + margin-right: 0 + } + } + } + + .pos-total { + font-size: 2vw; + } + + .pos-paymentlines { + margin-top: 2%; + font-size: 1.5vw; + line-height: 1.3; + } + + .pos-odoo_logo_container { + text-align: right; + margin-top: 10%; + @include flex(0 1 auto); + + img { + max-width: 40px; + } + } + } + } + } + + // =========== PORTRAIT LAYOUT =========== + @media all and (orientation: portrait) { + .pos-customer_facing_display { + font-size: 2vh; + height: 100%; + @include flex-direction(column); + + &:before { + content: ""; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 17vh; + } + + .pos-payment_info .pos-adv { + // Move ADV on top. + position: fixed; + top: 0; + left: 0; + height: 15vh; + width: 99vw; + margin:0.5vh; + border-width: 0; + @include flex-display; + } + + &.pos-js_no_ADV { + &:before { + display: none; + } + .pos-customer_products { + padding-top: 0; + } + } + + .pos-customer_products { + padding-top: 17vh; + height: 72vw; + overflow: hidden; + + .pos_orderlines { + @include flex(1 0 auto); + + .pos_orderlines_item { + > div:nth-child(2) { + width: 30%; + } + &.pos_orderlines_header div{ + font-size: 90%; + } + } + + .pos_orderlines_list { + padding-right: 1.5vh; + height: auto; + .pos_orderlines_item { + box-shadow: 0 .1vh .1vh darken($color-gray-lighter, 10%); + margin-bottom: 1vh; + > div { + font-size: 100%; + } + } + } + } + } + + .pos-payment_info { + max-width: 100%; + overflow: hidden; + padding-top: 0; + min-height: 120px; + @include flex(0 1 23vw); + @include flex-direction(row); + @include align-items(center); + @include justify-content(space-between); + + .pos-company_logo { + margin: 0; + background-position: left center; + margin-right: 5%; + height: 100%; + padding: 0; + @include flex(1 1 20%); + } + + .pos-payment_info_details { + @include flex(0 1 50%); + @include flex-direction(column); + min-width: 170px; + + .pos-total { + font-size: 3vw; + .pos_total-amount { + font-size: 3.5vw; + } + } + + .pos-paymentlines { + margin-top: 2%; + font-size: 80%; + line-height: 1.2; + } + .pos-odoo_logo_container { + position: absolute; + right: 3%; + bottom: 1%; + } + } + } + } + } + + @media all and (orientation: portrait) and (max-width: 340px ) { + .pos-customer_facing_display { + .pos-customer_products .pos_orderlines { + .pos_orderlines_list{ + padding-right: 0; + .pos_orderlines_item > div{ + font-size: 70%; + } + } + .pos_orderlines_header > div { + font-size: 60%; + &:last-child { + text-align: center; + } + } + } + .pos-payment_info { + + .pos-company_logo { + display: none!important; + } + .pos-payment_info_details { + @include flex(1 0 100%); + + .pos-total { + font-size: 6vw; + .pos_total-amount { + font-size: 6.5vw; + } + } + } + } + } + } +} + + +// @media all and (max-width: 340px ) { +// } + +body { + // =========== UTILITY CLASSES =========== + .pos-hidden { + opacity: 0; + } +} + + +// =========== PALETTE GENERATOR =========== +@mixin palette-variant ( + $bg-info: $color-gray-dark, + $text-info: $color-gray-lighter, + $bg-products: $color-gray-lighter, + $text-products: lighten($color-gray-dark, 10%), + $card-bg: white, + $card-text: $color-gray-dark, + $card-shadow: darken($bg-products, 30%)) { + + .pos-payment_info { + background: $bg-info; + color: $text-info; + } + + .pos-customer_products { + background: $bg-products; + color: $text-products; + + .pos_orderlines_list .pos_orderlines_item { + background-color: $card-bg; + color: $card-text; + box-shadow: 0 .1vh .1vh $card-shadow; + div:nth-child(2) { + border-color: rgba($card-text, 0.3); + } + } + } + + @media all and (orientation: portrait) { + &:before { + background: $bg-info; + } + } +} + +// =========== PALETTES =========== +// Those are kept for compatibility for now (previously there was a feature +// which allowed to change the default pos-palette_01 class. +.pos-palette_01 { @include palette-variant; } +.pos-palette_02 { @include palette-variant(#364152, #e6e7e8, #ecf2f6, #364152, white, $color-gray-dark, #364152 ); } +.pos-palette_03 { @include palette-variant(#1BA39C, $color-gray-lighter, #ececec ); } +.pos-palette_04 { @include palette-variant(#0b7b6c, $color-gray-lighter, #efeeec); } +.pos-palette_05 { @include palette-variant(#E26868, $color-gray-lighter, #ececec ); } +.pos-palette_06 { @include palette-variant(#9E373B, $color-gray-lighter); } +.pos-palette_07 { @include palette-variant(#ce9934, white, #ececec ); } +.pos-palette_08 { @include palette-variant(#a48c77, $color-gray-lighter, #ececec ); } +.pos-palette_09 { @include palette-variant(linear-gradient(30deg, #014d43, #127e71), $color-gray-lighter, #ececec ); } +.pos-palette_10 { @include palette-variant(linear-gradient(30deg, #e2316c, #ea4c89), white, #ececec ); } +.pos-palette_11 { @include palette-variant(linear-gradient(30deg, #362b3d, #5b4a63), white, #ececec ); } +.pos-palette_12 { @include palette-variant(#434343, #e6e6e6, #5b5b5b, #bdb9b9, #f5f5f5); } +.pos-palette_13 { @include palette-variant(linear-gradient(30deg, #1a1b1f, #3d3f45), white, #a2a2ab, $color-gray-lighter, $color-gray-lighter); } diff --git a/addons/point_of_sale/static/src/scss/pos_dashboard.scss b/addons/point_of_sale/static/src/scss/pos_dashboard.scss new file mode 100644 index 00000000..469fd998 --- /dev/null +++ b/addons/point_of_sale/static/src/scss/pos_dashboard.scss @@ -0,0 +1,5 @@ +.o_kanban_view.o_kanban_dashboard.o_pos_kanban.o_kanban_ungrouped { + .o_kanban_record { + width: 500px; + } +} |
