Added Authentication Scaffolding, Dashboard, and Sidenav

This commit is contained in:
2020-04-29 03:20:00 +01:00
parent 3bd773e2d3
commit 70c7429e36
146 changed files with 163497 additions and 238 deletions

31
resources/js/app.js vendored
View File

@@ -1 +1,32 @@
/**
* 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.
*/
require('./bootstrap');
window.Vue = require('vue');
/**
* 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 -> <example-component></example-component>
*/
// 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',
});

View File

@@ -1,5 +1,18 @@
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
@@ -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
// });

View File

@@ -0,0 +1,23 @@
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card">
<div class="card-header">Example Component</div>
<div class="card-body">
I'm an example component.
</div>
</div>
</div>
</div>
</div>
</template>
<script>
export default {
mounted() {
console.log('Component mounted.')
}
}
</script>

View File

@@ -0,0 +1,21 @@
<?php
return [
'full_name' => 'الاسم الثلاثي',
'email' => 'البريد الإلكتروني',
'password' => 'كلمة السر',
'retype_password' => 'أعد إدخال كلمة السر',
'remember_me' => 'ذكرني',
'register' => 'تسجيل جديد',
'register_a_new_membership' => 'تسجيل عضوية جديدة',
'i_forgot_my_password' => 'نسيت كلمة السر؟',
'i_already_have_a_membership' => 'هذا الحساب لديه عضوية سابقة',
'sign_in' => 'تسجيل الدخول',
'log_out' => 'تسجيل خروج',
'toggle_navigation' => 'القائمة الجانبية',
'login_message' => 'يجب تسجيل الدخول',
'register_message' => 'تم تسجيل العضوية الجديدة ',
'password_reset_message' => 'تم إعادة تعيين كلمة المرور',
'reset_password' => 'إعادة تعيين كلمة السر',
'send_password_reset_link' => 'إرسال رابط إعادة تعيين كلمة السر',
];

View File

@@ -0,0 +1,21 @@
<?php
return [
'full_name' => 'Nom complet',
'email' => 'Email',
'password' => 'Contrasenya',
'retype_password' => 'Confirmar la contrasenya',
'remember_me' => 'Recordar-me',
'register' => 'Registrar-se',
'register_a_new_membership' => 'Crear un nou compte',
'i_forgot_my_password' => 'He oblidat la meva contrasenya',
'i_already_have_a_membership' => 'Ja tinc un compte',
'sign_in' => 'Accedir',
'log_out' => 'Sortir',
'toggle_navigation' => 'Commutar la navegació',
'login_message' => 'Autenticar-se per a iniciar sessió',
'register_message' => 'Crear un nou compte',
'password_reset_message' => 'Restablir la contrasenya',
'reset_password' => 'Restablir la contrasenya',
'send_password_reset_link' => 'Enviar enllaç de restabliment de contrasenya',
];

View File

@@ -0,0 +1,27 @@
<?php
return [
'full_name' => 'Vollständiger Name',
'email' => 'E-Mail',
'password' => 'Passwort',
'retype_password' => 'Passwort bestätigen',
'remember_me' => 'Angemeldet bleiben',
'register' => 'Registrieren',
'register_a_new_membership' => 'Ein neues Konto registrieren',
'i_forgot_my_password' => 'Ich habe mein Passwort vergessen',
'i_already_have_a_membership' => 'Ich bin bereits registriert',
'sign_in' => 'Anmelden',
'log_out' => 'Abmelden',
'toggle_navigation' => 'Navigation umschalten',
'login_message' => 'Bitte melden Sie sich an, um auf den geschützten Bereich zuzugreifen',
'register_message' => 'Bitte füllen Sie das Formular aus, um ein neues Konto zu registrieren',
'password_reset_message' => 'Bitte geben Sie Ihre E-Mail Adresse ein, um Ihr Passwort zurückzusetzen',
'reset_password' => 'Passwort zurücksetzen',
'send_password_reset_link' => 'Link zur Passwortwiederherstellung senden',
'verify_message' => 'Ihr Account muss noch bestätigt werden',
'verify_email_sent' => 'Es wurde ein neuer Bestätigungslink an Ihre E-Mail Adresse gesendet.',
'verify_check_your_email' => 'Bevor Sie fortfahren, überprüfen Sie bitte Ihre E-Mail auf einen Bestätigungslink.',
'verify_if_not_recieved' => 'Wenn Sie die E-Mail nicht empfangen haben',
'verify_request_another' => 'klicken Sie hier, um eine neue E-Mail anzufordern',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'HAUPTMENÜ',
'blog' => 'Blog',
'pages' => 'Seiten',
'account_settings' => 'KONTOEINSTELLUNGEN',
'profile' => 'Profil',
'change_password' => 'Passwort ändern',
'multilevel' => 'Multi Level',
'level_one' => 'Level 1',
'level_two' => 'Level 2',
'level_three' => 'Level 3',
'labels' => 'Beschriftungen',
'important' => 'Wichtig',
'warning' => 'Warnung',
'information' => 'Information',
];

