summaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
Diffstat (limited to 'resources')
-rw-r--r--resources/js/bootstrap.js15
-rw-r--r--resources/sass/_variables.scss19
-rw-r--r--resources/sass/app.scss14
-rw-r--r--resources/views/auth/login.blade.php73
-rw-r--r--resources/views/auth/passwords/confirm.blade.php49
-rw-r--r--resources/views/auth/passwords/email.blade.php47
-rw-r--r--resources/views/auth/passwords/reset.blade.php65
-rw-r--r--resources/views/auth/register.blade.php77
-rw-r--r--resources/views/auth/verify.blade.php28
-rw-r--r--resources/views/home.blade.php23
-rw-r--r--resources/views/index.blade.php34
-rw-r--r--resources/views/layouts/app.blade.php84
12 files changed, 508 insertions, 20 deletions
diff --git a/resources/js/bootstrap.js b/resources/js/bootstrap.js
index 6922577..8eaba1b 100644
--- a/resources/js/bootstrap.js
+++ b/resources/js/bootstrap.js
@@ -1,6 +1,19 @@
window._ = require('lodash');
/**
+ * We'll load jQuery and the Bootstrap jQuery plugin which provides support
+ * for JavaScript based Bootstrap features such as modals and tabs. This
+ * code may be modified to fit the specific needs of your application.
+ */
+
+try {
+ window.Popper = require('popper.js').default;
+ window.$ = window.jQuery = require('jquery');
+
+ require('bootstrap');
+} catch (e) {}
+
+/**
* We'll load the axios HTTP library which allows us to easily issue requests
* to our Laravel back-end. This library automatically handles sending the
* CSRF token as a header based on the value of the "XSRF" token cookie.
@@ -24,5 +37,5 @@ window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
// broadcaster: 'pusher',
// key: process.env.MIX_PUSHER_APP_KEY,
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
-// forceTLS: true
+// encrypted: true
// });
diff --git a/resources/sass/_variables.scss b/resources/sass/_variables.scss
new file mode 100644
index 0000000..0407ab5
--- /dev/null
+++ b/resources/sass/_variables.scss
@@ -0,0 +1,19 @@
+// Body
+$body-bg: #f8fafc;
+
+// Typography
+$font-family-sans-serif: 'Nunito', sans-serif;
+$font-size-base: 0.9rem;
+$line-height-base: 1.6;
+
+// Colors
+$blue: #3490dc;
+$indigo: #6574cd;
+$purple: #9561e2;
+$pink: #f66d9b;
+$red: #e3342f;
+$orange: #f6993f;
+$yellow: #ffed4a;
+$green: #38c172;
+$teal: #4dc0b5;
+$cyan: #6cb2eb;
diff --git a/resources/sass/app.scss b/resources/sass/app.scss
index 8337712..8352c35 100644
--- a/resources/sass/app.scss
+++ b/resources/sass/app.scss
@@ -1 +1,13 @@
-//
+// Fonts
+@import url('https://fonts.googleapis.com/css?family=Nunito');
+
+// Variables
+@import 'variables';
+
+// Bootstrap
+@import '~bootstrap/scss/bootstrap';
+
+#index .btn {
+ margin-top: .25rem;
+ margin-bottom: .25rem;
+}
diff --git a/resources/views/auth/login.blade.php b/resources/views/auth/login.blade.php
new file mode 100644
index 0000000..c12b97e
--- /dev/null
+++ b/resources/views/auth/login.blade.php
@@ -0,0 +1,73 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+ <div class="row justify-content-center">
+ <div class="col-md-8">
+ <div class="card">
+ <div class="card-header">{{ __('Login') }}</div>
+
+ <div class="card-body">
+ <form method="POST" action="{{ route('login') }}">
+ @csrf
+
+ <div class="form-group row">
+ <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</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>
+
+ @error('email')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</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">
+
+ @error('password')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <div class="col-md-6 offset-md-4">
+ <div class="form-check">
+ <input class="form-check-input" type="checkbox" name="remember" id="remember" {{ old('remember') ? 'checked' : '' }}>
+
+ <label class="form-check-label" for="remember">
+ {{ __('Remember Me') }}
+ </label>
+ </div>
+ </div>
+ </div>
+
+ <div class="form-group row mb-0">
+ <div class="col-md-8 offset-md-4">
+ <button type="submit" class="btn btn-primary">
+ {{ __('Login') }}
+ </button>
+
+ @if (Route::has('password.request'))
+ <a class="btn btn-link" href="{{ route('password.request') }}">
+ {{ __('Forgot Your Password?') }}
+ </a>
+ @endif
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
diff --git a/resources/views/auth/passwords/confirm.blade.php b/resources/views/auth/passwords/confirm.blade.php
new file mode 100644
index 0000000..ca78fc1
--- /dev/null
+++ b/resources/views/auth/passwords/confirm.blade.php
@@ -0,0 +1,49 @@
+@extends('layouts.app')
+
+@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-body">
+ {{ __('Please confirm your password before continuing.') }}
+
+ <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>
+
+ <div class="col-md-6">
+ <input id="password" type="password" class="form-control @error('password') is-invalid @enderror" name="password" required autocomplete="current-password">
+
+ @error('password')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row mb-0">
+ <div class="col-md-8 offset-md-4">
+ <button type="submit" class="btn btn-primary">
+ {{ __('Confirm Password') }}
+ </button>
+
+ @if (Route::has('password.request'))
+ <a class="btn btn-link" href="{{ route('password.request') }}">
+ {{ __('Forgot Your Password?') }}
+ </a>
+ @endif
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
diff --git a/resources/views/auth/passwords/email.blade.php b/resources/views/auth/passwords/email.blade.php
new file mode 100644
index 0000000..1fea984
--- /dev/null
+++ b/resources/views/auth/passwords/email.blade.php
@@ -0,0 +1,47 @@
+@extends('layouts.app')
+
+@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-body">
+ @if (session('status'))
+ <div class="alert alert-success" role="alert">
+ {{ session('status') }}
+ </div>
+ @endif
+
+ <form method="POST" action="{{ route('password.email') }}">
+ @csrf
+
+ <div class="form-group row">
+ <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</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>
+
+ @error('email')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <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') }}
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
diff --git a/resources/views/auth/passwords/reset.blade.php b/resources/views/auth/passwords/reset.blade.php
new file mode 100644
index 0000000..989931d
--- /dev/null
+++ b/resources/views/auth/passwords/reset.blade.php
@@ -0,0 +1,65 @@
+@extends('layouts.app')
+
+@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-body">
+ <form method="POST" action="{{ route('password.update') }}">
+ @csrf
+
+ <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>
+
+ <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>
+
+ @error('email')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</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">
+
+ @error('password')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
+
+ <div class="col-md-6">
+ <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
+ </div>
+ </div>
+
+ <div class="form-group row mb-0">
+ <div class="col-md-6 offset-md-4">
+ <button type="submit" class="btn btn-primary">
+ {{ __('Reset Password') }}
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
diff --git a/resources/views/auth/register.blade.php b/resources/views/auth/register.blade.php
new file mode 100644
index 0000000..d236a48
--- /dev/null
+++ b/resources/views/auth/register.blade.php
@@ -0,0 +1,77 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+ <div class="row justify-content-center">
+ <div class="col-md-8">
+ <div class="card">
+ <div class="card-header">{{ __('Register') }}</div>
+
+ <div class="card-body">
+ <form method="POST" action="{{ route('register') }}">
+ @csrf
+
+ <div class="form-group row">
+ <label for="name" class="col-md-4 col-form-label text-md-right">{{ __('Name') }}</label>
+
+ <div class="col-md-6">
+ <input id="name" type="text" class="form-control @error('name') is-invalid @enderror" name="name" value="{{ old('name') }}" required autocomplete="name" autofocus>
+
+ @error('name')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="email" class="col-md-4 col-form-label text-md-right">{{ __('E-Mail Address') }}</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">
+
+ @error('email')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</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">
+
+ @error('password')
+ <span class="invalid-feedback" role="alert">
+ <strong>{{ $message }}</strong>
+ </span>
+ @enderror
+ </div>
+ </div>
+
+ <div class="form-group row">
+ <label for="password-confirm" class="col-md-4 col-form-label text-md-right">{{ __('Confirm Password') }}</label>
+
+ <div class="col-md-6">
+ <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required autocomplete="new-password">
+ </div>
+ </div>
+
+ <div class="form-group row mb-0">
+ <div class="col-md-6 offset-md-4">
+ <button type="submit" class="btn btn-primary">
+ {{ __('Register') }}
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
diff --git a/resources/views/auth/verify.blade.php b/resources/views/auth/verify.blade.php
new file mode 100644
index 0000000..9f8c1bc
--- /dev/null
+++ b/resources/views/auth/verify.blade.php
@@ -0,0 +1,28 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+ <div class="row justify-content-center">
+ <div class="col-md-8">
+ <div class="card">
+ <div class="card-header">{{ __('Verify Your Email Address') }}</div>
+
+ <div class="card-body">
+ @if (session('resent'))
+ <div class="alert alert-success" role="alert">
+ {{ __('A fresh verification link has been sent to your email address.') }}
+ </div>
+ @endif
+
+ {{ __('Before proceeding, please check your email for a verification link.') }}
+ {{ __('If you did not receive the email') }},
+ <form class="d-inline" method="POST" action="{{ route('verification.resend') }}">
+ @csrf
+ <button type="submit" class="btn btn-link p-0 m-0 align-baseline">{{ __('click here to request another') }}</button>.
+ </form>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php
new file mode 100644
index 0000000..05dfca9
--- /dev/null
+++ b/resources/views/home.blade.php
@@ -0,0 +1,23 @@
+@extends('layouts.app')
+
+@section('content')
+<div class="container">
+ <div class="row justify-content-center">
+ <div class="col-md-8">
+ <div class="card">
+ <div class="card-header">Dashboard</div>
+
+ <div class="card-body">
+ @if (session('status'))
+ <div class="alert alert-success" role="alert">
+ {{ session('status') }}
+ </div>
+ @endif
+
+ You are logged in!
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+@endsection
diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php
index a729eaa..8fcae4f 100644
--- a/resources/views/index.blade.php
+++ b/resources/views/index.blade.php
@@ -1,20 +1,18 @@
-Nächste Zeitumstellung ist am <b>{{ $tc->day.". ".$tc->monthText." ".$tc->year }}</b>, also in <b>{{ $tc->daysuntil }} Tagen</b>.
+@extends('layouts.app')
-{!! $tc->descriptionHTML !!}
+@section('content')
+<div class="container" id="index">
+ <h1>Wann ist Zeitumstellung zur Sommerzeit?</h1>
+ <p>
+ Nächste Zeitumstellung ist am <b>{{ $tc->day.". ".$tc->monthText." ".$tc->year }}</b>, also in <b>{{ $tc->daysuntil }} Tagen</b>.
+ <br>
+ {!! $tc->descriptionHTML !!}
+ </p>
-<!--
-Die Uhr wird von
- 2 Uhr auf 3 Uhr vorgestellt, sodass wir <b>1 Stunde weniger</b> schlafen.
- 3 Uhr auf 2 Uhr zurückgestellt, sodass wir <b>1 Stunde mehr</b> schlafen.
--->
-
-<br><br>
-Sie können folgenden Kalender in Ihre Software einbinden: <br>
-<a href="webcal://zeitumstellung.iamfabulous.de/ical" title="Link zum iCal-Kalender">Link im Kalender öffnen (Handy)</a> <br>
-<a href="https://zeitumstellung.iamfabulous.de/ical?download=0" title="Link zum iCal-Kalender">Link im Browser öffnen</a>
-
-<!--
-<?php
- var_dump($tc->getData());
-?>
--->
+ <p>
+ Sie können folgenden Kalender in Ihre Software einbinden: <br>
+ <a class="btn btn-outline-primary" href="webcal://zeitumstellung.iamfabulous.de/ical" title="Link in der Kalender-App öffnen">Link in der Kalender-App öffnen</a>
+ <a class="btn btn-outline-primary" href="https://zeitumstellung.iamfabulous.de/ical" title="Link zum iCal-Kalender">Kalender-Datei downloaden</a>
+ </p>
+</div>
+@endsection
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php
new file mode 100644
index 0000000..87f40eb
--- /dev/null
+++ b/resources/views/layouts/app.blade.php
@@ -0,0 +1,84 @@
+<!doctype html>
+<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
+<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>{{ config('app.name', 'Laravel') }}</title>
+
+ <!-- Scripts -->
+ <script src="{{ asset('js/app.js') }}" defer></script>
+
+ <!-- Fonts -->
+ <link rel="dns-prefetch" href="//fonts.gstatic.com">
+ <link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet">
+
+ <!-- Styles -->
+ <link href="{{ asset('css/app.css') }}" rel="stylesheet">
+</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('/') }}">
+ {{ config('app.name', 'Laravel') }}
+ </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">
+ @if (Route::has('calendar'))
+ <a href="{{ route('calendar') }}">Kalender</a>
+ @endif
+ </ul>
+
+ <!-- Right Side Of Navbar -->
+ <ul class="navbar-nav ml-auto">
+ <!-- Authentication Links -->
+ @guest
+ @if (Route::has('login'))
+ <li class="nav-item">
+ <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
+ </li>
+ @endif
+ @if (Route::has('register'))
+ <li class="nav-item">
+ <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
+ </li>
+ @endif
+ @else
+ <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 }} <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();">
+ {{ __('Logout') }}
+ </a>
+
+ <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
+ @csrf
+ </form>
+ </div>
+ </li>
+ @endguest
+ </ul>
+ </div>
+ </div>
+ </nav>
+
+ <main class="py-4">
+ @yield('content')
+ </main>
+ </div>
+</body>
+</html>