diff --git a/skolehjem/app/Console/Kernel.php b/skolehjem/app/Console/Kernel.php
index 69914e9..b8bb32c 100644
--- a/skolehjem/app/Console/Kernel.php
+++ b/skolehjem/app/Console/Kernel.php
@@ -2,6 +2,7 @@
namespace App\Console;
+use App\Console\Commands\GenerateRoutesForJavascript;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
@@ -13,7 +14,7 @@ class Kernel extends ConsoleKernel
* @var array
*/
protected $commands = [
- //
+
];
/**
diff --git a/skolehjem/app/Http/Controllers/WashingReservationController.php b/skolehjem/app/Http/Controllers/WashingReservationController.php
index 612ef94..29f5881 100644
--- a/skolehjem/app/Http/Controllers/WashingReservationController.php
+++ b/skolehjem/app/Http/Controllers/WashingReservationController.php
@@ -153,4 +153,16 @@ class WashingReservationController extends Controller
return redirect()->route("washing-reservations.index", [ "reservations" => $reservations]);
}
+
+ public function api(Request $request){
+ if($request->ajax()){
+ $date = $request->date;
+
+ $machines = WashingMachine::all();
+
+ $output = json_encode(['date' => $date, 'washingmachines' => $machines]);
+ return Response($output);
+ }
+ }
}
+
diff --git a/skolehjem/public/css/webapp.css b/skolehjem/public/css/webapp.css
index 514644a..4c99857 100644
--- a/skolehjem/public/css/webapp.css
+++ b/skolehjem/public/css/webapp.css
@@ -6669,13 +6669,6 @@ main {
width: 80px;
}
-.header__btn:hover,
-.header__btn:focus {
- background: #005561;
- transition: all 0.3s ease-in;
- outline: none;
-}
-
.header__btn .icon {
display: inline-block;
}
@@ -6712,25 +6705,22 @@ main {
color: #E9E8E8;
}
-.calendar-container__btn:hover,
-.calendar-container__btn:focus {
- color: #9FAAB7;
- transition: all 0.3s ease-in;
-}
-
.calendar-container__title {
color: #222741;
font-size: 20px;
font-weight: 700;
}
+.calendar-table__col.selected > .calendar-table__item {
+ color: white;
+}
+
.calendar-table {
margin-top: 12px;
width: 100%;
}
.calendar-table__item {
- border: 2px solid transparent;
border-radius: 50%;
color: #424588;
font-size: 12px;
@@ -6743,12 +6733,6 @@ main {
cursor: pointer;
}
-.calendar-table__item:hover {
- background: RGBA(0, 120, 138, 0.6);
- box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
- transition: 0.2s all ease-in;
-}
-
.calendar-table__item:hover > span {
color: white;
}
@@ -6775,38 +6759,60 @@ main {
height: 18px;
}
-@media (min-width: 360px) {
+@media (min-width: 350px) {
.calendar-table__header .calendar-table__col {
width: 46px;
+ height: 20.7px;
}
}
-@media (min-width: 410px) {
+@media (min-width: 390px) {
.calendar-table__header .calendar-table__col {
- width: 47.5px;
+ width: 56px;
+ height: 25.2px;
}
}
.calendar-table__body .calendar-table__col {
width: 40px;
- height: 42px;
- padding-bottom: 2px;
+ height: 40px;
+ border-radius: 50%;
}
-@media (min-width: 360px) {
+@media (min-width: 350px) {
.calendar-table__body .calendar-table__col {
width: 46px;
- height: 24px;
+ height: 46px;
+ }
+}
+
+@media (min-width: 390px) {
+ .calendar-table__body .calendar-table__col {
+ width: 56px;
+ height: 56px;
}
}
@media (min-width: 410px) {
.calendar-table__body .calendar-table__col {
- width: 54px;
+ width: 56px;
height: 56px;
}
}
+@media (min-width: 460px) {
+ .calendar-table__body .calendar-table__col {
+ width: 61px;
+ height: 61px;
+ }
+}
+
+.calendar-table__body .calendar-table__col.selected {
+ background: #00788a;
+ transition: all 0.3s ease-in;
+ outline: none;
+}
+
.calendar-table__today .calendar-table__item {
border-color: #FEFEFE;
background-color: #00788a;
@@ -6826,7 +6832,6 @@ main {
.calendar-table__event--long .calendar-table__item {
border-radius: 0;
- border-width: 2px 0;
}
.calendar-table__event--start .calendar-table__item {
@@ -6872,7 +6877,10 @@ main {
}
.events-container {
+ display: flex;
+ flex-direction: column;
padding: 0 15px;
+ padding-bottom: 1rem;
}
.events__title {
diff --git a/skolehjem/resources/js/app.js b/skolehjem/resources/js/app.js
index 4dd2dd9..76dab0a 100644
--- a/skolehjem/resources/js/app.js
+++ b/skolehjem/resources/js/app.js
@@ -1,8 +1,3 @@
-/**
- * First we will load all of this project's JavaScript dependencies which
- * includes Vue and other libraries. It is a great starting point when
- * building robust, powerful web applications using Vue and Laravel.
- */
//Bootstrap
require('./bootstrap');
@@ -17,58 +12,6 @@ require('./sites/menuplan');
//Webapp hamburger menu
import { toggleMenu } from './navmenu/menu';
-// require("./calendar/calendar");
-
-// import { nextMonth, previousMonth, countDays, createCalendar, months, month, currentMonth, days, calendar } from "./calendar/calendar";
-
-// window.Vue = require('vue');
-
-import { generateCalendar } from "./calendar/calendar";
-
-// createCalendar();
-//
-// document.getElementById("month-next").onclick = nextMonth;
-// document.getElementById("month-previous").onclick = previousMonth;
-
-/**
- * The following block of code may be used to automatically register your
- * Vue components. It will recursively scan this directory for the Vue
- * components and automatically register them with their "basename".
- *
- * Eg. ./components/ExampleComponent.vue ->
- */
-
-// const files = require.context('./', true, /\.vue$/i)
-// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default))
-
-// Vue.component('example-component', require('./components/ExampleComponent.vue').default);
-
-/**
- * Next, we will create a fresh Vue application instance and attach it to
- * the page. Then, you may begin adding components to this application
- * or customize the JavaScript scaffolding to fit your unique needs.
- */
-
-// const app = new Vue({
-// el: '#app',
-// });
-
-let weekOffset = 0;
-
-if(document.getElementById("calendar")) {
- generateCalendar();
-
- document.getElementById("week-previous").onclick = function () {
- weekOffset--;
- generateCalendar(weekOffset);
- }
-
- document.getElementById("week-next").onclick = function () {
- weekOffset++;
- generateCalendar(weekOffset);
- }
-}
-
if(document.getElementById("toggle"))
document.getElementById("toggle").onclick = function () {
toggleMenu('menu');
diff --git a/skolehjem/resources/js/calendar/calendar.js b/skolehjem/resources/js/calendar/calendar.js
deleted file mode 100644
index 3af9468..0000000
--- a/skolehjem/resources/js/calendar/calendar.js
+++ /dev/null
@@ -1,208 +0,0 @@
-// class Calendar {
-// constructor() {
-//
-// }
-//
-// nextMonth() {
-//
-// }
-//
-// previousMonth() {
-//
-// }
-//
-// addEvent() {
-//
-// }
-//
-// removeEvent() {
-//
-// }
-// }
-
-const moment = require("moment");
-
-// const calendar = document.getElementById("calendar");
-// const title = document.getElementById("month");
-
-
-
-// calendar.innerHTML = "";
-
-function generateCalendar(weekOffset = 0) {
- const week = (moment().week() + weekOffset);
-
- document.getElementById("title").innerText = week;
-
- let weekDays = Array.apply(null, Array(7)).map((value, index) => {
- return moment(index, "e").locale("da").startOf("week").weekday(index).format("ddd");
- });
- // weekDays.push(weekDays.shift());
-
- // console.log(week);
- // console.log(weekDays);
-
- const calendar = document.getElementById("calendar");
-
- let header = document.createElement("div");
- header.classList.add("calendar-table__header", "calendar-table__row");
-
- let calendarBody = document.createElement("div");
- calendarBody.classList.add("calendar-table__body");
-
- let calendarRow = document.createElement("div");
- calendarRow.classList.add("calendar-table__row")
-
- weekDays.forEach(function (weekDay) {
- let headerDay = document.createElement("div");
- headerDay.classList.add("calendar-table__col");
-
- headerDay.innerText = weekDay;
-
- header.appendChild(headerDay);
-
-
- let date = moment().locale("da").day(weekDay).week(week);
-
- // onDateSelect(date);
-
- let dayHolder = document.createElement("div");
- dayHolder.classList.add("calendar-table__col");
-
- let day = document.createElement("div");
- day.classList.add("calendar-table__item");
- day.innerText = date.date();
-
- dayHolder.appendChild(day);
-
- dayHolder.onclick = function() {
- onDateSelect(date);
- }
-
- calendarRow.appendChild(dayHolder);
- });
-
- calendarBody.appendChild(calendarRow);
-
- calendar.innerHTML = "";
-
- calendar.appendChild(header);
- calendar.appendChild(calendarBody);
-}
-
-function onDateSelect(date) {
- let events;
- let machinez;
- let buttonz;
-
- let container = document.getElementById("event-container");
-
-
- if(document.getElementById("washing-machines") != undefined)
- machinez = document.getElementById("washing-machines");
- else {
- let span = document.createElement("span");
- span.classList.add("events__title");
- span.innerText = "Maskiner";
-
- let select = document.createElement("select");
- select.classList.add("events__title");
- select.id = "washing-machines";
-
- container.appendChild(span);
- container.appendChild(select);
-
- machinez = document.getElementById("washing-machines");
- }
- if(document.getElementById("events") != undefined)
- events = document.getElementById("events");
- else {
- let span = document.createElement("span");
- span.classList.add("events__title");
- span.innerText = "Tider";
-
- let select = document.createElement("select");
- select.classList.add("events__title");
- select.id = "events";
-
- container.appendChild(span);
- container.appendChild(select);
-
- events = document.getElementById("events");
- }
- if(document.getElementById("create-reservation") != undefined)
- buttonz = document.getElementById("create-reservation");
- else {
- // let span = document.createElement("span");
- // span.classList.add("events__title");
- // span.innerText = "Tider";
-
- let button = document.createElement("button");
- // button.classList.add("events__title");
- button.id = "create-reservation";
- button.innerText = "Reserver";
-
- // container.appendChild(span);
- container.appendChild(button);
-
- buttonz = document.getElementById("events");
- }
-
- // events.innerHTML = "";
-
- const machines = [
- "Maskine 1",
- "Maskine 2"
- ]
-
- for (let i = 0; i < machines.length; i++) {
- let option = document.createElement("option");
- option.text = machines[i];
-
- machinez.appendChild(option);
- }
-
-
- for (let hour = 8; hour <= 20; hour++) {
-
- let option = document.createElement("option");
- option.text = prependZero(hour);
-
- events.appendChild(option);
-
- // let item = document.createElement("li");
- // item.classList.add("events__item");
- //
- // let itemData = document.createElement("div");
- //
- // let head = document.createElement("span");
- // head.classList.add("events__name");
- // head.innerText = "Vaskemaskine Tid";
- //
- // let dat = document.createElement("span");
- // dat.classList.add("events__date");
- // dat.innerText = "Klokken " + prependZero(hour);
- //
- // itemData.appendChild(head);
- // itemData.appendChild(dat);
- // item.appendChild(itemData);
- //
- // let button = document.createElement("span");
- // button.classList.add("events__tag");
- // button.innerText = "Book";
- //
- // item.appendChild(button);
- //
- // events.appendChild(item);
- }
-}
-
-function prependZero(value) {
- if(value < 10)
- return "0" + value;
- return value;
-}
-
-module.exports = {
- generateCalendar
-};
diff --git a/skolehjem/resources/js/calendar/month.js b/skolehjem/resources/js/calendar/month.js
deleted file mode 100644
index c271448..0000000
--- a/skolehjem/resources/js/calendar/month.js
+++ /dev/null
@@ -1,31 +0,0 @@
-class Month {
- constructor(year, monthOffsetNormalized) {
- this.year = year;
- this.normalizedOffset = monthOffsetNormalized;
- }
-
- init() {
- this.firstDay = (new Date(this.year, month - 1)).getDay();
-
-
- }
-
- draw(render) {
- this.clearRender(render);
-
-
- }
-
- clearRender(render) {
- let renderElement = document.getElementById(render);
- renderElement.innerHTML = "";
- }
-
- createDay() {
-
- }
-
- countDays() {
- return 32 - new Date(this.year, this.normalizedOffset - 1, 32).getDate();
- }
-}
diff --git a/skolehjem/resources/sass/webapp/_default.scss b/skolehjem/resources/sass/webapp/_default.scss
index dcde956..f1a4c7c 100644
--- a/skolehjem/resources/sass/webapp/_default.scss
+++ b/skolehjem/resources/sass/webapp/_default.scss
@@ -184,13 +184,6 @@ $primary-color: $blue;
top: -25px;
width: 80px;
- &:hover,
- &:focus {
- background: darken($primary-color, 8%);
- transition: all 0.3s ease-in;
- outline: none;
- }
-
.icon {
display: inline-block;
}
@@ -226,12 +219,6 @@ $primary-color: $blue;
font-size: 16px;
outline: none;
color: $calendar-button-color;
-
- &:hover,
- &:focus {
- color: palette(gray-shades, darker);
- transition: all 0.3s ease-in;
- }
}
@include e(title) {
@@ -241,12 +228,15 @@ $primary-color: $blue;
}
}
+.calendar-table__col.selected > .calendar-table__item {
+ color: white;
+}
+
.calendar-table {
margin-top: 12px;
width: 100%;
@include e(item) {
- border: 2px solid transparent;
border-radius: 50%;
color: $calendar-item-text;
font-size: $sm-font-size;
@@ -258,14 +248,6 @@ $primary-color: $blue;
justify-content: center;
cursor: pointer;
- &:hover {
- background: RGBA(0, 120, 138, 0.6);
- -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
- -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
- box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1);
- transition: 0.2s all ease-in;
- }
-
&:hover > span {
color: white;
}
@@ -291,12 +273,14 @@ $primary-color: $blue;
width: 40px;
height: 18px;
- @include mq(360) {
+ @include mq(350) {
width: 46px;
+ height: 20.7px;
}
- @include mq(410) {
- width: 47.5px;
+ @include mq(390) {
+ width: 56px;
+ height: 25.2px;
}
}
}
@@ -304,18 +288,34 @@ $primary-color: $blue;
@include e(body) {
.calendar-table__col {
width: 40px;
- height: 42px;
- padding-bottom: 2px;
+ height: 40px;
+ border-radius: 50%;
- @include mq(360) {
+ @include mq(350) {
width: 46px;
- height: 24px;
+ height: 46px;
+ }
+
+ @include mq(390) {
+ width: 56px;
+ height: 56px;
}
@include mq(410) {
- width: 54px;
+ width: 56px;
height: 56px;
}
+
+ @include mq(460) {
+ width: 61px;
+ height: 61px;
+ }
+ }
+ .calendar-table__col.selected {
+ background: $blue;
+
+ transition: all 0.3s ease-in;
+ outline: none;
}
}
@@ -344,7 +344,6 @@ $primary-color: $blue;
.calendar-table__item {
border-radius: 0;
- border-width: 2px 0;
}
}
@@ -407,7 +406,10 @@ $primary-color: $blue;
}
.events-container {
+ display: flex;
+ flex-direction: column;
padding: 0 15px;
+ padding-bottom: 1rem;
}
.events {
diff --git a/skolehjem/resources/views/app/bookings/index.blade.php b/skolehjem/resources/views/app/bookings/index.blade.php
deleted file mode 100644
index b9202f6..0000000
--- a/skolehjem/resources/views/app/bookings/index.blade.php
+++ /dev/null
@@ -1,245 +0,0 @@
-@extends("app.layout.base")
-@extends("app.layout.header")
-@section("title")
- Booking Liste
-@endsection
-
-@section("content")
-
- Booking Liste
-
-
-
-
Tider
-
-{{-- --}}
-{{-- --}}
-{{-- Vaskemaskine Tid --}}
-{{-- {Dato} --}}
-{{--
--}}
-{{-- Book --}}
-{{-- --}}
-{{-- --}}
-{{-- --}}
-{{-- Vaskemaskine Tid --}}
-{{-- {Dato} --}}
-{{--
--}}
-{{-- Book --}}
-{{-- --}}
-
-
-
-
-@endsection
diff --git a/skolehjem/resources/views/app/layout/base.blade.php b/skolehjem/resources/views/app/layout/base.blade.php
index e2c9a11..ece30a4 100644
--- a/skolehjem/resources/views/app/layout/base.blade.php
+++ b/skolehjem/resources/views/app/layout/base.blade.php
@@ -25,7 +25,7 @@
Aktiviteter
-
+
Reservationer
diff --git a/skolehjem/resources/views/app/layout/header.blade.php b/skolehjem/resources/views/app/layout/header.blade.php
deleted file mode 100644
index 73a27d1..0000000
--- a/skolehjem/resources/views/app/layout/header.blade.php
+++ /dev/null
@@ -1,34 +0,0 @@
-@section("header")
-
-
-@endsection
diff --git a/skolehjem/resources/views/app/washing-reservations/create.blade.php b/skolehjem/resources/views/app/washing-reservations/create.blade.php
new file mode 100644
index 0000000..19c252f
--- /dev/null
+++ b/skolehjem/resources/views/app/washing-reservations/create.blade.php
@@ -0,0 +1,213 @@
+@extends("app.layout.base")
+@extends("app.layout.header")
+@section("title")
+ Booking Liste
+@endsection
+
+@section("content")
+
+ Booking Liste
+
+
+@endsection
+
+@section("scripts")
+
+
+
+@endsection
diff --git a/skolehjem/resources/views/app/washing-reservations/index.blade.php b/skolehjem/resources/views/app/washing-reservations/index.blade.php
index d0749f4..fd31075 100644
--- a/skolehjem/resources/views/app/washing-reservations/index.blade.php
+++ b/skolehjem/resources/views/app/washing-reservations/index.blade.php
@@ -25,34 +25,10 @@
-
-
-
- Maskiner skal dynamisk opdateres alt efter om det er en fra bygning E eller en af de andre bygninger der vil vaske, da bygning E har egen vaskekælder!
-
-{{--
Maskiner --}}
-{{--
--}}
-
-{{-- --}}
-
-{{--
Tider --}}
-{{--
--}}
- {{-- --}}
- {{-- --}}
- {{-- Vaskemaskine Tid --}}
- {{-- {Dato} --}}
- {{--
--}}
- {{-- Book --}}
- {{-- --}}
- {{-- --}}
- {{-- --}}
- {{-- Vaskemaskine Tid --}}
- {{-- {Dato} --}}
- {{--
--}}
- {{-- Book --}}
- {{-- --}}
-
-
+
@endsection
+
+@section("scripts")
+@endsection
diff --git a/skolehjem/routes/web.php b/skolehjem/routes/web.php
index e07bc62..2f66d27 100644
--- a/skolehjem/routes/web.php
+++ b/skolehjem/routes/web.php
@@ -36,7 +36,7 @@ Route::get("/eventsapi", "EventController@search")->name("events.search");
Route::get("/menuplansapi", "MenuPlanController@search")->name("menu-plans.search");
Route::get("/rolesapi", "RolesController@search")->name("roles.search");
Route::get("/userapi", "UserController@search")->name("users.search");
-
+Route::get("/washing-reservationsapi", "WashingReservationController@api")->name("washing-reservations.api");
diff --git a/skolehjem/webpack.mix.js b/skolehjem/webpack.mix.js
index 1d8fe53..5216944 100644
--- a/skolehjem/webpack.mix.js
+++ b/skolehjem/webpack.mix.js
@@ -14,6 +14,7 @@ const mix = require('laravel-mix');
//JS
mix.js('resources/js/app.js', 'public/js');
+
//SCSS
mix.sass('resources/sass/app/app.scss', 'public/css');
mix.sass('resources/sass/webapp/webapp.scss', 'public/css');