View File

@@ -0,0 +1,27 @@
<?php
return [
'full_name' => 'Full name',
'email' => 'Email',
'password' => 'Password',
'retype_password' => 'Retype password',
'remember_me' => 'Remember Me',
'register' => 'Register',
'register_a_new_membership' => 'Register a new membership',
'i_forgot_my_password' => 'I forgot my password',
'i_already_have_a_membership' => 'I already have a membership',
'sign_in' => 'Sign In',
'log_out' => 'Log Out',
'toggle_navigation' => 'Toggle navigation',
'login_message' => 'Sign in to start your session',
'register_message' => 'Register a new membership',
'password_reset_message' => 'Reset Password',
'reset_password' => 'Reset Password',
'send_password_reset_link' => 'Send Password Reset Link',
'verify_message' => 'Your account needs a verification',
'verify_email_sent' => 'A fresh verification link has been sent to your email address.',
'verify_check_your_email' => 'Before proceeding, please check your email for a verification link.',
'verify_if_not_recieved' => 'If you did not receive the email',
'verify_request_another' => 'click here to request another',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'MAIN NAVIGATION',
'blog' => 'Blog',
'pages' => 'Pages',
'account_settings' => 'ACCOUNT SETTINGS',
'profile' => 'Profile',
'change_password' => 'Change Password',
'multilevel' => 'Multi Level',
'level_one' => 'Level 1',
'level_two' => 'Level 2',
'level_three' => 'Level 3',
'labels' => 'LABELS',
'important' => 'Important',
'warning' => 'Warning',
'information' => 'Information',
];

View File

