summaryrefslogtreecommitdiff
path: root/addons/point_of_sale/static/src/scss
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/point_of_sale/static/src/scss
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (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.scss475
-rw-r--r--addons/point_of_sale/static/src/scss/pos_dashboard.scss5
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;
+ }
+}