code cleaned
This commit is contained in:
parent
b1ad665738
commit
1a1d79a5f4
@ -1,4 +1,5 @@
|
||||
@import url(https://fonts.googleapis.com/css?family=Nunito);@charset "UTF-8";
|
||||
@import url(https://fonts.googleapis.com/css?family=Nunito);
|
||||
@charset "UTF-8";
|
||||
|
||||
/*!
|
||||
* Bootstrap v4.3.1 (https://getbootstrap.com/)
|
||||
@ -11100,19 +11101,10 @@ a.text-dark:focus {
|
||||
}
|
||||
}
|
||||
|
||||
.full-height {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.flex-center {
|
||||
align-items: center;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.position-ref {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 84px;
|
||||
}
|
||||
@ -11127,89 +11119,82 @@ a.text-dark:focus {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.m-b-md {
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.content {
|
||||
text-align: center;
|
||||
color: #636b6f;
|
||||
}
|
||||
|
||||
#app {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.container, .py-4 {
|
||||
height: 100%;
|
||||
}
|
||||
/*.btn-custom {*/
|
||||
/*border: none;*/
|
||||
/*border-bottom: 1px solid lightgrey;*/
|
||||
/*background-color: white;*/
|
||||
/*color: #1e3572;*/
|
||||
/*}*/
|
||||
|
||||
.custom-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
background-color: #ececec;
|
||||
}
|
||||
|
||||
.add-subject, .add-attendance {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.add-subject.open, .add-attendance.open {
|
||||
display: block;
|
||||
}
|
||||
.card-body {
|
||||
margin-top: 30px;
|
||||
}
|
||||
.classes-form {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.map-buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
}
|
||||
.subjects-table {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.seat-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.main-seat-text {
|
||||
font-size: 50px;
|
||||
}
|
||||
.navbar-nav.ml-auto {
|
||||
justify-content: flex-end;
|
||||
width: 100%;
|
||||
}
|
||||
.no-margin-top {
|
||||
margin-top: 0;
|
||||
}
|
||||
.nav-link {
|
||||
margin-left: 30px;
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
.nav-link:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
.btn-export {
|
||||
background-color: #649a24;
|
||||
}
|
||||
.card-header {
|
||||
background-color: #ececec;
|
||||
}
|
||||
|
||||
.card-custom {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.card-body {
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.classes-form {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.subjects-table {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.navbar-nav.ml-auto {
|
||||
justify-content: flex-end;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.no-margin-top {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
margin-left: 30px;
|
||||
transition: transform 0.3s;
|
||||
}
|
||||
|
||||
.nav-link:hover {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.btn-export {
|
||||
background-color: #649a24;
|
||||
}
|
||||
|
||||
.sort-span {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.form-custom {
|
||||
width: auto;
|
||||
}
|
||||
.carousel-control-prev, .carousel-control-next {
|
||||
|
||||
.carousel-control-prev, .carousel-control-next, .sr-only {
|
||||
filter: invert(100%);
|
||||
}
|
||||
|
||||
main {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
@ -1,41 +1,49 @@
|
||||
div.seatCharts-container {
|
||||
min-width: 700px;
|
||||
a {
|
||||
color: #b71a4c;
|
||||
}
|
||||
div.seatCharts-cell {
|
||||
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
div.seatCharts-container {
|
||||
text-align: center;
|
||||
width: fit-content;
|
||||
padding: 30px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
div.seatCharts-cell {
|
||||
margin: 3px;
|
||||
float: left;
|
||||
text-align: center;
|
||||
outline: none;
|
||||
font-size: 13px;
|
||||
line-height:16px;
|
||||
color: blue;
|
||||
|
||||
color: #182C4E;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
line-height: 90px;
|
||||
}
|
||||
|
||||
div.seatCharts-seat {
|
||||
background-color: green;
|
||||
color: white;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
cursor: default;
|
||||
color: #FFFFFF;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
div.seatCharts-seat:focus {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.seatCharts-seat:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
|
||||
div.seatCharts-space {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
div.seatCharts-row {
|
||||
height: 50px;
|
||||
height: 100px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
margin: 0 auto;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
div.seatCharts-row:after {
|
||||
@ -43,33 +51,270 @@ div.seatCharts-row:after {
|
||||
}
|
||||
|
||||
div.seatCharts-seat.selected {
|
||||
background-color: aqua;
|
||||
background-color: #1b4d76;
|
||||
}
|
||||
|
||||
div.seatCharts-seat.focused {
|
||||
background-color: #6db131;
|
||||
background-color: #1F5684;
|
||||
}
|
||||
|
||||
div.seatCharts-seat.available {
|
||||
background-color: green;
|
||||
background-color: #649a24;
|
||||
}
|
||||
|
||||
div.seatCharts-seat.available.student-class {
|
||||
background-color: #a8b9bd;
|
||||
}
|
||||
|
||||
div.seatCharts-seat.unavailable {
|
||||
background-color: red;
|
||||
cursor: not-allowed;
|
||||
background-color: #6F7881;
|
||||
}
|
||||
|
||||
ul.seatCharts-legendList {
|
||||
list-style: none;
|
||||
cursor: default;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
li.seatCharts-legendItem {
|
||||
margin-top: 10px;
|
||||
line-height: 2;
|
||||
}
|
||||
|
||||
li.seatCharts-legendItem div {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
li.seatCharts-legendItem > .seatCharts-cell {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
div.seatCharts-legend {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div.seatCharts-legend li {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
span.seatCharts-legendDescription {
|
||||
margin-left: 5px;
|
||||
line-height: 100px;
|
||||
}
|
||||
|
||||
.front-indicator {
|
||||
margin: 0;
|
||||
background-color: #ececec;
|
||||
color: #a1a1a1;
|
||||
text-align: center;
|
||||
padding: 15px;
|
||||
border-radius: 5px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#legend {
|
||||
width: 49%;
|
||||
margin: 0 auto;
|
||||
float: left;
|
||||
font-size: 16px;
|
||||
}
|
||||
.booking-details {
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
width: 49%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.booking-details h2 {
|
||||
margin: 25px 0 20px 0;
|
||||
font-size: 22px;
|
||||
color: #333333;
|
||||
letter-spacing: 0.15em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.booking-details h3 {
|
||||
margin: 5px 5px 0 0;
|
||||
font-size: 40px;
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.map-buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.checkout-button {
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
background-color: #3490dc;
|
||||
border-radius: 3px;
|
||||
border: 0;
|
||||
padding: 15px 40px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.checkout-button:hover {
|
||||
box-shadow: 0 0 rgb(103, 88, 184);
|
||||
background-color: #227dc7;
|
||||
border-color: #2176bd;
|
||||
}
|
||||
|
||||
a.checkout-button {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#selected-seats {
|
||||
list-style-type: none;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.seat-p {
|
||||
font-weight: bold;
|
||||
font-size: 20px;
|
||||
margin-left: 15%;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin: 0 40px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.wrapper h2 {
|
||||
font-size: 40px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.wrapper h3 {
|
||||
font-size: 30px;
|
||||
font-weight: 400;
|
||||
text-shadow: 1px 0px 0px rgb(160, 160, 160);
|
||||
}
|
||||
|
||||
.seat-stat-wrapper, .seat-chart-wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.card-reader {
|
||||
text-align: center;
|
||||
color: #3490dc;
|
||||
border-color: #3490dc;
|
||||
padding: 50px 100px;
|
||||
font-size: 30px;
|
||||
display: none;
|
||||
width: 70%;
|
||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.card-reader.open {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.code-p {
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
.card-reader-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.card-reader-form div {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.main-text {
|
||||
text-transform: uppercase;
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-weight: 500;
|
||||
text-shadow: 0 0 2px rgba(56, 55, 55, 0.6);
|
||||
color: #636b6f;
|
||||
text-align: center;
|
||||
font-size: 50px;
|
||||
}
|
||||
|
||||
#sel-seat {
|
||||
font-size: 24px;
|
||||
text-shadow: 0px 0px 1px rgb(160, 160, 160);
|
||||
margin-top: -15px;
|
||||
margin-bottom: 100px;
|
||||
padding: 0;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2em;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 1300px) {
|
||||
.wrapper {
|
||||
height: 50%;
|
||||
}
|
||||
|
||||
.main-text {
|
||||
font-size: 9vh;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 870px) {
|
||||
.wrapper {
|
||||
height: 35%;
|
||||
}
|
||||
|
||||
.main-text {
|
||||
font-size: 3.5em;
|
||||
line-height: 10vh;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.card-reader {
|
||||
bottom: -30%;
|
||||
transform: translate(-50%, -10%);
|
||||
padding: 30px 50px;
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 650px) {
|
||||
.wrapper {
|
||||
height: 30%;
|
||||
}
|
||||
|
||||
.main-text {
|
||||
font-size: 2.7em;
|
||||
line-height: 6vh;
|
||||
width: 100%;
|
||||
padding: 20px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 550px) {
|
||||
#legend {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.booking-details {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,93 +0,0 @@
|
||||
body {
|
||||
font-family: 'Nunito', sans-serif;
|
||||
background-color: #f8fafc;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
text-align: center;
|
||||
margin: 100px;
|
||||
border-radius: 10px;
|
||||
padding: 50px 0;
|
||||
text-shadow: 0 0 2px rgba(56, 55, 55, 0.6);
|
||||
color: #545c5f;
|
||||
}
|
||||
|
||||
.wrapper h2 {
|
||||
font-size: 64px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.wrapper h3 {
|
||||
font-size: 36px;
|
||||
font-weight: 400;
|
||||
text-shadow: 1px 0px 0px rgb(160, 160, 160);
|
||||
}
|
||||
|
||||
#sel-seat {
|
||||
font-size: 24px;
|
||||
text-shadow: 0px 0px 1px rgb(160, 160, 160);
|
||||
margin-top: -15px;
|
||||
margin-bottom: 100px;
|
||||
padding: 0;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.2em;
|
||||
}
|
||||
|
||||
button {
|
||||
margin: auto 0;
|
||||
font-size: 18px;
|
||||
border-radius: 2px;
|
||||
border: 0;
|
||||
min-width: 250px;
|
||||
padding: 25px 60px;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background-color: #3490dc;
|
||||
border-color: #3490dc;
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 30%;
|
||||
transform: translate(-50%, -10%);
|
||||
}
|
||||
|
||||
button:hover {
|
||||
color: #fff;
|
||||
background-color: #227dc7;
|
||||
border-color: #2176bd;
|
||||
}
|
||||
|
||||
button:active {
|
||||
box-shadow: 0 0 #b85a5b;
|
||||
background-color: #3654ff;
|
||||
}
|
||||
.checkout-button {
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
background-color: #5d7cd3;
|
||||
border-radius: 3px;
|
||||
border: 0;
|
||||
padding: 15px 40px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
box-shadow:0px 4px 0px #1e3572;
|
||||
}
|
||||
|
||||
.checkout-button:hover {
|
||||
box-shadow: 0 0 rgb(103, 88, 184);
|
||||
background-color: #3654c9;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.checkout-button:active {
|
||||
box-shadow: 0 0 #b85a5b;
|
||||
background-color: #3654ff;
|
||||
}
|
||||
a.checkout-button {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.add-mn-btn {
|
||||
display: none;
|
||||
}
|
||||
|
@ -1,148 +0,0 @@
|
||||
body {
|
||||
background-color: #f8fafc;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin: 0 auto;
|
||||
display: inline-block;
|
||||
padding: 20px;
|
||||
width: 70%;
|
||||
height:60vh;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
.czytnik {
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -30%;
|
||||
transform: translate(-50%, -10%);
|
||||
box-shadow: 0 0 rgb(103, 88, 184);
|
||||
color: #fff;
|
||||
background-color: #3490dc;
|
||||
border-color: #3490dc;
|
||||
padding: 50px 100px;
|
||||
font-size: 30px;
|
||||
display: none;
|
||||
width: 70%;
|
||||
}
|
||||
.czytnik:hover {
|
||||
color: #fff;
|
||||
background-color: #227dc7;
|
||||
border-color: #2176bd;
|
||||
}
|
||||
|
||||
.czytnik.open {
|
||||
display: block;
|
||||
}
|
||||
.code-p {
|
||||
text-align: center;
|
||||
font-size: 20px;
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
.test-form {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.test-form div {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.main-text {
|
||||
text-transform: uppercase;
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-weight: 500;
|
||||
text-shadow: 0 0 2px rgba(56, 55, 55, 0.6);
|
||||
color: #636b6f;
|
||||
text-align: center;
|
||||
font-size: 12vh;
|
||||
}
|
||||
|
||||
@media (max-width: 1300px) {
|
||||
.wrapper {
|
||||
height: 50%;
|
||||
}
|
||||
.main-text {
|
||||
font-size: 9vh;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 870px) {
|
||||
.wrapper {
|
||||
height: 35%;
|
||||
}
|
||||
.main-text {
|
||||
font-size: 3.5em;
|
||||
line-height: 10vh;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.czytnik {
|
||||
bottom: -30%;
|
||||
transform: translate(-50%, -10%);
|
||||
padding: 30px 50px;
|
||||
font-size: 25px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@media (max-width: 650px) {
|
||||
|
||||
.wrapper {
|
||||
height: 30%;
|
||||
}
|
||||
|
||||
.main-text {
|
||||
font-size: 2.7em;
|
||||
line-height: 6vh;
|
||||
width: 100%;
|
||||
padding: 20px 0;
|
||||
}
|
||||
}
|
||||
.checkout-button {
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
background-color: #5d7cd3;
|
||||
border-radius: 3px;
|
||||
border: 0;
|
||||
padding: 15px 40px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
box-shadow:0px 4px 0px #1e3572;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.checkout-button:hover {
|
||||
box-shadow: 0 0 rgb(103, 88, 184);
|
||||
background-color: #3654c9;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.checkout-button:active {
|
||||
top: 4px;
|
||||
box-shadow: 0 0 #b85a5b;
|
||||
background-color: #3654ff;
|
||||
}
|
||||
a.checkout-button {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
.map-buttons {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.seat-wrapper {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.main-seat-text {
|
||||
font-size: 70px;
|
||||
text-align: center;
|
||||
}
|
@ -1,101 +1,72 @@
|
||||
body {
|
||||
background-color: #f8fafc;
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-weight: 600;
|
||||
}
|
||||
.seat-stat-wrapper h1{
|
||||
text-align: center;
|
||||
font-size: 56px;
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 2px outset rgba(133, 133, 133, 0.4);
|
||||
text-transform: uppercase;
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-weight: 500;
|
||||
text-shadow: 0 0 6px rgba(133, 133, 133, 0.4);
|
||||
color: #636b6f;
|
||||
}
|
||||
.add-mn-btn, .end-button {
|
||||
display: none;
|
||||
}
|
||||
#choosepanel h2, .room-view h2 {
|
||||
font-size: 23px;
|
||||
text-shadow: 0 0 6px rgba(133, 133, 133, 0.4);
|
||||
}
|
||||
#choosepanel select {
|
||||
font-size: 18px;
|
||||
width: 150px;
|
||||
text-shadow: 0 0 6px rgba(133, 133, 133, 0.4);
|
||||
display: block;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
|
||||
.seat-chart-wrapper, div.seatCharts-space {
|
||||
background-color: #ececec;
|
||||
}
|
||||
.seat-chart-wrapper {
|
||||
padding: 60px 0;
|
||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.1), 0 3px 10px 0 rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.preview-page-content {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
padding: auto;
|
||||
padding-top: 50px;
|
||||
margin: 40px;
|
||||
}
|
||||
|
||||
.preview-attendance-table {
|
||||
width: 40%;
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.seat-chart-wrapper {
|
||||
width: 60%;
|
||||
}
|
||||
.preview-attendance-table, .seat-chart-wrapper {
|
||||
margin: 0 30px;
|
||||
}
|
||||
|
||||
div.seatCharts-space {
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
div.seatCharts-row {
|
||||
height: 130px;
|
||||
height: 150px;
|
||||
justify-content: flex-start;
|
||||
margin: 0 auto;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
div.seatCharts-cell {
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
line-height: 37px;
|
||||
}
|
||||
.preview-name {
|
||||
color: rgba(0,0,0,0.7);
|
||||
}
|
||||
.front-indicator-preview {
|
||||
width: 140px;
|
||||
height: 140px;
|
||||
font-size: 16px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
line-height: initial;
|
||||
}
|
||||
.preview-box {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
div.seatCharts-seat.available {
|
||||
background-color: rgba(111,120,129, 0.7);
|
||||
}
|
||||
|
||||
div.seatCharts-seat.taken {
|
||||
background-color: #649a24;
|
||||
}
|
||||
|
||||
.preview-name {
|
||||
color: rgba(0,0,0,0.7);
|
||||
word-wrap: break-word;
|
||||
width: 90%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.checkout-button-preview {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
width: 40%;
|
||||
padding-left: 35px;
|
||||
}
|
||||
.seat-p-ppreview {
|
||||
|
||||
.seat-p-preview {
|
||||
justify-content: center;
|
||||
width: 60%;
|
||||
padding: 0 auto;
|
||||
}
|
||||
div.seatCharts-seat.available {
|
||||
background-color: rgba(111,120,129, 0.7);
|
||||
}
|
||||
div.seatCharts-seat.taken {
|
||||
background-color: #649a24;
|
||||
}
|
||||
|
||||
.front-indicator {
|
||||
width: 100%;
|
||||
margin: 5px 0;
|
||||
margin: 0 40px;
|
||||
}
|
||||
|
@ -1,154 +0,0 @@
|
||||
body {
|
||||
background-color: #f8fafc;
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-weight: 600;
|
||||
}
|
||||
a {
|
||||
color: #b71a4c;
|
||||
}
|
||||
.front-indicator {
|
||||
width: 90%;
|
||||
margin: 5px 32px 5px 32px;
|
||||
background-color: #ececec;
|
||||
color: #a1a1a1;
|
||||
text-align: center;
|
||||
padding: 15px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.container {
|
||||
margin: 0 auto;
|
||||
text-align: left;
|
||||
}
|
||||
.seat-stat-wrapper {
|
||||
display: inline;
|
||||
}
|
||||
#legend {
|
||||
width: 49%;
|
||||
margin: 0 auto;
|
||||
float: left;
|
||||
font-size: 16px;
|
||||
}
|
||||
.booking-details {
|
||||
display: inline-block;
|
||||
text-align: right;
|
||||
font-size: 12px;
|
||||
width: 49%;
|
||||
margin: 0 auto;
|
||||
|
||||
}
|
||||
@media screen and (max-width: 550px) {
|
||||
#legend {
|
||||
width: 100%;
|
||||
}
|
||||
.booking-details {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
.booking-details h2 {
|
||||
margin: 25px 0 20px 0;
|
||||
font-size: 22px;
|
||||
color: #333333;
|
||||
letter-spacing: 0.15em;
|
||||
font-weight: bold;
|
||||
}
|
||||
.booking-details h3 {
|
||||
margin: 5px 5px 0 0;
|
||||
font-size: 40px;
|
||||
color: #333333;
|
||||
font-weight: bold;
|
||||
}
|
||||
div.seatCharts-cell {
|
||||
color: #182C4E;
|
||||
height: 90px;
|
||||
width: 90px;
|
||||
line-height: 90px;
|
||||
|
||||
}
|
||||
div.seatCharts-seat {
|
||||
color: #FFFFFF;
|
||||
cursor: pointer;
|
||||
}
|
||||
div.seatCharts-row {
|
||||
height: 100px;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
margin: 0 auto;
|
||||
width: auto;
|
||||
}
|
||||
div.seatCharts-seat.available {
|
||||
background-color: #649a24;
|
||||
}
|
||||
div.seatCharts-seat.available.student-class {
|
||||
background-color: #a8b9bd;
|
||||
}
|
||||
div.seatCharts-seat.focused {
|
||||
background-color: #1F5684;
|
||||
}
|
||||
div.seatCharts-seat.selected {
|
||||
background-color: #1b4d76;
|
||||
}
|
||||
div.seatCharts-seat.unavailable {
|
||||
background-color: #6F7881;
|
||||
}
|
||||
|
||||
div.seatCharts-container {
|
||||
text-align: center;
|
||||
width: fit-content;
|
||||
padding: 30px;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
div.seatCharts-legend {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
div.seatCharts-legend li {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
ul.seatCharts-legendList {
|
||||
padding-left: 0px;
|
||||
}
|
||||
span.seatCharts-legendDescription {
|
||||
margin-left: 5px;
|
||||
line-height: 100px;
|
||||
}
|
||||
|
||||
.checkout-button {
|
||||
margin: 10px 0;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
background-color: #3490dc;
|
||||
border-color: #3490dc;
|
||||
border-radius: 3px;
|
||||
border: 0;
|
||||
padding: 15px 40px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.checkout-button:hover {
|
||||
box-shadow: 0 0 rgb(103, 88, 184);
|
||||
background-color: #227dc7;
|
||||
border-color: #2176bd;
|
||||
}
|
||||
a.checkout-button {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#selected-seats {
|
||||
list-style-type: none;
|
||||
margin-left: 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
.add-mn-btn {
|
||||
display: none;
|
||||
}
|
||||
.seat-p {
|
||||
font-weight: bold;
|
||||
margin-bottom: 0;
|
||||
font-size: 20px;
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
$(document).ready(function(){
|
||||
$('.add-mn-btn').on('click', function () {
|
||||
$('.czytnik').toggleClass('open');
|
||||
$('.card-reader').toggleClass('open');
|
||||
});
|
||||
|
||||
|
||||
|
@ -5,8 +5,9 @@
|
||||
* Copyright 2013, 2016 Mateusz Markowski
|
||||
* Released under the MIT license
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
|
||||
(function($) {
|
||||
(function ($) {
|
||||
|
||||
//'use strict';
|
||||
|
||||
@ -22,23 +23,23 @@
|
||||
seatIds = [],
|
||||
legend,
|
||||
settings = {
|
||||
animate : false, //requires jQuery UI
|
||||
naming : {
|
||||
top : false,
|
||||
left : false,
|
||||
getId : function(character, row, column) {
|
||||
animate: false, //requires jQuery UI
|
||||
naming: {
|
||||
top: false,
|
||||
left: false,
|
||||
getId: function (character, row, column) {
|
||||
return row + '_' + column;
|
||||
},
|
||||
getLabel : function (character, row, column) {
|
||||
getLabel: function (character, row, column) {
|
||||
return column;
|
||||
}
|
||||
|
||||
},
|
||||
legend : {
|
||||
node : null,
|
||||
items : []
|
||||
legend: {
|
||||
node: null,
|
||||
items: []
|
||||
},
|
||||
click : function() {
|
||||
click: function () {
|
||||
|
||||
if (this.status() == 'available') {
|
||||
return 'selected';
|
||||
@ -49,7 +50,7 @@
|
||||
}
|
||||
|
||||
},
|
||||
focus : function() {
|
||||
focus: function () {
|
||||
|
||||
if (this.status() == 'available') {
|
||||
return 'focused';
|
||||
@ -57,22 +58,22 @@
|
||||
return this.style();
|
||||
}
|
||||
},
|
||||
blur : function() {
|
||||
blur: function () {
|
||||
return this.status();
|
||||
},
|
||||
seats : {}
|
||||
seats: {}
|
||||
|
||||
},
|
||||
//seat will be basically a seat object which we'll when generating the map
|
||||
seat = (function(seatCharts, seatChartsSettings) {
|
||||
seat = (function (seatCharts, seatChartsSettings) {
|
||||
return function (setup) {
|
||||
var fn = this;
|
||||
|
||||
fn.settings = $.extend({
|
||||
status : 'available', //available, unavailable, selected
|
||||
style : 'available',
|
||||
status: 'available', //available, unavailable, selected
|
||||
style: 'available',
|
||||
//make sure there's an empty hash if user doesn't pass anything
|
||||
data : seatChartsSettings.seats[setup.character] || {}
|
||||
data: seatChartsSettings.seats[setup.character] || {}
|
||||
//anything goes here?
|
||||
}, setup);
|
||||
|
||||
@ -80,11 +81,11 @@
|
||||
|
||||
fn.settings.$node
|
||||
.attr({
|
||||
id : fn.settings.id,
|
||||
role : 'checkbox',
|
||||
'aria-checked' : false,
|
||||
focusable : true,
|
||||
tabIndex : -1 //manual focus
|
||||
id: fn.settings.id,
|
||||
role: 'checkbox',
|
||||
'aria-checked': false,
|
||||
focusable: true,
|
||||
tabIndex: -1 //manual focus
|
||||
})
|
||||
.text(fn.settings.label)
|
||||
.addClass(['seatCharts-seat', 'seatCharts-cell', 'available'].concat(
|
||||
@ -95,15 +96,15 @@
|
||||
).join(' '));
|
||||
|
||||
//basically a wrapper function
|
||||
fn.data = function() {
|
||||
fn.data = function () {
|
||||
return fn.settings.data;
|
||||
};
|
||||
|
||||
fn.char = function() {
|
||||
fn.char = function () {
|
||||
return fn.settings.character;
|
||||
};
|
||||
|
||||
fn.node = function() {
|
||||
fn.node = function () {
|
||||
return fn.settings.$node;
|
||||
};
|
||||
|
||||
@ -114,10 +115,10 @@
|
||||
*
|
||||
* If you pass an argument, it will update seat's style
|
||||
*/
|
||||
fn.style = function() {
|
||||
fn.style = function () {
|
||||
|
||||
return arguments.length == 1 ?
|
||||
(function(newStyle) {
|
||||
(function (newStyle) {
|
||||
var oldStyle = fn.settings.style;
|
||||
|
||||
//if nothing changes, do nothing
|
||||
@ -140,19 +141,19 @@
|
||||
};
|
||||
|
||||
//either set or retrieve
|
||||
fn.status = function() {
|
||||
fn.status = function () {
|
||||
|
||||
return fn.settings.status = arguments.length == 1 ?
|
||||
fn.style(arguments[0]) : fn.settings.status;
|
||||
};
|
||||
|
||||
//using immediate function to convienietly get shortcut variables
|
||||
(function(seatSettings, character, seat) {
|
||||
(function (seatSettings, character, seat) {
|
||||
//attach event handlers
|
||||
$.each(['click', 'focus', 'blur'], function(index, callback) {
|
||||
$.each(['click', 'focus', 'blur'], function (index, callback) {
|
||||
|
||||
//we want to be able to call the functions for each seat object
|
||||
fn[callback] = function() {
|
||||
fn[callback] = function () {
|
||||
if (callback == 'focus') {
|
||||
//if there's already a focused element, we have to remove focus from it first
|
||||
if (seatCharts.attr('aria-activedescendant') !== undefined) {
|
||||
@ -183,7 +184,7 @@
|
||||
.on('mouseleave', fn.blur)
|
||||
|
||||
//keydown requires quite a lot of logic, because we have to know where to move the focus
|
||||
.on('keydown', (function(seat, $seat) {
|
||||
.on('keydown', (function (seat, $seat) {
|
||||
|
||||
return function (e) {
|
||||
|
||||
@ -216,7 +217,7 @@
|
||||
if (!$rows.index($currentRow) && e.which == 38) {
|
||||
//if this is the first row and user has pressed up arrow, move to the last row
|
||||
$newRow = $rows.last();
|
||||
} else if ($rows.index($currentRow) == $rows.length-1 && e.which == 40) {
|
||||
} else if ($rows.index($currentRow) == $rows.length - 1 && e.which == 40) {
|
||||
//if this is the last row and user has pressed down arrow, move to the first row
|
||||
$newRow = $rows.first();
|
||||
} else {
|
||||
@ -269,12 +270,12 @@
|
||||
* User will be able to browse the whole map using just left/right arrow, because
|
||||
* it will move to the next row when we reach the right/left-most seat.
|
||||
*/
|
||||
$newSeat = (function($seats) {
|
||||
$newSeat = (function ($seats) {
|
||||
|
||||
if (!$seats.index($seat) && e.which == 37) {
|
||||
//user has pressed left arrow and we're currently on the left-most seat
|
||||
return $seats.last();
|
||||
} else if ($seats.index($seat) == $seats.length -1 && e.which == 39) {
|
||||
} else if ($seats.index($seat) == $seats.length - 1 && e.which == 39) {
|
||||
//user has pressed right arrow and we're currently on the right-most seat
|
||||
return $seats.first();
|
||||
} else {
|
||||
@ -316,7 +317,7 @@
|
||||
$.extend(true, settings, setup);
|
||||
|
||||
//Generate default row ids unless user passed his own
|
||||
settings.naming.rows = settings.naming.rows || (function(length) {
|
||||
settings.naming.rows = settings.naming.rows || (function (length) {
|
||||
var rows = [];
|
||||
for (var i = 1; i <= length; i++) {
|
||||
rows.push(i);
|
||||
@ -325,7 +326,7 @@
|
||||
})(settings.map.length);
|
||||
|
||||
//Generate default column ids unless user passed his own
|
||||
settings.naming.columns = settings.naming.columns || (function(length) {
|
||||
settings.naming.columns = settings.naming.columns || (function (length) {
|
||||
var columns = [];
|
||||
for (var i = 1; i <= length; i++) {
|
||||
columns.push(i);
|
||||
@ -342,7 +343,7 @@
|
||||
}
|
||||
|
||||
|
||||
$.each(settings.naming.columns, function(index, value) {
|
||||
$.each(settings.naming.columns, function (index, value) {
|
||||
$headerRow.append(
|
||||
$('<div></div>')
|
||||
.addClass('seatCharts-cell')
|
||||
@ -354,7 +355,7 @@
|
||||
fn.append($headerRow);
|
||||
|
||||
//do this for each map row
|
||||
$.each(settings.map, function(row, characters) {
|
||||
$.each(settings.map, function (row, characters) {
|
||||
|
||||
var $row = $('<div></div>').addClass('seatCharts-row');
|
||||
|
||||
@ -397,19 +398,19 @@
|
||||
|
||||
$row.append(character != '_' ?
|
||||
//if the character is not an underscore (empty space)
|
||||
(function(naming) {
|
||||
(function (naming) {
|
||||
|
||||
//so users don't have to specify empty objects
|
||||
settings.seats[character] = character in settings.seats ? settings.seats[character] : {};
|
||||
|
||||
var id = overrideId ? overrideId : naming.getId(character, naming.rows[row], naming.columns[column]);
|
||||
seats[id] = new seat({
|
||||
id : id,
|
||||
label : overrideLabel ?
|
||||
id: id,
|
||||
label: overrideLabel ?
|
||||
overrideLabel : naming.getLabel(character, naming.rows[row], naming.columns[column]),
|
||||
row : row,
|
||||
column : column,
|
||||
character : character
|
||||
row: row,
|
||||
column: column,
|
||||
character: character
|
||||
});
|
||||
|
||||
seatIds.push(id);
|
||||
@ -425,7 +426,7 @@
|
||||
});
|
||||
|
||||
//if there're any legend items to be rendered
|
||||
settings.legend.items.length ? (function(legend) {
|
||||
settings.legend.items.length ? (function (legend) {
|
||||
//either use user-defined container or create our own and insert it right after the seat chart div
|
||||
var $container = (legend.node || $('<div></div>').insertAfter(fn))
|
||||
.addClass('seatCharts-legend');
|
||||
@ -434,7 +435,7 @@
|
||||
.addClass('seatCharts-legendList')
|
||||
.appendTo($container);
|
||||
|
||||
$.each(legend.items, function(index, item) {
|
||||
$.each(legend.items, function (index, item) {
|
||||
$ul.append(
|
||||
$('<li></li>')
|
||||
.addClass('seatCharts-legendItem')
|
||||
@ -458,12 +459,12 @@
|
||||
})(settings.legend) : null;
|
||||
|
||||
fn.attr({
|
||||
tabIndex : 0
|
||||
tabIndex: 0
|
||||
});
|
||||
|
||||
|
||||
//when container's focused, move focus to the first seat
|
||||
fn.focus(function() {
|
||||
fn.focus(function () {
|
||||
if (fn.attr('aria-activedescendant')) {
|
||||
seats[fn.attr('aria-activedescendant')].blur();
|
||||
}
|
||||
@ -475,22 +476,22 @@
|
||||
|
||||
//public methods of seatCharts
|
||||
fn.data('seatCharts', {
|
||||
seats : seats,
|
||||
seatIds : seatIds,
|
||||
seats: seats,
|
||||
seatIds: seatIds,
|
||||
//set for one, set for many, get for one
|
||||
status: function() {
|
||||
status: function () {
|
||||
var fn = this;
|
||||
|
||||
return arguments.length == 1 ? fn.seats[arguments[0]].status() : (function(seatsIds, newStatus) {
|
||||
return arguments.length == 1 ? fn.seats[arguments[0]].status() : (function (seatsIds, newStatus) {
|
||||
|
||||
return typeof seatsIds == 'string' ? fn.seats[seatsIds].status(newStatus) : (function() {
|
||||
$.each(seatsIds, function(index, seatId) {
|
||||
return typeof seatsIds == 'string' ? fn.seats[seatsIds].status(newStatus) : (function () {
|
||||
$.each(seatsIds, function (index, seatId) {
|
||||
fn.seats[seatId].status(newStatus);
|
||||
});
|
||||
})();
|
||||
})(arguments[0], arguments[1]);
|
||||
},
|
||||
each : function(callback) {
|
||||
each: function (callback) {
|
||||
var fn = this;
|
||||
|
||||
for (var seatId in fn.seats) {
|
||||
@ -501,13 +502,13 @@
|
||||
|
||||
return true;
|
||||
},
|
||||
node : function() {
|
||||
node: function () {
|
||||
var fn = this;
|
||||
//basically create a CSS query to get all seats by their DOM ids
|
||||
return $('#' + fn.seatIds.join(',#'));
|
||||
},
|
||||
|
||||
find : function(query) {//D, a.available, unavailable
|
||||
find: function (query) {//D, a.available, unavailable
|
||||
var fn = this;
|
||||
|
||||
var seatSet = fn.set();
|
||||
@ -560,40 +561,40 @@
|
||||
);
|
||||
|
||||
},
|
||||
set : function set() {//inherits some methods
|
||||
set: function set() {//inherits some methods
|
||||
var fn = this;
|
||||
|
||||
return {
|
||||
seats : [],
|
||||
seatIds : [],
|
||||
length : 0,
|
||||
status : function() {
|
||||
seats: [],
|
||||
seatIds: [],
|
||||
length: 0,
|
||||
status: function () {
|
||||
var args = arguments,
|
||||
that = this;
|
||||
//if there's just one seat in the set and user didn't pass any params, return current status
|
||||
return this.length == 1 && args.length == 0 ? this.seats[0].status() : (function() {
|
||||
return this.length == 1 && args.length == 0 ? this.seats[0].status() : (function () {
|
||||
//otherwise call status function for each of the seats in the set
|
||||
$.each(that.seats, function() {
|
||||
$.each(that.seats, function () {
|
||||
this.status.apply(this, args);
|
||||
});
|
||||
})();
|
||||
},
|
||||
node : function() {
|
||||
node: function () {
|
||||
return fn.node.call(this);
|
||||
},
|
||||
each : function() {
|
||||
each: function () {
|
||||
return fn.each.call(this, arguments[0]);
|
||||
},
|
||||
get : function() {
|
||||
get: function () {
|
||||
return fn.get.call(this, arguments[0]);
|
||||
},
|
||||
find : function() {
|
||||
find: function () {
|
||||
return fn.find.call(this, arguments[0]);
|
||||
},
|
||||
set : function() {
|
||||
set: function () {
|
||||
return set.call(fn);
|
||||
},
|
||||
push : function(id, seat) {
|
||||
push: function (id, seat) {
|
||||
this.seats.push(seat);
|
||||
this.seatIds.push(id);
|
||||
++this.length;
|
||||
@ -601,15 +602,15 @@
|
||||
};
|
||||
},
|
||||
//get one object or a set of objects
|
||||
get : function(seatsIds) {
|
||||
get: function (seatsIds) {
|
||||
var fn = this;
|
||||
|
||||
return typeof seatsIds == 'string' ?
|
||||
fn.seats[seatsIds] : (function() {
|
||||
fn.seats[seatsIds] : (function () {
|
||||
|
||||
var seatSet = fn.set();
|
||||
|
||||
$.each(seatsIds, function(index, seatId) {
|
||||
$.each(seatsIds, function (index, seatId) {
|
||||
if (typeof fn.seats[seatId] === 'object') {
|
||||
seatSet.push(seatId, fn.seats[seatId]);
|
||||
}
|
||||
@ -624,4 +625,5 @@
|
||||
}
|
||||
|
||||
|
||||
})(jQuery);
|
||||
})(jQuery);
|
||||
});
|
||||
|
9
public/js/map/jquery.seat-charts.min.js
vendored
9
public/js/map/jquery.seat-charts.min.js
vendored
File diff suppressed because one or more lines are too long
@ -41,6 +41,7 @@ function checkForUnavailablePlaces() {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
checkForUnavailablePlaces();
|
||||
toggleButtonAvailability();
|
||||
|
@ -14,7 +14,7 @@ function assignPlaces() {
|
||||
map_seat = $('#seat-map-second').find(`#${seat_number}`);
|
||||
}
|
||||
}
|
||||
map_seat.html(`<b>${seat_number}</b> <br><span class="preview-name">${name} ${surname}</span>`)
|
||||
map_seat.html(`<b>${seat_number}</b> <br><span class="preview-name">${name} ${surname}</span>`);
|
||||
map_seat.on('mouseover', () => {
|
||||
map_seat.css('backgroundColor', 'lightgrey');
|
||||
$(this).css('backgroundColor', 'lightgrey');
|
||||
|
@ -3,6 +3,7 @@ $(document).ready(function() {
|
||||
function createMap(seats_rows, seats_container) {
|
||||
let $cart = $('#selected-seats');
|
||||
let seat_selected = false;
|
||||
|
||||
seats_container.seatCharts({
|
||||
map: seats_rows,
|
||||
naming: {
|
||||
@ -20,7 +21,7 @@ $(document).ready(function() {
|
||||
click: function () {
|
||||
if (this.status() === 'available' && !seat_selected) {
|
||||
// let's create a new <li> which we'll add to the cart items
|
||||
$('<span> ' + this.settings.label + '</span>')
|
||||
$('<span> ' + this.settings.label + ' <a href="#" class="cancel-cart-item">[x]</a></span>')
|
||||
.attr('id', 'cart-item-' + this.settings.id)
|
||||
.data('seatId', this.settings.id)
|
||||
.appendTo($cart);
|
||||
@ -39,11 +40,17 @@ $(document).ready(function() {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#selected-seats').on('click', '.cancel-cart-item', function () {
|
||||
const id = $(this).parent().data('seatId');
|
||||
$('#seat-map').find(`#${id}`).click();
|
||||
});
|
||||
}
|
||||
|
||||
function createTwoPartsMap(seat_rows_first, seat_rows_second, seat_container_first, seat_container_second) {
|
||||
let $cart = $('#selected-seats');
|
||||
let seat_selected = false;
|
||||
|
||||
seat_container_first.seatCharts({
|
||||
map: seat_rows_first,
|
||||
naming: {
|
||||
|
@ -1,22 +1,22 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title') Confirm password @endsection
|
||||
@section('title') Potwierdź hasło @endsection
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">{{ __('Confirm Password') }}</div>
|
||||
<div class="card-header">{{ __('Potwierdź hasło) }}</div>
|
||||
|
||||
<div class="card-body">
|
||||
{{ __('Please confirm your password before continuing.') }}
|
||||
{{ __('Zanimi przejdziesz dalej, potwierdź swoje hasło.') }}
|
||||
|
||||
<form method="POST" action="{{ route('password.confirm') }}">
|
||||
@csrf
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
|
||||
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Hasło') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
|
||||
@ -32,12 +32,12 @@
|
||||
<div class="form-group row mb-0">
|
||||
<div class="col-md-8 offset-md-4">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{{ __('Confirm Password') }}
|
||||
{{ __('Potwierdź hasło') }}
|
||||
</button>
|
||||
|
||||
@if (Route::has('password.request'))
|
||||
<a class="btn btn-link" href="{{ route('password.request') }}">
|
||||
{{ __('Forgot Your Password?') }}
|
||||
{{ __('Zapomniałeś hasła?') }}
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">{{ __('Reset Password') }}</div>
|
||||
<div class="card-header">{{ __('Resetuj hasło') }}</div>
|
||||
|
||||
<div class="card-body">
|
||||
@if (session('status'))
|
||||
@ -20,7 +20,7 @@
|
||||
@csrf
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
|
||||
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Adres E-Mail') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ old('email') }}" required autocomplete="email" autofocus>
|
||||
@ -36,7 +36,7 @@
|
||||
<div class="form-group row mb-0">
|
||||
<div class="col-md-6 offset-md-4">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{{ __('Send Password Reset Link') }}
|
||||
{{ __('WYślij link do zresetowania hasła') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,13 +1,13 @@
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title') Reset password @endsection
|
||||
@section('title') Zesetuj hasło @endsection
|
||||
|
||||
@section('content')
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-8">
|
||||
<div class="card">
|
||||
<div class="card-header">{{ __('Reset Password') }}</div>
|
||||
<div class="card-header">{{ __('Zresetuj hasło') }}</div>
|
||||
|
||||
<div class="card-body">
|
||||
<form method="POST" action="{{ route('password.update') }}">
|
||||
@ -16,7 +16,7 @@
|
||||
<input type="hidden" name="token" value="{{ $token }}">
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</label>
|
||||
<label for="email" class="col-md-4 col-form-label text-md-right">{{ __('Adres E-Mail') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{ $email ?? old('email') }}" required autocomplete="email" autofocus>
|
||||
@ -30,7 +30,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
|
||||
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Hasło') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password">
|
||||
@ -44,7 +44,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group row">
|
||||
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
|
||||
<label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Powtórz hasło') }}</label>
|
||||
|
||||
<div class="col-md-6">
|
||||
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
|
||||
@ -54,7 +54,7 @@
|
||||
<div class="form-group row mb-0">
|
||||
<div class="col-md-6 offset-md-4">
|
||||
<button type="submit" class="btn btn-primary">
|
||||
{{ __('Reset Password') }}
|
||||
{{ __('Zresetuj hasło') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -43,9 +43,9 @@
|
||||
@else
|
||||
<div class="container flex-center">
|
||||
<div class="row justify-content-center">
|
||||
<div class="flex-center position-ref full-height">
|
||||
<div class="flex-center position-ref">
|
||||
<div class="content">
|
||||
<div class="title m-b-md">
|
||||
<div class="title">
|
||||
@CHECK
|
||||
</div>
|
||||
<h2>Witaj!</h2>
|
||||
|
@ -3,29 +3,27 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
|
||||
<!-- CSRF Token -->
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<title>@CHECK | @yield('title')</title>
|
||||
<title> @CHECK | @yield('title') </title>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
|
||||
<script src="{{ asset('js/app.js') }}" defer></script>
|
||||
<script src="{{ asset('js/custom.js') }}" defer></script>
|
||||
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="dns-prefetch" href="//fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
|
||||
|
||||
<!-- Styles -->
|
||||
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
|
||||
<link rel="shortcut icon" href="{{ asset('img/favicon.png') }}">
|
||||
|
||||
@yield('main_meta')
|
||||
@yield('additional_meta')
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
|
||||
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="{{ url('/') }}">
|
||||
@ -34,15 +32,10 @@
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<!-- Left Side Of Navbar -->
|
||||
<ul class="navbar-nav mr-auto">
|
||||
</ul>
|
||||
|
||||
<!-- Right Side Of Navbar -->
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<!-- Authentication Links -->
|
||||
@guest
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('login') }}">{{ __('Zaloguj się') }}</a>
|
||||
@ -65,14 +58,12 @@
|
||||
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
|
||||
{{ Auth::user()->name }} {{ Auth::user()->surname }} <span class="caret"></span>
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="{{ route('logout') }}"
|
||||
onclick="event.preventDefault();
|
||||
document.getElementById('logout-form').submit();">
|
||||
{{ __('Wyloguj się') }}
|
||||
</a>
|
||||
|
||||
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
|
||||
@csrf
|
||||
</form>
|
||||
@ -84,11 +75,10 @@
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<main class="py-4">
|
||||
<div class="container">
|
||||
<main>
|
||||
@yield('content')
|
||||
</div>
|
||||
</main>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,89 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.14.0.css">
|
||||
<link rel="stylesheet" href="{{ asset('css/app.css') }}">
|
||||
<script type="text/javascript" src="{{ asset('js/app.js') }}"></script>
|
||||
<script src="http://code.jquery.com/qunit/qunit-1.14.0.js"></script>
|
||||
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/custom.js') }}"></script>
|
||||
<link rel="shortcut icon" href="{{ asset('img/favicon.png') }}">
|
||||
<title> @CHECK | @yield('map_title') </title>
|
||||
@yield('map_meta')
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="{{ url('/') }}">
|
||||
@CHECK
|
||||
</a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<!-- Left Side Of Navbar -->
|
||||
<ul class="navbar-nav mr-auto">
|
||||
</ul>
|
||||
|
||||
<!-- Right Side Of Navbar -->
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<!-- Authentication Links -->
|
||||
@guest
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('login') }}">{{ __('Zaloguj się') }}</a>
|
||||
</li>
|
||||
@if (Route::has('register'))
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('register') }}">{{ __('Zarejestruj się') }}</a>
|
||||
</li>
|
||||
@endif
|
||||
@else
|
||||
<a href="{{ route('user_subjects') }}" class="nav-link"> Moje przedmioty </a>
|
||||
<a href="{{ route('user_classes') }}" class="nav-link"> Sprawdź obecność </a>
|
||||
<a href="{{ route('user_attendances') }}" class="nav-link"> Obecności </a>
|
||||
@if (Auth::user()->is_Admin)
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('admin') }}">{{ __('Panel admina') }}</a>
|
||||
</li>
|
||||
@endif
|
||||
<li class="nav-item dropdown">
|
||||
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
|
||||
{{ Auth::user()->name }} {{ Auth::user()->surname }} <span class="caret"></span>
|
||||
</a>
|
||||
|
||||
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
|
||||
<a class="dropdown-item" href="{{ route('logout') }}"
|
||||
onclick="event.preventDefault();
|
||||
document.getElementById('logout-form').submit();">
|
||||
{{ __('Wyloguj się') }}
|
||||
</a>
|
||||
|
||||
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
|
||||
@csrf
|
||||
</form>
|
||||
</div>
|
||||
</li>
|
||||
@endguest
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="map-buttons">
|
||||
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Zakończ zapisy </a>
|
||||
<button type="button" class="checkout-button end-button add-mn-btn"> Dodaj studenta ręcznie </button>
|
||||
</div>
|
||||
@yield('map_content')
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
</html>
|
@ -1,19 +1,21 @@
|
||||
@extends('layouts.map')
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title') Wybór miejsca @endsection
|
||||
@section('map_meta')
|
||||
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.min.js') }}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart.css') }}">
|
||||
@section('additional_meta')
|
||||
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/map/seatchart.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/map/seatchart-custom.js') }}"></script>
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
|
||||
|
||||
@endsection
|
||||
|
||||
@section('map_content')
|
||||
@section('content')
|
||||
<div class="wrapper">
|
||||
<div class="seat-chart-wrapper">
|
||||
@if($twoparts)
|
||||
<div class="front-indicator">
|
||||
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Powrót do listy zajęć </a>
|
||||
<p class="seat-p">
|
||||
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->name }},
|
||||
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }}
|
||||
@ -40,7 +42,6 @@
|
||||
</a>
|
||||
</div>
|
||||
@else
|
||||
<div id="seat-map">
|
||||
<div class="front-indicator">
|
||||
<p class="seat-p">
|
||||
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->name }},
|
||||
@ -49,7 +50,7 @@
|
||||
<b>sala {{ App\Room::find(App\Subject::find(App\Classes::find($classes_id)->subject_id)->room_id)->name }}</b>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="seat-map"></div>
|
||||
@endif
|
||||
</div>
|
||||
<br/>
|
||||
@ -76,4 +77,5 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
@ -1,17 +1,21 @@
|
||||
@extends('layouts.map')
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title') Wybór miejsca @endsection
|
||||
@section('map_meta')
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/przylozlegitke.css') }}">
|
||||
@section('additional_meta')
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
|
||||
@endsection
|
||||
|
||||
@section('map_content')
|
||||
@section('content')
|
||||
<div class="wrapper">
|
||||
<div class="map-buttons">
|
||||
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Zakończ zapisy </a>
|
||||
<button type="button" class="checkout-button end-button add-mn-btn"> Dodaj studenta ręcznie </button>
|
||||
</div>
|
||||
<div id="refresh"></div>
|
||||
<p class="code-p"> <b>Kod:</b> {{ $classes_code }}</p>
|
||||
<h1 class="main-text main-seat-text">Przyłóż legitymację do czytnika</h1>
|
||||
<div class="czytnik">
|
||||
<form method="POST" action="{{ route('user_start_classes_verified') }}" class="test-form">
|
||||
<div class="card-reader">
|
||||
<form method="POST" action="{{ route('user_start_classes_verified') }}" class="card-reader-form">
|
||||
<div>
|
||||
<label for="classes_code"> Kod: </label>
|
||||
<input type="text" name="classes_code" id="classes_code" value="{{ $classes_code }}" required>
|
||||
@ -31,12 +35,13 @@
|
||||
<button type="submit" class="checkout-button"> Dodaj studenta </button>
|
||||
</form>
|
||||
</div>
|
||||
<script>
|
||||
// Your application has indicated there's an error
|
||||
window.setTimeout(function(){
|
||||
// Move to a new location or you can do something else
|
||||
window.location.href = window.location.href;
|
||||
{{--<script>--}}
|
||||
{{--// Your application has indicated there's an error--}}
|
||||
{{--window.setTimeout(function(){--}}
|
||||
{{--// Move to a new location or you can do something else--}}
|
||||
{{--window.location.href = window.location.href;--}}
|
||||
|
||||
}, 5000);
|
||||
</script>
|
||||
{{--}, 5000);--}}
|
||||
{{--</script>--}}
|
||||
</div>
|
||||
@endsection
|
||||
|
@ -1,17 +1,19 @@
|
||||
@extends('layouts.map')
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title') Wybór miejsca @endsection
|
||||
@section('map_meta')
|
||||
<link href="https://fonts.googleapis.com/css?family=Nunito:200,600" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/koncowastrona.css') }}">
|
||||
@section('additional_meta')
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
|
||||
@endsection
|
||||
|
||||
@section('map_content')
|
||||
@section('content')
|
||||
<div class="wrapper">
|
||||
<div class="map-buttons">
|
||||
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Zakończ zapisy </a>
|
||||
</div>
|
||||
<h2>{{ $student_name }} {{ $student_surname }}</h2>
|
||||
<h3>{{ $student_id_number }} </h3>
|
||||
|
||||
<h3>wybrane miejsce:</h3>
|
||||
<ul id="sel-seat"> {{ $seat_number }}</ul>
|
||||
|
||||
<a href="{{ route('user_start_classes', [$classes_id]) }}"><button type="button" class="checkout-button">Następny student »</button></a>
|
||||
</div>
|
||||
@endsection
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div class="modal fade" id="noteModal-{{ $attendance->id }}" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-dialog modal-dialog-centered" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLabel">{{ $attendance->student_name }} {{ $attendance->student_surname }} ({{ $attendance->student_id_number }})</h5>
|
||||
|
@ -1,21 +1,21 @@
|
||||
@extends('layouts.map')
|
||||
@extends('layouts.app')
|
||||
|
||||
@section('title') Podgląd sali @endsection
|
||||
@section('map_meta')
|
||||
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.min.js') }}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart.css') }}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart-preview.css') }}">
|
||||
@section('additional_meta')
|
||||
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/map/seatchart.js') }}"></script>
|
||||
<script type="text/javascript" src="{{ asset('js/map/seatchart-preview.js') }}"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/jquery.seat-charts.css') }}">
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/seatchart-preview.css') }}">
|
||||
@endsection
|
||||
|
||||
@section('map_content')
|
||||
<div class="front-indicator front-indicator-preview">
|
||||
@section('content')
|
||||
<div class="front-indicator">
|
||||
<div class="preview-box checkout-button-preview">
|
||||
<a href="{{ route('user_classes') }}" class="checkout-button"> Zakończ podgląd </a>
|
||||
</div>
|
||||
<div class="preview-box seat-p-ppreview">
|
||||
<div class="seat-p-preview">
|
||||
<p class="seat-p">
|
||||
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->name }},
|
||||
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }}
|
||||
|
Loading…
Reference in New Issue
Block a user