@@ -0,0 +1,27 @@
<?php
return [
'full_name' => 'Nombre completo',
'email' => 'Email',
'password' => 'Contraseña',
'retype_password' => 'Confirmar la contraseña',
'remember_me' => 'Recordarme',
'register' => 'Registrarse',
'register_a_new_membership' => 'Crear una nueva cuenta',
'i_forgot_my_password' => 'Olvidé mi contraseña',
'i_already_have_a_membership' => 'Ya tengo una cuenta',
'sign_in' => 'Acceder',
'log_out' => 'Salir',
'toggle_navigation' => 'Alternar barra de navegación',
'login_message' => 'Autenticarse para iniciar sesión',
'register_message' => 'Crear una nueva cuenta',
'password_reset_message' => 'Restablecer la contraseña',
'reset_password' => 'Restablecer la contraseña',
'send_password_reset_link' => 'Enviar enlace para restablecer la contraseña',
'verify_message' => 'Tu cuenta necesita una verificación',
'verify_email_sent' => 'Se ha enviado un nuevo enlace de verificación a su correo electrónico.',
'verify_check_your_email' => 'Antes de continuar, busque en su correo electrónico un enlace de verificación.',
'verify_if_not_recieved' => 'Si no has recibido el correo electrónico',
'verify_request_another' => 'haga clic aquí para solicitar otro',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'MENU PRINCIPAL',
'blog' => 'Blog',
'pages' => 'Páginas',
'account_settings' => 'AJUSTES DE LA CUENTA',
'profile' => 'Perfil',
'change_password' => 'Cambiar Contraseña',
'multilevel' => 'Multi Nivel',
'level_one' => 'Nivel 1',
'level_two' => 'Nivel 2',
'level_three' => 'Nivel 3',
'labels' => 'ETIQUETAS',
'important' => 'Importante',
'warning' => 'Advertencia',
'information' => 'Información',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'نام',
'email' => 'ایمیل',
'password' => 'رمز عبور',
'retype_password' => 'تکرار رمز عبور',
'remember_me' => 'مرا به یاد داشته باش',
'register' => 'ثبت نام',
'register_a_new_membership' => 'ایجاد یک عضویت جدید',
'i_forgot_my_password' => 'رمز عبور را فراموش کرده ام',
'i_already_have_a_membership' => 'قبلا ثبت نام کرده ام',
'sign_in' => 'ورود',
'log_out' => 'خروج',
'toggle_navigation' => 'نمایش/مخفی کردن منو',
'login_message' => 'وارد شوید',
'register_message' => 'ثبت نام',
'password_reset_message' => 'بازنشانی رمز عبور',
'reset_password' => 'بازنشانی رمز عبور',
'send_password_reset_link' => 'ارسال لینک بازنشانی رمز عبور',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Nom',
'email' => 'Email',
'password' => 'Mot de passe',
'retype_password' => 'Entrez à nouveau le mot de passe',
'remember_me' => 'Se souvenir de moi',
'register' => 'Enregistrement',
'register_a_new_membership' => 'Enregistrer un nouveau membre',
'i_forgot_my_password' => 'J\'ai oublié mon mot de passe',
'i_already_have_a_membership' => 'J\'ai déjà un compte',
'sign_in' => 'Connexion',
'log_out' => 'Déconnexion',
'toggle_navigation' => 'Basculer la navigation',
'login_message' => 'Connectez-vous pour commencer une session',
'register_message' => 'Enregistrement d\'un nouveau membre',
'password_reset_message' => 'Réinitialisation du mot de passe',
'reset_password' => 'Réinitialisation du mot de passe',
'send_password_reset_link' => 'Envoi de la réinitialisation du mot de passe',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Ime',
'email' => 'Email',
'password' => 'Lozinka',
'retype_password' => 'Ponovljena lozinka',
'remember_me' => 'Zapamti me',
'register' => 'Novi korisnik',
'register_a_new_membership' => 'Registracija',
'i_forgot_my_password' => 'Zaboravljena zaporka',
'i_already_have_a_membership' => 'Već imam korisnički račun',
'sign_in' => 'Prijava',
'log_out' => 'Odjava',
'toggle_navigation' => 'Pregled navigacije',
'login_message' => 'Prijava',
'register_message' => 'Registracija',
'password_reset_message' => 'Nova lozinka',
'reset_password' => 'Nova lozinka',
'send_password_reset_link' => 'Pošalji novi zahtjev lozinke',
];

View File

@@ -0,0 +1,21 @@
<?php
return [
'full_name' => 'Teljes név',
'email' => 'Email',
'password' => 'Jelszó',
'retype_password' => 'Jelszó újra',
'remember_me' => 'Emlékezz rám',
'register' => 'Regisztráció',
'register_a_new_membership' => 'Regisztrálás új tagként',
'i_forgot_my_password' => 'Elfelejtetem a jelszavam',
'i_already_have_a_membership' => 'Már tag vagyok',
'sign_in' => 'Belépés',
'log_out' => 'Kilépés',
'toggle_navigation' => 'Lenyíló navigáció',
'login_message' => 'Belépés a munkamenet elkezdéséhez',
'register_message' => 'Regisztrálás új tagként',
'password_reset_message' => 'Jelszó visszaállítása',
'reset_password' => 'Jelszó visszaállítása',
'send_password_reset_link' => 'Jelszó visszaállítás link küldése',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Nome completo',
'email' => 'Email',
'password' => 'Password',
'retype_password' => 'Ripeti password',
'remember_me' => 'Ricordami',
'register' => 'Registrazione',
'register_a_new_membership' => 'Registra un nuovo abbonamento',
'i_forgot_my_password' => 'Ho dimenticato la password',
'i_already_have_a_membership' => 'Ho già un abbonamento',
'sign_in' => 'Accedi',
'log_out' => 'Logout',
'toggle_navigation' => 'Attiva la navigazione',
'login_message' => 'Accedi per iniziare la tua sessione',
'register_message' => 'Registra un nuovo abbonamento',
'password_reset_message' => 'Resetta la password',
'reset_password' => 'Resetta la password',
'send_password_reset_link' => 'Invia link di reset della password',
];

View File

