From 3751379f1e9a4c215fb6eb898b4ccc67659b9ace Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 May 2022 21:51:50 +0700 Subject: initial commit 2 --- .../pos_restaurant/static/src/css/restaurant.css | 583 +++++++++++++++++++++ 1 file changed, 583 insertions(+) create mode 100644 addons/pos_restaurant/static/src/css/restaurant.css (limited to 'addons/pos_restaurant/static/src/css/restaurant.css') diff --git a/addons/pos_restaurant/static/src/css/restaurant.css b/addons/pos_restaurant/static/src/css/restaurant.css new file mode 100644 index 00000000..e2943473 --- /dev/null +++ b/addons/pos_restaurant/static/src/css/restaurant.css @@ -0,0 +1,583 @@ +/* --- Restaurant Specific CSS --- */ + +.screen .screen-content-flexbox { + margin: 0px auto; + text-align: left; + height: 100%; + overflow: hidden; + position: relative; + display: -webkit-flex; + -webkit-flex-flow: column nowrap; + flex-flow: column nowrap; +} + +/* ------ FLOOR SELECTOR ------- */ + +.floor-selector { + line-height: 48px; + font-size: 18px; + display: -webkit-flex; + display: flex; + text-align: center; + width: 100%; +} +.floor-selector .button { + cursor: pointer; + border-left: dashed 1px rgb(196,196,196); + -webkit-flex: 1; + flex: 1; +} +.floor-selector .button:first-child { + border-left: none; +} +.floor-selector .button.active { + background: #6EC89B; + color: white; +} + +/* ------ FLOOR MAP ------- */ + +.floor-map { + -webkit-flex: 1; + flex: 1; + position: relative; + width: auto; + height: 100%; + box-shadow: 0px 6px 0px -3px rgba(0,0,0,0.07) inset; + background: #D8D7D7; + background-repeat: no-repeat; + overflow: auto; + background-size: cover; + transition: all 300ms ease-in-out; +} + +.floor-map .tables { + position: relative; +} +@media screen and (min-width: 1024px) { + .floor-map .tables { + max-width: 1024px; + margin: auto; + max-height: 540px; + border-radius: 0px 0px 6px 6px; + border: dashed 2px rgba(0,0,0,0.1); + border-top: none; + height: 100%; + } +} + +.floor-map .table{ + position: absolute; + text-align: center; + font-size: 18px; + color: white; + background: rgb(53, 211, 116); + border-radius: 3px; + cursor: pointer; + box-shadow: 0px 3px rgba(0,0,0,0.07); + transition: background, background-color 300ms ease-in-out; + overflow: hidden; +} +.floor-map .table .table-cover { + display: block; + position: absolute; + left: 0; right: 0; bottom: 0; + border-radius: 0px 0px 3px 3px; + background: rgba(0,0,0,0.2); +} +.floor-map .table .table-cover.full { + border-radius: 3px 3px 3px 3px; +} +.floor-map .table .table-seats { + position: absolute; + display: inline-block; + bottom: 0; + left: 50%; + height: 20px; + width: 20px; + line-height: 20px; + font-size: 16px; + border-radius: 50%; + margin-left: -10px; + margin-bottom: 4px; + background: black; + color: white; + opacity: 0.2; + z-index: 3; +} +.floor-map .table .label { + display: block; + max-height: 100%; + overflow: hidden; + position: relative; + bottom: 5px; +} +.floor-map .table.selected { + outline: solid rgba(255,255,255,0.3); + cursor: move; + z-index: 50; +} +.floor-map .edit-button.editing { + position: fixed; + top: 0; + right: 0; + font-size: 20px; + margin: 8px; + line-height: 32px; + width: 32px; + text-align: center; + border-radius: 5px; + cursor: pointer; + border: solid 1px rgba(0,0,0,0.2); +} +.floor-map .edit-button.editing.active { + background: #444; + border-color: transparent; + color: white; +} +.floor-map .edit-bar { + position: fixed; + top: 0; + right: 40px; + margin: 8px; + line-height: 34px; + text-align: center; + border-radius: 5px; + cursor: pointer; + font-size: 20px; + background: rgba(255,255,255,0.5); + z-index: 100; +} +.floor-map .edit-bar .edit-button { + position: relative; + width: 32px; + display: inline-block; + cursor: pointer; + margin-right: -4px; + border-right: solid 1px rgba(0,0,0,0.2); + transition: all 150ms linear; +} +.floor-map .edit-bar .edit-button.disabled { + cursor: default; +} +.floor-map .edit-bar .edit-button.disabled > * { + opacity: 0.5; +} +.floor-map .edit-bar .color-picker { + position: absolute; + left: 36px; + top: 40px; + width: 180px; + height: 180px; + border-radius: 3px; + z-index: 100; +} +.floor-map .edit-bar .color-picker .color { + display: block; + float: left; + cursor: pointer; + width: 60px; + height: 60px; + background-color: gray; +} +.floor-map .edit-bar .color-picker .color.tl { border-top-left-radius: 3px; } +.floor-map .edit-bar .color-picker .color.tr { border-top-right-radius: 3px; } +.floor-map .edit-bar .color-picker .color.bl { border-bottom-left-radius: 3px; } +.floor-map .edit-bar .color-picker .color.br { border-bottom-right-radius: 3px; } + +.floor-map .edit-bar .close-picker { + position: absolute; + bottom: 0; + left: 50%; + margin-left: -16px; + margin-bottom: -16px; + width: 32px; + height: 32px; + line-height: 32px; + text-align: center; + font-size: 20px; + border-radius: 16px; + background: black; + color: white; + cursor: pointer; +} + +.floor-map .edit-bar .edit-button:last-child { + margin-right: 0; + border-right: none; +} + +.floor-map .table.selected .table-handle { + padding: 0px; + position: absolute; + width: 48px; + height: 48px; + left: 50%; + top: 50%; + border-radius: 24px; + background: white; + box-shadow: 0px 2px 3px rgba(0,0,0,0.2); + cursor: grab; + transition: all 150ms linear; + z-index: 100; + transform: translate(-50%, -50%); +} +.floor-map .table.selected .table-handle:hover { + width: 60px; + height: 60px; + border-radius: 30px; +} +.floor-map .table .table-handle.top { top: 0; } +.floor-map .table .table-handle.bottom { top: 100%; } +.floor-map .table .table-handle.left { left: 0; } +.floor-map .table .table-handle.right { left: 100%; } + +.floor-map .table .order-count { + position: absolute; + top: 0; + left: 50%; + background: black; + width: 20px; + margin-top: 1px; + margin-left: -10px; + height: 20px; + line-height: 20px; + border-radius: 10px; + font-size: 16px; + z-index: 10; +} +.floor-map .table .order-count.notify-printing { + background: red; +} +.floor-map .table .order-count.notify-skipped { + background: blue; +} + +.floor-map .empty-floor { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + margin: auto; + width: 400px; + height: 40px; + font-size: 18px; + text-align: center; + opacity: 0.6; +} +.floor-map .empty-floor i { + display: inline-block; + padding: 6px 7px 3px; + margin: 0px 3px; + background: rgba(255,255,255,0.5); + border-radius: 3px; +} + + +/* ------ FLOOR BUTTON IN THE ORDER SELECTOR ------- */ + +.pos .order-button.floor-button { + background: #6EC89B; + font-weight: bold; + font-size: 16px; + min-width: 128px; + padding-left: 16px; + padding-right: 16px; +} +.pos .order-button.floor-button .table-name { + font-weight: normal; +} +.pos .order-button.floor-button .fa{ + font-size: 24px; +} +/* ------ ORDER LINE STATUS ------- */ + +.pos .order .orderline.dirty { + border-left: solid 6px #6EC89B; + color: #6EC89B; + padding-left: 9px; +} +.pos .order .orderline.skip { + border-left: solid 6px #7F82AC; + color: #7F82AC; + padding-left: 9px; +} + + +/* ------ ORDER NOTES ------- */ + +.pos .order .orderline-note { + margin: 8px; +} +.orderline-note .fa { + opacity: 0.5; + margin-right: 4px; +} + +/* ------ SPLIT BILL SCREEN ------- */ + +.splitbill-screen.screen .contents { + display: flex; + flex-flow: column nowrap; + margin: 0px auto; + max-width: 1024px; + border-left: dashed 1px rgb(215,215,215); + border-right: dashed 1px rgb(215,215,215); + height: 100%; +} +.splitbill-screen.screen .main { + display: flex; + flex-flow: row nowrap; + /* take the remaining vertical space */ + flex: 1; + /* do not capture overflow in this element */ + overflow: hidden; +} +.splitbill-screen.screen .main .lines { + display: flex; + flex: 1; + justify-content: center; + /* show scrollbar inside this element if its content overflows */ + overflow-y: auto; +} +.splitbill-screen.screen .main .controls { + display: flex; + flex-flow: column nowrap; +} +.splitbill-screen.screen .pay-button { + margin: 16px; +} +.splitbill-screen.screen .pay-button .button { + background: #e2e2e2; + line-height: 74px; + font-size: 16px; + border: solid 1px rgb(202, 202, 202); + border-top-width: 0px; + cursor: pointer; + width: 100%; + text-align: center; +} +.splitbill-screen.screen .pay-button .button:first-child { + border-top-width: 1px; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.splitbill-screen.screen .pay-button .button:last-child { + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; +} +.splitbill-screen.screen .pay-button .button:active { + background: black; + border-color: black; + color: white; +} + +.splitbill-screen.screen .main .lines { + border-right: dashed 1px rgb(215,215,215); +} + +.splitbill-screen.screen .main .controls { + flex: 1; +} + +/* ------ NARROWER SCREEN ------ */ +@media screen and (max-width: 768px) { + .splitbill-screen.screen .main { + flex-flow: column nowrap; + } + .splitbill-screen.screen .main .controls { + border-top: dashed 1px rgb(215,215,215); + flex: none; + } +} + +.tip-screen .tip-options .total-amount { + text-align: center; + font-size: x-large; + margin-top: 1.5rem; + margin-bottom: 1.5rem; +} + +.tip-screen .tip-amount-options { + background: white; + border-radius: 3px; + margin-left: 4rem; + margin-right: 4rem; +} + +.tip-screen .percentage-amounts { + display: flex; +} + +.tip-screen .tip-options .button { + background: #FAFAFA; + border: solid 1px rgb(209, 209, 209); + border-radius: 3px; + flex: 1; + margin: 1rem; + display: flex; + flex-flow: column nowrap; + justify-content: center; + cursor: pointer; +} + +.tip-screen .tip-options .button .percentage { + text-align: center; + font-size: xx-large; + color: #2196F3; + padding-top: 4rem; + padding-bottom: 0.75rem; +} + +.tip-screen .tip-options .button .amount { + text-align: center; + font-size: large; + color: #757575; + padding-bottom: 4rem; +} + +.tip-screen .custom-amount-form { + display: flex; +} + +.tip-screen .custom-amount-form .item { + font-size: x-large; + color: #2196F3; + margin: 1rem; + flex: 1 +} + +.tip-screen .custom-amount-form .label { + padding-top: 1.5rem; + padding-bottom: 1.5rem; + text-align: center; +} + +.tip-screen .custom-amount-form .input { + background: #FAFAFA; + border: solid 1px rgb(209, 209, 209); + border-radius: 3px; + margin: 1rem; + text-align: right; + overflow: hidden; + position: relative; +} + +.tip-screen .custom-amount-form .input .currency { + position: absolute; + display: flex; + right: 0; + top: 0; + bottom: 0; + width: 3rem; + justify-content: center; + align-items: center; +} + +.tip-screen .custom-amount-form .input input { + border: none; + padding: 0; + outline: none; + font-size: x-large; + text-align: right; + margin-left: 1rem; + margin-right: 3rem; + height: 100%; + width: calc(100% - 4rem); + background: #FAFAFA; + color: #2196F3; +} + +.tip-screen .custom-amount-form .input input:focus { + border: none; + padding: 0; + outline: none; +} + +.tip-screen .custom-amount-form .add { + text-align: center; +} + +.tip-screen .no-tip { + display: flex; + color: #2196F3; + font-size: x-large; +} + +.tip-screen .no-tip .button { + text-align: center; + flex: 1; + padding: 1.5rem; +} + +.tip-screen .pos-receipt-container { + display: none; + position: fixed; + top: 0; + left: 0; + margin: 0; +} + +@media print { + .tip-screen .pos-receipt-container { + display: block; + } + .tip-screen .pos-receipt-container * { + visibility: visible; + } +} + +.pos-receipt .tip-form { + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} + +.pos-receipt .tip-form .title { + text-align: center; +} + +.pos-receipt .tip-form > div { + margin-top: 1rem; +} + +.pos-receipt .tip-form .option { + display: flex; + flex-flow: column nowrap; + align-items: center; + flex: 1; + justify-content: center; +} + +.pos-receipt .tip-form .percentage-options { + display: flex; + flex-flow: row nowrap; +} + +.ticket-screen .tip-cell { + height: 100%; + width: 100%; + text-align: right; + white-space: nowrap; +} + +.ticket-screen .tip-cell input { + width: 100%; + text-align: right; + font-size: medium; + color: #555555; + padding-bottom: 5px; + border: none; + outline: none; +} + +.ticket-screen .tip-cell input:focus { + border: none; + outline: none; + border-bottom: solid 1px #555555; +} + +.multiprint-flex { + display: flex; + justify-content: space-between; +} -- cgit v1.2.3