This commit is contained in:
Neerholt 2020-08-27 15:30:26 +02:00
commit 4beadfb223
6 changed files with 99 additions and 8 deletions

View File

@ -3,9 +3,7 @@
namespace App\Helpers;
use Illuminate\Support\Facades\Auth;
use Jenssegers\Agent\Agent;
class Detector
@ -16,7 +14,13 @@ class Detector
if($agent->isMobile()) {
return view(config("detector.mobilePath") . "." . $viewName, $args);
} else if(Auth()->user() !== null) {
if (Auth()->user()->can('admin.panel.show') == true)
return view(config("detector.defaultPath") . "." . $viewName, $args);
}
return view(config("detector.defaultPath") . "." . $viewName, $args);
if($viewName == "users.login" || $viewName == "users.logout")
return view(config("detector.mobilePath") . "." . $viewName, $args);
return view("errors.403", $args);
}
}

View File

@ -19,16 +19,16 @@ class RootController extends Controller
if(auth()->user()->can('admin.panel.show')) {
if(Response::detect("root.index")->name() == "admin.root.index")
return Response::detect("root.index");
return view("admin.root.index");
else {
$news = News::query()->orderBy('id', 'desc')->paginate($perPage);
return Response::detect("root.index", ["news" => $news]);
return view("app.root.index", ["news" => $news]);
}
}
else {
$news = News::query()->orderBy('id', 'desc')->paginate($perPage, ['*'], "page");
return view('app.root.index', ["news" => $news]);
return Response::detect('root.index', ["news" => $news]);
}
}
}

View File

@ -3,6 +3,7 @@
namespace App\Providers;
use Illuminate\Http\Response;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\ServiceProvider;
use Jenssegers\Agent\Facades\Agent;
@ -28,8 +29,14 @@ class DetectorServiceProvider extends ServiceProvider
Response::macro("detect", function ($view, $args = []) {
if(Agent::isMobile()) {
return view(config("detector.mobilePath") . "." . $view, $args);
} else if(Auth()->user() !== null){
if(Auth()->user()->can('admin.panel.show') == true)
return view(config("detector.defaultPath") . "." . $view, $args);
}
return view(config("detector.defaultPath") . "." . $view, $args);
if($view == "users.login" || $view == "users.logout")
return view(config("detector.mobilePath") . "." . $view, $args);
return view("errors.403", $args);
});
}
}

View File

@ -63,6 +63,7 @@ return[
"infoomappen" => "Denne app er udviklet til Odense erhvervskollegie.",
"error" => "Fejl",
"404" => "Denne side findes ikke.",
"403" => "Du har ikke rettigheder til denne side.",
"canceled" => "Aflyst"

View File

@ -70,5 +70,6 @@ return[
"infoomappen" => "The app is developed and designed for 'Odense erhvervskollegie'.",
"error" => "Error",
"404" => "This page doesn't exist.",
"403" => "You don't have permissions to access this page.",
"canceled" => "Canceled"
];

View File

@ -0,0 +1,78 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>@yield("title")</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
@if(request()->cookie("mode") == "dark")
<link type="text/css" rel="stylesheet" href="{{ mix("/css/webappdark.css") }}">
@else
<link type="text/css" rel="stylesheet" href="{{ mix("/css/webapp.css") }}">
@endif
<script type="text/javascript">
function setMain() {
var main = document.getElementsByTagName("main")[0];
var header = document.getElementsByTagName("header")[0];
main.style.minHeight = 'calc(100% - ' + header.clientHeight + 'px)';
}
</script>
</head>
<body onload="onLoadRedirect()">
<main style="justify-content: unset">
<h1 class="sde-blue" style="font-size: 12vw; text-align: center">{{__("msg.error")}}</h1>
<p class="mb-0" style="text-align: center; font-size: 3.25vw;">{{__("msg.403")}}</p>
</main>
<script src="{{ mix("/js/app.js") }}"></script>
@if(request()->cookie("mode") == "dark")
<script type="text/javascript">
function toggleMenu(menu) {
let menuElement = document.getElementById(menu);
let logoElement = document.getElementById("sdeLogo");
let htmlElement = document.getElementsByTagName('html')[0];
let bodyElement = document.getElementsByTagName('body')[0];
let mainElement = document.getElementsByTagName('main')[0];
let iconElement = document.getElementById("icon");
let headerElement = document.getElementById("header");
if(menuElement.classList.contains("hide")) {
menuElement.classList.remove("hide");
mainElement.classList.remove("d-none");
htmlElement.style.backgroundColor = '';
bodyElement.style.backgroundColor = '#666666';
logoElement.src = '/images/logos/Logo-hvid.svg';
iconElement.classList.remove("fa-times");
iconElement.classList.add("fa-bars");
headerElement.style.backgroundColor = '';
} else {
menuElement.classList.add("hide");
mainElement.classList.add("d-none");
htmlElement.style.backgroundColor = 'rgb(0, 120, 138)';
bodyElement.style.backgroundColor = 'rgb(0, 120, 138)';
logoElement.src = '/images/logos/Logo-hvid.svg';
iconElement.classList.remove("fa-bars");
iconElement.classList.add("fa-times");
headerElement.style.backgroundColor = 'rgb(0, 120, 138)';
}
}
if(document.getElementById("toggle"))
document.getElementById("toggle").onclick = function () {
toggleMenu('menu');
};
</script>
@endif
@yield("scripts")
<script>
function onLoadRedirect(){
setTimeout(function () {
if(window.history.back() !== undefined)
window.location.href = window.history.back();
else
window.location.href = "{{route("root.index")}}";
}, 3000)
}
</script>
</body>
</html>