@@ -0,0 +1,27 @@
<?php
return [
'full_name' => '氏名',
'email' => 'メールアドレス',
'password' => 'パスワード',
'retype_password' => 'もう一度入力',
'remember_me' => 'パスワードを記憶する',
'register' => '登録する',
'register_a_new_membership' => 'アカウントを登録する',
'i_forgot_my_password' => 'パスワードを忘れた',
'i_already_have_a_membership' => 'すでにアカウントを持っている',
'sign_in' => 'ログイン',
'log_out' => 'ログアウト',
'toggle_navigation' => 'ナビゲーションを開閉',
'login_message' => 'ログインしてセッションを開始する',
'register_message' => 'アカウントを登録する',
'password_reset_message' => 'パスワードをリセットする',
'reset_password' => 'パスワードをリセットする',
'send_password_reset_link' => 'パスワードリセットリンクを送信する。',
'verify_message' => 'あなたのアカウントは認証が必要です。',
'verify_email_sent' => 'あなたのメールアドレスに認証用のリンクを送信しました。',
'verify_check_your_email' => '続行する前に、認証用リンクについてメールを確認してください。',
'verify_if_not_recieved' => 'メールが届かない場合',
'verify_request_another' => 'ここをクリックしてもう一度送信する',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'メインメニュー',
'blog' => 'ブログ',
'pages' => 'ページ',
'account_settings' => 'アカウント設定',
'profile' => 'プロフィール',
'change_password' => 'パスワード変更',
'multilevel' => 'マルチ階層',
'level_one' => '階層 1',
'level_two' => '階層 2',
'level_three' => '階層 3',
'labels' => 'ラベル',
'important' => '重要',
'warning' => '警告',
'information' => 'インフォメーション',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Volledige naam',
'email' => 'E-mailadres',
'password' => 'Wachtwoord',
'retype_password' => 'Wachtwoord nogmaals invoeren',
'remember_me' => 'Ingelogd blijven',
'register' => 'Registreren',
'register_a_new_membership' => 'Registreer een nieuw lidmaatschap',
'i_forgot_my_password' => 'Ik ben mijn wachtwoord vergeten',
'i_already_have_a_membership' => 'Ik heb al een lidmaatschap',
'sign_in' => 'Inloggen',
'log_out' => 'Uitloggen',
'toggle_navigation' => 'Schakel navigatie',
'login_message' => 'Log in om je sessie te starten',
'register_message' => 'Registreer een nieuw lidmaatschap',
'password_reset_message' => 'Wachtwoord herstellen',
'reset_password' => 'Wachtwoord herstellen',
'send_password_reset_link' => 'Verzend link voor wachtwoordherstel',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Imię i nazwisko',
'email' => 'Email',
'password' => 'Hasło',
'retype_password' => 'Powtórz hasło',
'remember_me' => 'Zapamiętaj mnie',
'register' => 'Zarejestruj',
'register_a_new_membership' => 'Załóż nowe konto',
'i_forgot_my_password' => 'Zapomniałem hasła',
'i_already_have_a_membership' => 'Mam już konto',
'sign_in' => 'Zaloguj',
'log_out' => 'Wyloguj',
'toggle_navigation' => 'Przełącz nawigację',
'login_message' => 'Zaloguj się aby uzyskać dostęp do panelu',
'register_message' => 'Załóż nowe konto',
'password_reset_message' => 'Resetuj hasło',
'reset_password' => 'Resetuj hasło',
'send_password_reset_link' => 'Wyślij link do resetowania hasła',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Nome completo',
'email' => 'Email',
'password' => 'Senha',
'retype_password' => 'Repita a senha',
'remember_me' => 'Lembrar-me',
'register' => 'Registrar',
'register_a_new_membership' => 'Registrar um novo membro',
'i_forgot_my_password' => 'Esqueci minha senha',
'i_already_have_a_membership' => 'Já sou um membro',
'sign_in' => 'Entrar',
'log_out' => 'Sair',
'toggle_navigation' => 'Trocar navegação',
'login_message' => 'Entre para iniciar uma nova sessão',
'register_message' => 'Registrar um novo membro',
'password_reset_message' => 'Recuperar senha',
'reset_password' => 'Recuperar senha',
'send_password_reset_link' => 'Enviar link de recuperação de senha',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'Navegação Principal',
'blog' => 'Blog',
'pages' => 'Página',
'account_settings' => 'Configurações da Conta',
'profile' => 'Perfil',
'change_password' => 'Mudar Senha',
'multilevel' => 'Multinível',
'level_one' => 'Nível 1',
'level_two' => 'Nível 2',
'level_three' => 'Nível 3',
'labels' => 'Etiquetas',
'Important' => 'Importante',
'Warning' => 'Aviso',
'Information' => 'Informação',
];

