add pwa app

This commit is contained in:
Amir Mohamadi
2021-01-31 20:47:26 +03:30
parent faa0d48d87
commit 534fe02b3a
23 changed files with 1541 additions and 929 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

+570 -307
View File
@@ -333,6 +333,49 @@
}
}
}
.install-app-dialog {
.el-dialog {
@media (max-width: 1400px) {
width: 80%;
}
@media (max-width: 992px) {
width: 90%;
}
@media (max-width: 768px) {
width: calc(100% - 20px);
}
.el-button {
span {
color: #fff;
}
}
}
.install-app-description {
h2 {
margin-bottom: 20px;
}
p {
margin-bottom: 10px;
word-break: break-word;
}
.imgBox {
text-align: center;
margin: 20px 0 40px;
img {
width: 520px;
max-width: 100%;
@include boxShadow(0 4px 10px rgba(#000, 0.4));
@include borderRadius(5px);
}
}
}
}
}
///////////////////////////// about page
@@ -1488,56 +1531,427 @@
.s1 {
}
}
.s2 {
.app {
$appLayoutPadding: 55px;
@include transition(0.1s);
.app-section {
.app {
$appLayoutPadding: 55px;
@include transition(0.1s);
& > .container-fluid, & > .container-fluid .row {
padding: 0 !important;
& > .container-fluid, & > .container-fluid .row {
padding: 0 !important;
}
.appTitle {
text-align: center;
.title {
font-size: 30px;
@media (max-width: 1400px) {
font-size: 25px;
}
}
}
.appMethod {
text-align: center;
margin-bottom: 50px;
background: $theme;
padding: 15px;
.txt {
display: inline-block;
margin: 0 10px 10px;
}
.appTitle {
text-align: center;
span {
color: #fff;
}
.title {
font-size: 30px;
.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background-color: $darkGray;
border-color: #fff;
@include boxShadow(-1px 0 0 0 $darkGray);
}
@media (max-width: 1400px) {
font-size: 25px;
}
.el-radio-button .el-radio-button__inner {
color: $theme;
@extend %userSelect;
@media (max-width: 530px) {
font-size: 12px;
}
}
.appMethod {
text-align: center;
.el-radio-button.is-active .el-radio-button__inner {
color: #fff;
}
}
.appLayout {
padding: $appLayoutPadding;
background: $theme;
height: 100%;
@include boxSizing(border-box);
position: relative;
@media (max-width: 1400px) {
padding: 55px 15px;
}
span, p, b, * {
color: #fff;
}
input {
color: $red;
}
.layoutTitle {
margin-bottom: 50px;
background: $theme;
padding: 15px;
}
.txt {
display: inline-block;
margin: 0 10px 10px;
.class {
margin-bottom: 40px;
h4 {
margin-bottom: 15px;
}
}
span {
color: #fff;
}
.calculateBtn {
text-align: center;
.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background-color: $darkGray;
.btn {
@include borderRadius(5px);
background: #fff;
border-color: #fff;
@include boxShadow(-1px 0 0 0 $darkGray);
color: $darkGray;
&:hover {
background: $darkGray;
border-color: $darkGray;
color: #fff;
}
}
}
.el-radio {
margin-bottom: 15px;
}
.el-radio__input.is-checked .el-radio__inner {
background-color: $darkGray;
border-color: $darkGray;
}
.el-form-item__label {
@media (max-width: 600px) {
float: none !important;
&:lang(fa) {
float: none !important;
}
}
}
.el-form-item__content {
margin-left: 200px !important;
@media (max-width: 600px) {
margin-left: 0 !important;
}
.el-radio-button .el-radio-button__inner {
color: $theme;
@extend %userSelect;
@media (max-width: 530px) {
font-size: 12px;
&:lang(fa) {
margin-left: 0 !important;
margin-right: 200px !important;
@media (max-width: 600px) {
margin-right: 0 !important;
}
}
}
.el-input--suffix .el-input__inner {
padding-right: 15px;
}
.el-input__inner {
&::placeholder {
color: $darkGray;
}
}
.err {
color: $red;
}
.copyRight {
position: absolute;
width: 100%;
font-size: 12px;
bottom: 5px;
left: 0;
p {
color: rgba(#fff, 0.5);
text-align: center;
width: 100%;
a {
@keyframes blinking {
from {
color: rgba(#fff, 0.5);
}
to {
color: rgba(#fff, 0.7);
}
}
@include animation(blinking 1s alternate-reverse infinite);
@extend %defaultTransition;
color: rgba(#fff, 0.5);
&:hover {
color: rgba(#fff, 1);
}
}
}
}
}
.el-input {
//width: auto;
//
//@media (max-width: 600px) {
// width: 100%;
//}
input {
font-family: 'sahel', 'diodrum', sans-serif;
&:lang(en) {
font-family: 'diodrum', sans-serif;
}
&::placeholder {
font-family: 'sahel';
&:lang(en) {
font-family: 'diodrum';
}
}
}
.el-input__suffix {
right: auto;
left: 5px;
&:lang(en) {
right: 5px;
left: auto;
}
.el-input__icon {
color: #000;
}
}
}
.el-select {
width: 100%;
}
.el-radio {
margin-right: 20px;
&:lang(fa) {
margin-right: 0;
margin-left: 20px;
}
}
.appResult {
background: lightgray;
padding-left: $appLayoutPadding;
padding-right: $appLayoutPadding;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.success {
color: #67C23A;
}
.failure {
color: $red;
}
@keyframes waiting {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
p {
font-size: 0;
letter-spacing: -10px;
font-weight: bold;
}
.waiting {
@include animation(waiting 0.7s alternate-reverse infinite);
}
}
.weight {
margin-top: 30px;
background: lightgray;
padding: 20px;
text-align: center;
opacity: 0;
p {
font-size: 0;
letter-spacing: -10px;
}
.colored {
color: $theme;
}
}
}
}
.app-guide-tables {
.notice {
color: red;
font-size: 14px;
display: none;
@media (max-width: 992px) {
display: block;
}
}
.tableBox {
width: 100%;
overflow: auto;
table {
width: 100%;
min-width: 960px;
border: 1px solid rgba(#000, 1);
thead {
background: $theme;
color: #fff;
th {
padding: 20px;
font-family: 'sahel-LD', 'diodrum', sans-serif;
direction: ltr;
&.middle {
border-left: 2px solid rgba(#fff, 0.4) !important;
border-right: 2px solid rgba(#fff, 0.4) !important;
}
}
}
tbody {
background: rgba($theme, 0.2);
color: #000;
tr {
line-height: 1.3em;
td {
border: 1px solid rgba(#000, 1);
padding: 20px;
font-family: 'sahel-LD', 'diodrum', sans-serif;
direction: ltr;
text-align: center;
&:last-child {
direction: ltr !important;
}
}
&.odd {
background: rgba(#000, 0.1);
}
}
}
}
&.vehicles {
}
&.forklifts {
margin-top: 50px;
}
}
}
///////////////////////////// pwa app
.pwa {
position: relative;
padding-top: 80px;
background: #fff;
@include transition(background-color 0.2s, color 0.2s !important);
div, p, a, h1, h2, h3, b, span, i {
@include transition(background-color 0.2s, color 0.2s !important);
}
&.dark-mode {
$darkModeBG: #1b1b1b ;
$darkModeAppLayout: #2b2b2b;
background: $darkModeBG;
p, h2, h3, a, i, b {
color: #fff !important;
}
.appLayout, .appMethod, .app-guide-tables thead {
background: $darkModeAppLayout;
}
.app-guide-tables tbody {
background: rgba(#fff, 0.4);
}
.notice {
//color: #805858 !important;
color: $red !important;
}
.pwa-header {
background: $darkModeAppLayout;
}
.pwa-about {
background: $darkModeBG;
span {
color: #fff;
}
}
.app {
.appMethod {
.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background-color: rgba(#fff, 0.5);
border-color: #fff;
}
.el-radio-button.is-active .el-radio-button__inner {
color: #fff;
@@ -1545,317 +1959,166 @@
}
.appLayout {
padding: $appLayoutPadding;
background: $theme;
height: 100%;
@include boxSizing(border-box);
position: relative;
@media (max-width: 1400px) {
padding: 55px 15px;
}
span, p, b, * {
color: #fff;
}
input {
color: $red;
}
button {
color: $red;
span {
color: $red;
}
}
.layoutTitle {
margin-bottom: 50px;
}
.class {
margin-bottom: 40px;
h4 {
margin-bottom: 15px;
}
}
.calculateBtn {
text-align: center;
.btn {
@include borderRadius(5px);
&:hover {
background: $darkGray;
color: #fff;
}
}
}
.el-radio {
margin-bottom: 15px;
}
.el-radio__input.is-checked .el-radio__inner {
background-color: $darkGray;
border-color: $darkGray;
background-color: rgba($red, 1) !important;
border-color: rgba(#fff, 0.3) !important;
}
.el-form-item__label {
@media (max-width: 600px) {
float: none !important;
&:lang(fa) {
float: none !important;
}
}
}
.el-form-item__content {
margin-left: 200px !important;
@media (max-width: 600px) {
margin-left: 0 !important;
}
&:lang(fa) {
margin-left: 0 !important;
margin-right: 200px !important;
@media (max-width: 600px) {
margin-right: 0 !important;
}
}
}
.el-input--suffix .el-input__inner {
padding-right: 15px;
}
.el-input__inner {
&::placeholder {
color: $darkGray;
.btn {
&:hover {
border-color: #fff;
}
}
.err {
color: $red;
}
.copyRight {
position: absolute;
width: 100%;
font-size: 12px;
bottom: 5px;
left: 0;
p {
color: rgba(#fff, 0.5);
text-align: center;
width: 100%;
a {
@keyframes blinking {
from {
color: rgba(#fff, 0.5);
}
to {
color: rgba(#fff, 0.7);
}
}
@include animation(blinking 1s alternate-reverse infinite);
@extend %defaultTransition;
color: rgba(#fff, 0.5);
&:hover {
color: rgba(#fff, 1);
}
}
}
color: $red !important;
}
}
.el-input {
//width: auto;
//
//@media (max-width: 600px) {
// width: 100%;
//}
input {
font-family: 'sahel', 'diodrum', sans-serif;
&:lang(en) {
font-family: 'diodrum', sans-serif;
}
&::placeholder {
font-family: 'sahel';
&:lang(en) {
font-family: 'diodrum';
}
}
}
.el-input__suffix {
right: auto;
left: 5px;
&:lang(en) {
right: 5px;
left: auto;
}
.el-input__icon {
color: #000;
}
}
}
.el-select {
width: 100%;
}
.el-radio {
margin-right: 20px;
&:lang(fa) {
margin-right: 0;
margin-left: 20px;
}
}
.appResult {
background: lightgray;
padding-left: $appLayoutPadding;
padding-right: $appLayoutPadding;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.appResult, .weight {
background: #454545;
.success {
color: #67C23A;
color: #7cfc00 !important;
}
.failure {
color: $red;
}
@keyframes waiting {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
p {
font-size: 0;
letter-spacing: -10px;
font-weight: bold;
}
.waiting {
@include animation(waiting 0.7s alternate-reverse infinite);
color: $red !important;
}
}
}
.weight {
margin-top: 30px;
background: lightgray;
padding: 20px;
text-align: center;
opacity: 0;
.page-load {
background: $darkModeAppLayout;
p {
font-size: 0;
letter-spacing: -10px;
}
.colored {
color: $theme;
svg {
path {
fill: #fff;
}
}
}
}
.s3 {
.notice {
color: red;
font-size: 14px;
display: none;
.pwa-header {
padding: 10px 0;
background: $theme;
position: fixed;
top: 0;
left: 0;
z-index: 10;
width: 100%;
@include boxShadow(0 4px 8px rgba(#000, 0.4));
@media (max-width: 992px) {
display: block;
.options {
display: flex;
justify-content: flex-end;
align-items: center;
a {
color: #fff;
font-size: 16px;
margin-right: 5px;
display: inline-block;
padding: 2px 5px;
@include borderRadius(8px);
&.active {
background-color: rgba(#fff, 0.2);
}
}
i {
color: #fff;
font-size: 22px;
margin-right: 10px;
padding: 10px;
padding-left: 0;
&:lang(en) {
padding-left: 10px;
padding-right: 0;
margin-right: 0;
margin-left: 10px;
}
}
}
.tableBox {
width: 100%;
overflow: auto;
.logo {
svg {
width: 60px;
table {
width: 100%;
min-width: 960px;
border: 1px solid rgba(#000, 1);
thead {
background: $theme;
color: #fff;
th {
padding: 20px;
font-family: 'sahel-LD', 'diodrum', sans-serif;
direction: ltr;
&.middle {
border-left: 2px solid rgba(#fff, 0.4) !important;
border-right: 2px solid rgba(#fff, 0.4) !important;
}
}
}
tbody {
background: rgba($theme, 0.2);
color: #000;
tr {
line-height: 1.3em;
td {
border: 1px solid rgba(#000, 1);
padding: 20px;
font-family: 'sahel-LD', 'diodrum', sans-serif;
direction: ltr;
text-align: center;
&:last-child {
direction: ltr !important;
}
}
&.odd {
background: rgba(#000, 0.1);
}
}
path {
fill: #fff;
}
}
}
}
&.vehicles {
.pwa-about {
background: #fff;
width: 100%;
height: 100vh;
overflow: auto;
position: fixed;
top: 0;
left: 0;
z-index: 9;
padding-top: 100px;
padding-bottom: 100px;
@include boxSizing(border-box);
visibility: hidden;
opacity: 0;
.description {
a {
color: $theme;
}
&.forklifts {
margin-top: 50px;
.copyRight {
text-align: center;
p {
margin-top: 80px;
font-weight: bold;
text-align: center;
}
a {
color: #872071;
font-size: 14px;
}
}
}
}
.calculation--page {
.s1 {
padding-bottom: 0;
.notice {
margin-top: 20px;
color: red;
}
}
}
.connection-status {
position: fixed;
bottom: 15px;
right: 15px;
z-index: 20;
background: $red;
padding: 2px 8px;
@include borderRadius(10px);
&:lang(en) {
right: auto;
left: 15px;
}
p {
color: #fff;
}
}
}