code cleaned

This commit is contained in:
s416422 2019-12-20 01:11:51 +01:00
parent b1ad665738
commit 1a1d79a5f4
23 changed files with 1158 additions and 1441 deletions

View File

@ -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/) * 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-ref {
position: relative; position: relative;
} }
.title { .title {
font-size: 84px; font-size: 84px;
} }
@ -11127,89 +11119,82 @@ a.text-dark:focus {
text-transform: uppercase; text-transform: uppercase;
} }
.m-b-md {
margin-bottom: 30px;
}
.content { .content {
text-align: center; text-align: center;
color: #636b6f; color: #636b6f;
} }
#app { #app {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
} }
.container, .py-4 {
height: 100%;
}
/*.btn-custom {*/
/*border: none;*/
/*border-bottom: 1px solid lightgrey;*/
/*background-color: white;*/
/*color: #1e3572;*/
/*}*/
.custom-header { .custom-header {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
background-color: #ececec;
} }
.add-subject, .add-attendance { .add-subject, .add-attendance {
display: none; display: none;
} }
.add-subject.open, .add-attendance.open { .add-subject.open, .add-attendance.open {
display: block; 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 { .card-custom {
display: flex; display: flex;
justify-content: flex-start; justify-content: flex-start;
align-items: center; 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 { .sort-span {
margin-right: 20px; margin-right: 20px;
} }
.form-custom { .form-custom {
width: auto; width: auto;
} }
.carousel-control-prev, .carousel-control-next {
.carousel-control-prev, .carousel-control-next, .sr-only {
filter: invert(100%); filter: invert(100%);
} }
main {
padding-top: 20px;
}

View File

@ -1,41 +1,49 @@
div.seatCharts-container { a {
min-width: 700px; color: #b71a4c;
} }
div.seatCharts-cell {
height: 16px; div.seatCharts-container {
width: 16px; text-align: center;
width: fit-content;
padding: 30px;
margin: auto;
}
div.seatCharts-cell {
margin: 3px; margin: 3px;
float: left; float: left;
text-align: center; text-align: center;
outline: none; outline: none;
font-size: 13px; font-size: 13px;
line-height:16px; color: #182C4E;
color: blue; height: 90px;
width: 90px;
line-height: 90px;
} }
div.seatCharts-seat { div.seatCharts-seat {
background-color: green; background-color: green;
color: white;
-webkit-border-radius: 5px; -webkit-border-radius: 5px;
-moz-border-radius: 5px; -moz-border-radius: 5px;
border-radius: 5px; border-radius: 5px;
cursor: default; color: #FFFFFF;
cursor: pointer;
} }
div.seatCharts-seat:focus { div.seatCharts-seat:focus {
border: none; border: none;
} }
.seatCharts-seat:focus {
outline: none;
}
div.seatCharts-space { div.seatCharts-space {
background-color: white; background-color: white;
} }
div.seatCharts-row { div.seatCharts-row {
height: 50px; height: 100px;
display: flex;
justify-content: flex-start;
margin: 0 auto;
width: auto;
} }
div.seatCharts-row:after { div.seatCharts-row:after {
@ -43,33 +51,270 @@ div.seatCharts-row:after {
} }
div.seatCharts-seat.selected { div.seatCharts-seat.selected {
background-color: aqua; background-color: #1b4d76;
} }
div.seatCharts-seat.focused { div.seatCharts-seat.focused {
background-color: #6db131; background-color: #1F5684;
} }
div.seatCharts-seat.available { div.seatCharts-seat.available {
background-color: green; background-color: #649a24;
}
div.seatCharts-seat.available.student-class {
background-color: #a8b9bd;
} }
div.seatCharts-seat.unavailable { div.seatCharts-seat.unavailable {
background-color: red;
cursor: not-allowed; cursor: not-allowed;
background-color: #6F7881;
} }
ul.seatCharts-legendList { ul.seatCharts-legendList {
list-style: none; list-style: none;
cursor: default; cursor: default;
padding-left: 0;
} }
li.seatCharts-legendItem { li.seatCharts-legendItem {
margin-top: 10px; margin-top: 10px;
line-height: 2; line-height: 2;
} }
li.seatCharts-legendItem div { li.seatCharts-legendItem div {
cursor: default; cursor: default;
} }
li.seatCharts-legendItem > .seatCharts-cell { li.seatCharts-legendItem > .seatCharts-cell {
cursor: default; 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;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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 { .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); 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 { .preview-page-content {
display: flex; display: flex;
justify-content: center; justify-content: space-between;
align-items: flex-start; align-items: center;
height: 100%; height: 100%;
padding: auto; margin: 40px;
padding-top: 50px;
} }
.preview-attendance-table { .preview-attendance-table {
width: 40%; width: 35%;
} }
.seat-chart-wrapper { .seat-chart-wrapper {
width: 60%; width: 60%;
} }
.preview-attendance-table, .seat-chart-wrapper {
margin: 0 30px;
}
div.seatCharts-space { div.seatCharts-space {
background-color: unset; background-color: unset;
} }
div.seatCharts-row { div.seatCharts-row {
height: 130px; height: 150px;
justify-content: flex-start; justify-content: flex-start;
margin: 0 auto; margin: 0 auto;
width: auto; width: auto;
} }
div.seatCharts-cell { div.seatCharts-cell {
width: 120px; width: 140px;
height: 120px; height: 140px;
line-height: 37px; font-size: 16px;
}
.preview-name {
color: rgba(0,0,0,0.7);
}
.front-indicator-preview {
display: flex; display: flex;
flex-direction: column;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
line-height: initial;
} }
.preview-box {
display: flex; div.seatCharts-seat.available {
align-items: center; 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 { .checkout-button-preview {
display: flex;
justify-content: flex-start; justify-content: flex-start;
width: 40%; width: 40%;
padding-left: 35px;
} }
.seat-p-ppreview {
.seat-p-preview {
justify-content: center; justify-content: center;
width: 60%; width: 60%;
padding: 0 auto; padding: 0 auto;
} }
div.seatCharts-seat.available {
background-color: rgba(111,120,129, 0.7);
}
div.seatCharts-seat.taken {
background-color: #649a24;
}
.front-indicator { .front-indicator {
width: 100%; margin: 0 40px;
margin: 5px 0;
} }

View File

@ -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;
}

View File

@ -1,6 +1,6 @@
$(document).ready(function(){ $(document).ready(function(){
$('.add-mn-btn').on('click', function () { $('.add-mn-btn').on('click', function () {
$('.czytnik').toggleClass('open'); $('.card-reader').toggleClass('open');
}); });

View File

@ -5,8 +5,9 @@
* Copyright 2013, 2016 Mateusz Markowski * Copyright 2013, 2016 Mateusz Markowski
* Released under the MIT license * Released under the MIT license
*/ */
$(document).ready(function() {
(function($) { (function ($) {
//'use strict'; //'use strict';
@ -22,23 +23,23 @@
seatIds = [], seatIds = [],
legend, legend,
settings = { settings = {
animate : false, //requires jQuery UI animate: false, //requires jQuery UI
naming : { naming: {
top : false, top: false,
left : false, left: false,
getId : function(character, row, column) { getId: function (character, row, column) {
return row + '_' + column; return row + '_' + column;
}, },
getLabel : function (character, row, column) { getLabel: function (character, row, column) {
return column; return column;
} }
}, },
legend : { legend: {
node : null, node: null,
items : [] items: []
}, },
click : function() { click: function () {
if (this.status() == 'available') { if (this.status() == 'available') {
return 'selected'; return 'selected';
@ -49,7 +50,7 @@
} }
}, },
focus : function() { focus: function () {
if (this.status() == 'available') { if (this.status() == 'available') {
return 'focused'; return 'focused';
@ -57,22 +58,22 @@
return this.style(); return this.style();
} }
}, },
blur : function() { blur: function () {
return this.status(); return this.status();
}, },
seats : {} seats: {}
}, },
//seat will be basically a seat object which we'll when generating the map //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) { return function (setup) {
var fn = this; var fn = this;
fn.settings = $.extend({ fn.settings = $.extend({
status : 'available', //available, unavailable, selected status: 'available', //available, unavailable, selected
style : 'available', style: 'available',
//make sure there's an empty hash if user doesn't pass anything //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? //anything goes here?
}, setup); }, setup);
@ -80,11 +81,11 @@
fn.settings.$node fn.settings.$node
.attr({ .attr({
id : fn.settings.id, id: fn.settings.id,
role : 'checkbox', role: 'checkbox',
'aria-checked' : false, 'aria-checked': false,
focusable : true, focusable: true,
tabIndex : -1 //manual focus tabIndex: -1 //manual focus
}) })
.text(fn.settings.label) .text(fn.settings.label)
.addClass(['seatCharts-seat', 'seatCharts-cell', 'available'].concat( .addClass(['seatCharts-seat', 'seatCharts-cell', 'available'].concat(
@ -95,15 +96,15 @@
).join(' ')); ).join(' '));
//basically a wrapper function //basically a wrapper function
fn.data = function() { fn.data = function () {
return fn.settings.data; return fn.settings.data;
}; };
fn.char = function() { fn.char = function () {
return fn.settings.character; return fn.settings.character;
}; };
fn.node = function() { fn.node = function () {
return fn.settings.$node; return fn.settings.$node;
}; };
@ -114,10 +115,10 @@
* *
* If you pass an argument, it will update seat's style * If you pass an argument, it will update seat's style
*/ */
fn.style = function() { fn.style = function () {
return arguments.length == 1 ? return arguments.length == 1 ?
(function(newStyle) { (function (newStyle) {
var oldStyle = fn.settings.style; var oldStyle = fn.settings.style;
//if nothing changes, do nothing //if nothing changes, do nothing
@ -140,19 +141,19 @@
}; };
//either set or retrieve //either set or retrieve
fn.status = function() { fn.status = function () {
return fn.settings.status = arguments.length == 1 ? return fn.settings.status = arguments.length == 1 ?
fn.style(arguments[0]) : fn.settings.status; fn.style(arguments[0]) : fn.settings.status;
}; };
//using immediate function to convienietly get shortcut variables //using immediate function to convienietly get shortcut variables
(function(seatSettings, character, seat) { (function (seatSettings, character, seat) {
//attach event handlers //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 //we want to be able to call the functions for each seat object
fn[callback] = function() { fn[callback] = function () {
if (callback == 'focus') { if (callback == 'focus') {
//if there's already a focused element, we have to remove focus from it first //if there's already a focused element, we have to remove focus from it first
if (seatCharts.attr('aria-activedescendant') !== undefined) { if (seatCharts.attr('aria-activedescendant') !== undefined) {
@ -183,7 +184,7 @@
.on('mouseleave', fn.blur) .on('mouseleave', fn.blur)
//keydown requires quite a lot of logic, because we have to know where to move the focus //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) { return function (e) {
@ -216,7 +217,7 @@
if (!$rows.index($currentRow) && e.which == 38) { if (!$rows.index($currentRow) && e.which == 38) {
//if this is the first row and user has pressed up arrow, move to the last row //if this is the first row and user has pressed up arrow, move to the last row
$newRow = $rows.last(); $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 //if this is the last row and user has pressed down arrow, move to the first row
$newRow = $rows.first(); $newRow = $rows.first();
} else { } else {
@ -269,12 +270,12 @@
* User will be able to browse the whole map using just left/right arrow, because * 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. * 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) { if (!$seats.index($seat) && e.which == 37) {
//user has pressed left arrow and we're currently on the left-most seat //user has pressed left arrow and we're currently on the left-most seat
return $seats.last(); 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 //user has pressed right arrow and we're currently on the right-most seat
return $seats.first(); return $seats.first();
} else { } else {
@ -316,7 +317,7 @@
$.extend(true, settings, setup); $.extend(true, settings, setup);
//Generate default row ids unless user passed his own //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 = []; var rows = [];
for (var i = 1; i <= length; i++) { for (var i = 1; i <= length; i++) {
rows.push(i); rows.push(i);
@ -325,7 +326,7 @@
})(settings.map.length); })(settings.map.length);
//Generate default column ids unless user passed his own //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 = []; var columns = [];
for (var i = 1; i <= length; i++) { for (var i = 1; i <= length; i++) {
columns.push(i); columns.push(i);
@ -342,7 +343,7 @@
} }
$.each(settings.naming.columns, function(index, value) { $.each(settings.naming.columns, function (index, value) {
$headerRow.append( $headerRow.append(
$('<div></div>') $('<div></div>')
.addClass('seatCharts-cell') .addClass('seatCharts-cell')
@ -354,7 +355,7 @@
fn.append($headerRow); fn.append($headerRow);
//do this for each map row //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'); var $row = $('<div></div>').addClass('seatCharts-row');
@ -397,19 +398,19 @@
$row.append(character != '_' ? $row.append(character != '_' ?
//if the character is not an underscore (empty space) //if the character is not an underscore (empty space)
(function(naming) { (function (naming) {
//so users don't have to specify empty objects //so users don't have to specify empty objects
settings.seats[character] = character in settings.seats ? settings.seats[character] : {}; settings.seats[character] = character in settings.seats ? settings.seats[character] : {};
var id = overrideId ? overrideId : naming.getId(character, naming.rows[row], naming.columns[column]); var id = overrideId ? overrideId : naming.getId(character, naming.rows[row], naming.columns[column]);
seats[id] = new seat({ seats[id] = new seat({
id : id, id: id,
label : overrideLabel ? label: overrideLabel ?
overrideLabel : naming.getLabel(character, naming.rows[row], naming.columns[column]), overrideLabel : naming.getLabel(character, naming.rows[row], naming.columns[column]),
row : row, row: row,
column : column, column: column,
character : character character: character
}); });
seatIds.push(id); seatIds.push(id);
@ -425,7 +426,7 @@
}); });
//if there're any legend items to be rendered //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 //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)) var $container = (legend.node || $('<div></div>').insertAfter(fn))
.addClass('seatCharts-legend'); .addClass('seatCharts-legend');
@ -434,7 +435,7 @@
.addClass('seatCharts-legendList') .addClass('seatCharts-legendList')
.appendTo($container); .appendTo($container);
$.each(legend.items, function(index, item) { $.each(legend.items, function (index, item) {
$ul.append( $ul.append(
$('<li></li>') $('<li></li>')
.addClass('seatCharts-legendItem') .addClass('seatCharts-legendItem')
@ -458,12 +459,12 @@
})(settings.legend) : null; })(settings.legend) : null;
fn.attr({ fn.attr({
tabIndex : 0 tabIndex: 0
}); });
//when container's focused, move focus to the first seat //when container's focused, move focus to the first seat
fn.focus(function() { fn.focus(function () {
if (fn.attr('aria-activedescendant')) { if (fn.attr('aria-activedescendant')) {
seats[fn.attr('aria-activedescendant')].blur(); seats[fn.attr('aria-activedescendant')].blur();
} }
@ -475,22 +476,22 @@
//public methods of seatCharts //public methods of seatCharts
fn.data('seatCharts', { fn.data('seatCharts', {
seats : seats, seats: seats,
seatIds : seatIds, seatIds: seatIds,
//set for one, set for many, get for one //set for one, set for many, get for one
status: function() { status: function () {
var fn = this; 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() { return typeof seatsIds == 'string' ? fn.seats[seatsIds].status(newStatus) : (function () {
$.each(seatsIds, function(index, seatId) { $.each(seatsIds, function (index, seatId) {
fn.seats[seatId].status(newStatus); fn.seats[seatId].status(newStatus);
}); });
})(); })();
})(arguments[0], arguments[1]); })(arguments[0], arguments[1]);
}, },
each : function(callback) { each: function (callback) {
var fn = this; var fn = this;
for (var seatId in fn.seats) { for (var seatId in fn.seats) {
@ -501,13 +502,13 @@
return true; return true;
}, },
node : function() { node: function () {
var fn = this; var fn = this;
//basically create a CSS query to get all seats by their DOM ids //basically create a CSS query to get all seats by their DOM ids
return $('#' + fn.seatIds.join(',#')); return $('#' + fn.seatIds.join(',#'));
}, },
find : function(query) {//D, a.available, unavailable find: function (query) {//D, a.available, unavailable
var fn = this; var fn = this;
var seatSet = fn.set(); var seatSet = fn.set();
@ -560,40 +561,40 @@
); );
}, },
set : function set() {//inherits some methods set: function set() {//inherits some methods
var fn = this; var fn = this;
return { return {
seats : [], seats: [],
seatIds : [], seatIds: [],
length : 0, length: 0,
status : function() { status: function () {
var args = arguments, var args = arguments,
that = this; that = this;
//if there's just one seat in the set and user didn't pass any params, return current status //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 //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); this.status.apply(this, args);
}); });
})(); })();
}, },
node : function() { node: function () {
return fn.node.call(this); return fn.node.call(this);
}, },
each : function() { each: function () {
return fn.each.call(this, arguments[0]); return fn.each.call(this, arguments[0]);
}, },
get : function() { get: function () {
return fn.get.call(this, arguments[0]); return fn.get.call(this, arguments[0]);
}, },
find : function() { find: function () {
return fn.find.call(this, arguments[0]); return fn.find.call(this, arguments[0]);
}, },
set : function() { set: function () {
return set.call(fn); return set.call(fn);
}, },
push : function(id, seat) { push: function (id, seat) {
this.seats.push(seat); this.seats.push(seat);
this.seatIds.push(id); this.seatIds.push(id);
++this.length; ++this.length;
@ -601,15 +602,15 @@
}; };
}, },
//get one object or a set of objects //get one object or a set of objects
get : function(seatsIds) { get: function (seatsIds) {
var fn = this; var fn = this;
return typeof seatsIds == 'string' ? return typeof seatsIds == 'string' ?
fn.seats[seatsIds] : (function() { fn.seats[seatsIds] : (function () {
var seatSet = fn.set(); var seatSet = fn.set();
$.each(seatsIds, function(index, seatId) { $.each(seatsIds, function (index, seatId) {
if (typeof fn.seats[seatId] === 'object') { if (typeof fn.seats[seatId] === 'object') {
seatSet.push(seatId, fn.seats[seatId]); seatSet.push(seatId, fn.seats[seatId]);
} }
@ -624,4 +625,5 @@
} }
})(jQuery); })(jQuery);
});

File diff suppressed because one or more lines are too long

View File

@ -41,6 +41,7 @@ function checkForUnavailablePlaces() {
}); });
} }
} }
$(document).ready(function(){ $(document).ready(function(){
checkForUnavailablePlaces(); checkForUnavailablePlaces();
toggleButtonAvailability(); toggleButtonAvailability();

View File

@ -14,7 +14,7 @@ function assignPlaces() {
map_seat = $('#seat-map-second').find(`#${seat_number}`); 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.on('mouseover', () => {
map_seat.css('backgroundColor', 'lightgrey'); map_seat.css('backgroundColor', 'lightgrey');
$(this).css('backgroundColor', 'lightgrey'); $(this).css('backgroundColor', 'lightgrey');

View File

@ -3,6 +3,7 @@ $(document).ready(function() {
function createMap(seats_rows, seats_container) { function createMap(seats_rows, seats_container) {
let $cart = $('#selected-seats'); let $cart = $('#selected-seats');
let seat_selected = false; let seat_selected = false;
seats_container.seatCharts({ seats_container.seatCharts({
map: seats_rows, map: seats_rows,
naming: { naming: {
@ -20,7 +21,7 @@ $(document).ready(function() {
click: function () { click: function () {
if (this.status() === 'available' && !seat_selected) { if (this.status() === 'available' && !seat_selected) {
// let's create a new <li> which we'll add to the cart items // 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) .attr('id', 'cart-item-' + this.settings.id)
.data('seatId', this.settings.id) .data('seatId', this.settings.id)
.appendTo($cart); .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) { function createTwoPartsMap(seat_rows_first, seat_rows_second, seat_container_first, seat_container_second) {
let $cart = $('#selected-seats'); let $cart = $('#selected-seats');
let seat_selected = false; let seat_selected = false;
seat_container_first.seatCharts({ seat_container_first.seatCharts({
map: seat_rows_first, map: seat_rows_first,
naming: { naming: {

View File

@ -1,22 +1,22 @@
@extends('layouts.app') @extends('layouts.app')
@section('title') Confirm password @endsection @section('title') Potwierdź hasło @endsection
@section('content') @section('content')
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-8"> <div class="col-md-8">
<div class="card"> <div class="card">
<div class="card-header">{{ __('Confirm Password') }}</div> <div class="card-header">{{ __('Potwierdź hasło) }}</div>
<div class="card-body"> <div class="card-body">
{{ __('Please confirm your password before continuing.') }} {{ __('Zanimi przejdziesz dalej, potwierdź swoje hasło.') }}
<form method="POST" action="{{ route('password.confirm') }}"> <form method="POST" action="{{ route('password.confirm') }}">
@csrf @csrf
<div class="form-group row"> <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"> <div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password"> <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="form-group row mb-0">
<div class="col-md-8 offset-md-4"> <div class="col-md-8 offset-md-4">
<button type="submit" class="btn btn-primary"> <button type="submit" class="btn btn-primary">
{{ __('Confirm Password') }} {{ __('Potwierdź hasło') }}
</button> </button>
@if (Route::has('password.request')) @if (Route::has('password.request'))
<a class="btn btn-link" href="{{ route('password.request') }}"> <a class="btn btn-link" href="{{ route('password.request') }}">
{{ __('Forgot Your Password?') }} {{ __('Zapomniałeś hasła?') }}
</a> </a>
@endif @endif
</div> </div>

View File

@ -7,7 +7,7 @@
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-8"> <div class="col-md-8">
<div class="card"> <div class="card">
<div class="card-header">{{ __('Reset Password') }}</div> <div class="card-header">{{ __('Resetuj hasło') }}</div>
<div class="card-body"> <div class="card-body">
@if (session('status')) @if (session('status'))
@ -20,7 +20,7 @@
@csrf @csrf
<div class="form-group row"> <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"> <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> <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="form-group row mb-0">
<div class="col-md-6 offset-md-4"> <div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary"> <button type="submit" class="btn btn-primary">
{{ __('Send Password Reset Link') }} {{ __('WYślij link do zresetowania hasła') }}
</button> </button>
</div> </div>
</div> </div>

View File

@ -1,13 +1,13 @@
@extends('layouts.app') @extends('layouts.app')
@section('title') Reset password @endsection @section('title') Zesetuj hasło @endsection
@section('content') @section('content')
<div class="container"> <div class="container">
<div class="row justify-content-center"> <div class="row justify-content-center">
<div class="col-md-8"> <div class="col-md-8">
<div class="card"> <div class="card">
<div class="card-header">{{ __('Reset Password') }}</div> <div class="card-header">{{ __('Zresetuj hasło') }}</div>
<div class="card-body"> <div class="card-body">
<form method="POST" action="{{ route('password.update') }}"> <form method="POST" action="{{ route('password.update') }}">
@ -16,7 +16,7 @@
<input type="hidden" name="token" value="{{ $token }}"> <input type="hidden" name="token" value="{{ $token }}">
<div class="form-group row"> <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"> <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> <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>
<div class="form-group row"> <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"> <div class="col-md-6">
<input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="new-password"> <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>
<div class="form-group row"> <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"> <div class="col-md-6">
<input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password"> <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="form-group row mb-0">
<div class="col-md-6 offset-md-4"> <div class="col-md-6 offset-md-4">
<button type="submit" class="btn btn-primary"> <button type="submit" class="btn btn-primary">
{{ __('Reset Password') }} {{ __('Zresetuj hasło') }}
</button> </button>
</div> </div>
</div> </div>

View File

@ -43,9 +43,9 @@
@else @else
<div class="container flex-center"> <div class="container flex-center">
<div class="row justify-content-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="content">
<div class="title m-b-md"> <div class="title">
@CHECK @CHECK
</div> </div>
<h2>Witaj!</h2> <h2>Witaj!</h2>

View File

@ -3,29 +3,27 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}"> <meta name="csrf-token" content="{{ csrf_token() }}">
<title> @CHECK | @yield('title') </title>
<title>@CHECK | @yield('title')</title>
<!-- Scripts --> <!-- 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/app.js') }}" defer></script>
<script src="{{ asset('js/custom.js') }}" defer></script> <script src="{{ asset('js/custom.js') }}" defer></script>
<!-- Fonts --> <!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com"> <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 --> <!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet"> <link href="{{ asset('css/app.css') }}" rel="stylesheet">
<link rel="shortcut icon" href="{{ asset('img/favicon.png') }}"> <link rel="shortcut icon" href="{{ asset('img/favicon.png') }}">
@yield('additional_meta')
@yield('main_meta')
</head> </head>
<body> <body>
<div id="app"> <div id="app">
<nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm"> <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm">
<div class="container"> <div class="container">
<a class="navbar-brand" href="{{ url('/') }}"> <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') }}"> <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> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="collapse navbar-collapse" id="navbarSupportedContent"> <div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
</ul> </ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest @guest
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Zaloguj się') }}</a> <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> <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> {{ Auth::user()->name }} {{ Auth::user()->surname }} <span class="caret"></span>
</a> </a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}" <a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault(); onclick="event.preventDefault();
document.getElementById('logout-form').submit();"> document.getElementById('logout-form').submit();">
{{ __('Wyloguj się') }} {{ __('Wyloguj się') }}
</a> </a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;"> <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf @csrf
</form> </form>
@ -84,11 +75,10 @@
</div> </div>
</nav> </nav>
<main class="py-4"> <main>
<div class="container">
@yield('content') @yield('content')
</div>
</main> </main>
</div> </div>
</body> </body>
</html> </html>

View File

@ -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>

View File

@ -1,19 +1,21 @@
@extends('layouts.map') @extends('layouts.app')
@section('title') Wybór miejsca @endsection @section('title') Wybór miejsca @endsection
@section('map_meta') @section('additional_meta')
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.min.js') }}"></script> <script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.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') }}">
<script type="text/javascript" src="{{ asset('js/map/seatchart.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> <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 @endsection
@section('map_content') @section('content')
<div class="wrapper">
<div class="seat-chart-wrapper"> <div class="seat-chart-wrapper">
@if($twoparts) @if($twoparts)
<div class="front-indicator"> <div class="front-indicator">
<a href="{{ route('user_classes') }}" class="checkout-button end-button"> Powrót do listy zajęć </a>
<p class="seat-p"> <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)->name }},
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }} {{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }}
@ -40,7 +42,6 @@
</a> </a>
</div> </div>
@else @else
<div id="seat-map">
<div class="front-indicator"> <div class="front-indicator">
<p class="seat-p"> <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)->name }},
@ -49,7 +50,7 @@
<b>sala {{ App\Room::find(App\Subject::find(App\Classes::find($classes_id)->subject_id)->room_id)->name }}</b> <b>sala {{ App\Room::find(App\Subject::find(App\Classes::find($classes_id)->subject_id)->room_id)->name }}</b>
</p> </p>
</div> </div>
</div> <div id="seat-map"></div>
@endif @endif
</div> </div>
<br/> <br/>
@ -76,4 +77,5 @@
</form> </form>
</div> </div>
</div> </div>
</div>
@endsection @endsection

View File

@ -1,17 +1,21 @@
@extends('layouts.map') @extends('layouts.app')
@section('title') Wybór miejsca @endsection @section('title') Wybór miejsca @endsection
@section('map_meta') @section('additional_meta')
<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') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/przylozlegitke.css') }}">
@endsection @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> <div id="refresh"></div>
<p class="code-p"> <b>Kod:</b> {{ $classes_code }}</p> <p class="code-p"> <b>Kod:</b> {{ $classes_code }}</p>
<h1 class="main-text main-seat-text">Przyłóż legitymację do czytnika</h1> <h1 class="main-text main-seat-text">Przyłóż legitymację do czytnika</h1>
<div class="czytnik"> <div class="card-reader">
<form method="POST" action="{{ route('user_start_classes_verified') }}" class="test-form"> <form method="POST" action="{{ route('user_start_classes_verified') }}" class="card-reader-form">
<div> <div>
<label for="classes_code"> Kod: </label> <label for="classes_code"> Kod: </label>
<input type="text" name="classes_code" id="classes_code" value="{{ $classes_code }}" required> <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> <button type="submit" class="checkout-button"> Dodaj studenta </button>
</form> </form>
</div> </div>
<script> {{--<script>--}}
// Your application has indicated there's an error {{--// Your application has indicated there's an error--}}
window.setTimeout(function(){ {{--window.setTimeout(function(){--}}
// Move to a new location or you can do something else {{--// Move to a new location or you can do something else--}}
window.location.href = window.location.href; {{--window.location.href = window.location.href;--}}
}, 5000); {{--}, 5000);--}}
</script> {{--</script>--}}
</div>
@endsection @endsection

View File

@ -1,17 +1,19 @@
@extends('layouts.map') @extends('layouts.app')
@section('title') Wybór miejsca @endsection @section('title') Wybór miejsca @endsection
@section('map_meta') @section('additional_meta')
<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') }}">
<link rel="stylesheet" type="text/css" href="{{ asset('css/map/koncowastrona.css') }}">
@endsection @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> <h2>{{ $student_name }} {{ $student_surname }}</h2>
<h3>{{ $student_id_number }} </h3> <h3>{{ $student_id_number }} </h3>
<h3>wybrane miejsce:</h3> <h3>wybrane miejsce:</h3>
<ul id="sel-seat"> {{ $seat_number }}</ul> <ul id="sel-seat"> {{ $seat_number }}</ul>
<a href="{{ route('user_start_classes', [$classes_id]) }}"><button type="button" class="checkout-button">Następny student &raquo;</button></a> <a href="{{ route('user_start_classes', [$classes_id]) }}"><button type="button" class="checkout-button">Następny student &raquo;</button></a>
</div>
@endsection @endsection

View File

@ -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 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-content">
<div class="modal-header"> <div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">{{ $attendance->student_name }} {{ $attendance->student_surname }} ({{ $attendance->student_id_number }})</h5> <h5 class="modal-title" id="exampleModalLabel">{{ $attendance->student_name }} {{ $attendance->student_surname }} ({{ $attendance->student_id_number }})</h5>

View File

@ -1,21 +1,21 @@
@extends('layouts.map') @extends('layouts.app')
@section('title') Podgląd sali @endsection @section('title') Podgląd sali @endsection
@section('map_meta') @section('additional_meta')
<script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.min.js') }}"></script> <script type="text/javascript" src="{{ asset('js/map/jquery.seat-charts.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') }}">
<script type="text/javascript" src="{{ asset('js/map/seatchart.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> <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 @endsection
@section('map_content') @section('content')
<div class="front-indicator front-indicator-preview"> <div class="front-indicator">
<div class="preview-box checkout-button-preview"> <div class="preview-box checkout-button-preview">
<a href="{{ route('user_classes') }}" class="checkout-button"> Zakończ podgląd </a> <a href="{{ route('user_classes') }}" class="checkout-button"> Zakończ podgląd </a>
</div> </div>
<div class="preview-box seat-p-ppreview"> <div class="seat-p-preview">
<p class="seat-p"> <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)->name }},
{{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }} {{ App\Subject::find(App\Classes::find($classes_id)->subject_id)->weekday }}