View File

@@ -0,0 +1,23 @@
<?php
return [
'full_name' => 'Полное имя',
'email' => 'Почта',
'password' => 'Пароль',
'retype_password' => 'Подтверждение пароля',
'remember_me' => 'Запомнить меня',
'register' => 'Регистрация',
'register_a_new_membership' => 'Регистрация нового пользователя',
'i_forgot_my_password' => 'Восстановление пароля',
'i_already_have_a_membership' => 'Я уже зарегистрирован',
'sign_in' => 'Вход',
'log_out' => 'Выход',
'toggle_navigation' => 'Переключить навигацию',
'login_message' => 'Вход в систему',
'register_message' => 'Регистрация нового пользователя',
'password_reset_message' => 'Восстановление пароля',
'reset_password' => 'Восстановление пароля',
'send_password_reset_link' => 'Отправить ссылку для восстановления пароля',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ГЛАВНОЕ МЕНЮ',
'blog' => 'Блог',
'pages' => 'Страницы',
'account_settings' => 'НАСТРОЙКИ ПРОФИЛЯ',
'profile' => 'Профиль',
'change_password' => 'Изменить пароль',
'multilevel' => 'Многоуровневое меню',
'level_one' => 'Уровень 1',
'level_two' => 'Уровень 2',
'level_three' => 'Уровень 3',
'labels' => 'Метки',
'important' => 'Важно',
'warning' => 'Внимание',
'information' => 'Информация',
];

View File

@@ -0,0 +1,27 @@
<?php
return [
'full_name' => 'Ad ve Soyadı',
'email' => 'E-Posta Adresi',
'password' => 'Parola',
'retype_password' => 'Yeniden Parola',
'remember_me' => 'Beni Hatırla',
'register' => 'Kaydol',
'register_a_new_membership' => 'Yeni üye kaydı',
'i_forgot_my_password' => 'Parolamı unuttum',
'i_already_have_a_membership' => 'Zaten üye kaydım var',
'sign_in' => 'Giriş Yap',
'log_out' => ıkış Yap',
'toggle_navigation' => 'Ana menüyü aç/kapa',
'login_message' => 'Oturumunuzu devam ettirmek için giriş yapmalısınız',
'register_message' => 'Yeni üye kaydı oluştur',
'password_reset_message' => 'Parola Sıfırlama',
'reset_password' => 'Parola Sıfırlama',
'send_password_reset_link' => 'Parola Sıfırlama Linki Gönder',
'verify_message' => 'Hesabınızın doğrulanmaya ihtiyacı var',
'verify_email_sent' => 'Hesap doğrulama linki E-posta adresinize gönderildi.',
'verify_check_your_email' => 'İşlemlere devam etmeden önce doğrulama linki için e-posta adresinizi kontrol edin.',
'verify_if_not_recieved' => 'Eğer doğrulama e-postası adresinize ulaşmadıysa',
'verify_request_another' => 'buraya tıklayarak yeni bir doğrulama linki talep edebilirsiniz',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ANA MENÜ',
'blog' => 'Blog',
'pages' => 'Sayfalar',
'account_settings' => 'HESAP AYARLARI',
'profile' => 'Profil',
'change_password' => 'Parolanı değiştir',
'multilevel' => 'Çoklu Seviye',
'level_one' => 'Seviye 1',
'level_two' => 'Seviye 2',
'level_three' => 'Seviye 3',
'labels' => 'ETİKETLER',
'important' => 'Önemli',
'warning' => 'Uyarı',
'information' => 'Bilgi',
];

View File

@@ -0,0 +1,23 @@
<?php
return [
'full_name' => 'Повне і\'мя',
'email' => 'Пошта',
'password' => 'Пароль',
'retype_password' => 'Підтвердження пароля',
'remember_me' => 'Запам\'ятати мене',
'register' => 'Реєстрація',
'register_a_new_membership' => 'Реєстрація нового користувача',
'i_forgot_my_password' => 'Відновлення пароля',
'i_already_have_a_membership' => 'Я вже зареєстрований',
'sign_in' => 'Вхід',
'log_out' => 'Вихід',
'toggle_navigation' => 'Переключити навігацію',
'login_message' => 'Вхід до системи',
'register_message' => 'Реєстрація нового користувача',
'password_reset_message' => 'Відновлення пароля',
'reset_password' => 'Відновлення пароля',
'send_password_reset_link' => 'Відправити посилання для відновлення пароля',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ГОЛОВНЕ МЕНЮ',
'blog' => 'Блог',
'pages' => 'Сторінки',
'account_settings' => 'НАЛАШТУВАННЯ ПРОФІЛЮ',
'profile' => 'Профіль',
'change_password' => 'Змінити пароль',
'multilevel' => 'Багаторівневе меню',
'level_one' => 'Рівень 1',
'level_two' => 'Рівень 2',
'level_three' => 'Рівень 3',
'labels' => 'Мітки',
'important' => 'Важливо',
'warning' => 'Увага',
'information' => 'Інформація',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => 'Tên đầy đủ',
'email' => 'Email',
'password' => 'Mật khẩu',
'retype_password' => 'Nhập lại mật khẩu',
'remember_me' => 'Nhớ tôi',
'register' => 'Đăng ký',
'register_a_new_membership' => 'Đăng ký thành viên mới',
'i_forgot_my_password' => 'Tôi quên mật khẩu của tôi',
'i_already_have_a_membership' => 'Tôi đã là thành viên',
'sign_in' => 'Đăng nhập',
'log_out' => 'Đăng xuất',
'toggle_navigation' => 'Chuyển đổi điều hướng',
'login_message' => 'Đăng nhập để bắt đầu phiên của bạn',
'register_message' => 'Đăng ký thành viên mới',
'password_reset_message' => 'Đặt lại mật khẩu',
'reset_password' => 'Đặt lại mật khẩu',
'send_password_reset_link' => 'Gửi liên kết đặt lại mật khẩu',
];

View File

@@ -0,0 +1,19 @@
<?php
return [
'main_navigation' => 'ĐIỀU HƯỚNG CHÍNH',
'blog' => 'Blog',
'pages' => 'Trang',
'account_settings' => 'CÀI ĐẶT TÀI KHOẢN',
'profile' => 'Hồ sơ',
'change_password' => 'Đổi mật khẩu',
'multilevel' => 'Đa cấp',
'level_one' => 'Cấp độ 1',
'level_two' => 'Cấp độ 2',
'level_three' => 'Cấp độ 3',
'labels' => 'NHÃN',
'Important' => 'Quan trọng',
'Warning' => 'Cảnh báo',
'Information' => 'Thông tin',
];

View File

@@ -0,0 +1,22 @@
<?php
return [
'full_name' => '姓名',
'email' => '邮箱',
'password' => '密码',
'retype_password' => '重输密码',
'remember_me' => '记住我',
'register' => '注册',
'register_a_new_membership' => '注册新用户',
'i_forgot_my_password' => '忘记密码',
'i_already_have_a_membership' => '已经有账户',
'sign_in' => '登录',
'log_out' => '退出',
'toggle_navigation' => '切换导航',
'login_message' => '请先登录',
'register_message' => '注册新用户',
'password_reset_message' => '重置密码',
'reset_password' => '重置密码',
'send_password_reset_link' => '发送密码重置链接',
];

19
resources/sass/_variables.scss vendored Normal file
View File

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

View File

@@ -1 +1,8 @@
//
// Fonts
@import url('https://fonts.googleapis.com/css?family=Nunito');
// Variables
@import 'variables';
// Bootstrap
@import '~bootstrap/scss/bootstrap';

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -64,10 +64,10 @@
<a class="nav-link" href="#">Application Status</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Sign-in</a>
<a class="nav-link" href="login">Sign-in</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Register</a>
<a class="nav-link" href="register">Register</a>
</li>
</ul>
</div>

View File

@@ -0,0 +1,11 @@
@extends('adminlte::page')
@section('title', 'Raspberry Network Team Management')
@section('content_header')
<h1>Backoffice</h1>
@stop
@section('content')
<p>Welcome to this beautiful admin panel.</p>
@stop

View File

@@ -0,0 +1,83 @@
<!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 class="bg">
<div id="app">
<nav class="navbar navbar-expand-md navbar-dark navbar-style shadow-sm">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
Raspberry Network
</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 -->
<li class="nav-item">
<a class="nav-link" href="#">Application Status</a>
</li>
@guest
<li class="nav-item">
<a class="nav-link waves-effect waves-light" href="{{ route('login') }}">Sign-in</a>
</li>
@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>