Reorganize js resources

This commit is contained in:
Bubka 2020-01-18 18:19:37 +01:00
parent d8bb41a04a
commit 77d7134cb1
10 changed files with 43 additions and 290 deletions

View File

@ -56,7 +56,7 @@
|
*/
'jsPath' => '/resources/js/langs/',
'jsFile' => '/resources/js/vue-i18n-locales.generated.js',
'jsFile' => '/resources/js/langs/locales.js',
/*
|--------------------------------------------------------------------------

4
resources/js/app.js vendored
View File

@ -1,7 +1,7 @@
import Vue from 'vue'
import router from './routes/routes'
import router from './routes'
import i18n from './langs/i18n'
import axios from './packages/axios'
import i18n from './packages/i18n'
import FontAwesome from './packages/fontawesome'
import App from './components/App'

View File

@ -1,55 +0,0 @@
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.
*/
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
/**
* Next we will register the CSRF Token as a common header with Axios so that
* all outgoing HTTP requests automatically have it attached. This is just
* a simple convenience so we don't have to attach every token manually.
*/
let token = document.head.querySelector('meta[name="csrf-token"]');
if (token) {
window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
} else {
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}
/**
* Echo exposes an expressive API for subscribing to channels and listening
* for events that are broadcast by Laravel. Echo and event broadcasting
* allows your team to easily build robust real-time web applications.
*/
// import Echo from 'laravel-echo'
// window.Pusher = require('pusher-js');
// window.Echo = new Echo({
// broadcaster: 'pusher',
// key: process.env.MIX_PUSHER_APP_KEY,
// cluster: process.env.MIX_PUSHER_APP_CLUSTER,
// encrypted: true
// });

View File

@ -1,7 +1,6 @@
import Vue from 'vue'
import VueInternationalization from 'vue-i18n';
import Locale from './vue-i18n-locales.generated';
import Locale from './locales';
Vue.use(VueInternationalization);

View File

@ -1,5 +1,30 @@
import Vue from 'vue'
import router from '../routes/routes'
import axios from 'axios'
import router from '../routes'
/**
* 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.
*/
// window.axios = require('axios');
axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
/**
* Next we will register the CSRF Token as a common header with Axios so that
* all outgoing HTTP requests automatically have it attached. This is just
* a simple convenience so we don't have to attach every token manually.
*/
let csrfToken = document.head.querySelector('meta[name="csrf-token"]');
if (csrfToken) {
axios.defaults.headers.common['X-CSRF-TOKEN'] = csrfToken.content;
} else {
console.error('CSRF token not found: https://laravel.com/docs/csrf#csrf-x-csrf-token');
}
axios.interceptors.request.use(request => {

View File

@ -1,216 +0,0 @@
export default {
"en": {
"auth": {
"sign_out": "Sign out",
"sign_in": "Sign in",
"register": "Register",
"hello": "Hi {username} !",
"confirm": {
"logout": "Are you sure you want to log out?"
},
"forms": {
"name": "Name",
"login": "Login",
"email": "Email",
"password": "Password",
"confirm_password": "Confirm password",
"dont_have_account_yet": "Don't have your account yet?",
"already_register": "Already registered?",
"password_do_not_match": "Password do not match",
"forgot_your_password": "Forgot your password?",
"request_password_reset": "Request a password reset",
"reset_password": "Reset password",
"new_password": "New password",
"change_password": "Change password",
"send_password_reset_link": "Send password reset link"
}
},
"commons": {
"cancel": "Cancel"
},
"errors": {
"resource_not_found": "Resource not found",
"error_occured": "An error occured",
"already_one_user_registered": "There is already a registered user.",
"cannot_register_more_user": "You cannot register more than one user.",
"refresh": "refresh",
"please": "Please ",
"response": {
"no_valid_totp": "No valid TOTP resource in this QR code"
}
},
"pagination": {
"previous": "« Previous",
"next": "Next »"
},
"passwords": {
"password": "Passwords must be at least eight characters and match the confirmation.",
"reset": "Your password has been reset!",
"sent": "We have e-mailed your password reset link!",
"token": "This password reset token is invalid.",
"user": "We can't find a user with that e-mail address."
},
"twofaccounts": {
"service": "Service",
"account": "Account",
"icon": "Icon",
"new": "New",
"no_account_here": "No 2FA here!",
"add_one": "Add one",
"manage": "Manage",
"done": "Done",
"forms": {
"service": {
"placeholder": "example.com"
},
"account": {
"placeholder": "John DOE"
},
"new_account": "New account",
"edit_account": "Edit account",
"totp_uri": "TOTP Uri",
"use_qrcode": {
"val": "Use a qrcode",
"title": "Use a QR code to fill the form magically"
},
"unlock": {
"val": "Unlock",
"title": "Unlock it (at your own risk)"
},
"lock": {
"val": "Lock",
"title": "Lock it"
},
"choose_image": "Choose an image…",
"create": "Create",
"save": "Save"
},
"confirm": {
"delete": "Are you sure you want to delete this account?"
}
},
"validation": {
"accepted": "The {attribute} must be accepted.",
"active_url": "The {attribute} is not a valid URL.",
"after": "The {attribute} must be a date after {date}.",
"after_or_equal": "The {attribute} must be a date after or equal to {date}.",
"alpha": "The {attribute} may only contain letters.",
"alpha_dash": "The {attribute} may only contain letters, numbers, dashes and underscores.",
"alpha_num": "The {attribute} may only contain letters and numbers.",
"array": "The {attribute} must be an array.",
"before": "The {attribute} must be a date before {date}.",
"before_or_equal": "The {attribute} must be a date before or equal to {date}.",
"between": {
"numeric": "The {attribute} must be between {min} and {max}.",
"file": "The {attribute} must be between {min} and {max} kilobytes.",
"string": "The {attribute} must be between {min} and {max} characters.",
"array": "The {attribute} must have between {min} and {max} items."
},
"boolean": "The {attribute} field must be true or false.",
"confirmed": "The {attribute} confirmation does not match.",
"date": "The {attribute} is not a valid date.",
"date_equals": "The {attribute} must be a date equal to {date}.",
"date_format": "The {attribute} does not match the format {format}.",
"different": "The {attribute} and {other} must be different.",
"digits": "The {attribute} must be {digits} digits.",
"digits_between": "The {attribute} must be between {min} and {max} digits.",
"dimensions": "The {attribute} has invalid image dimensions.",
"distinct": "The {attribute} field has a duplicate value.",
"email": "The {attribute} must be a valid email address.",
"ends_with": "The {attribute} must end with one of the following: {values}",
"exists": "The selected {attribute} is invalid.",
"file": "The {attribute} must be a file.",
"filled": "The {attribute} field must have a value.",
"gt": {
"numeric": "The {attribute} must be greater than {value}.",
"file": "The {attribute} must be greater than {value} kilobytes.",
"string": "The {attribute} must be greater than {value} characters.",
"array": "The {attribute} must have more than {value} items."
},
"gte": {
"numeric": "The {attribute} must be greater than or equal {value}.",
"file": "The {attribute} must be greater than or equal {value} kilobytes.",
"string": "The {attribute} must be greater than or equal {value} characters.",
"array": "The {attribute} must have {value} items or more."
},
"image": "The {attribute} must be an image.",
"in": "The selected {attribute} is invalid.",
"in_array": "The {attribute} field does not exist in {other}.",
"integer": "The {attribute} must be an integer.",
"ip": "The {attribute} must be a valid IP address.",
"ipv4": "The {attribute} must be a valid IPv4 address.",
"ipv6": "The {attribute} must be a valid IPv6 address.",
"json": "The {attribute} must be a valid JSON string.",
"lt": {
"numeric": "The {attribute} must be less than {value}.",
"file": "The {attribute} must be less than {value} kilobytes.",
"string": "The {attribute} must be less than {value} characters.",
"array": "The {attribute} must have less than {value} items."
},
"lte": {
"numeric": "The {attribute} must be less than or equal {value}.",
"file": "The {attribute} must be less than or equal {value} kilobytes.",
"string": "The {attribute} must be less than or equal {value} characters.",
"array": "The {attribute} must not have more than {value} items."
},
"max": {
"numeric": "The {attribute} may not be greater than {max}.",
"file": "The {attribute} may not be greater than {max} kilobytes.",
"string": "The {attribute} may not be greater than {max} characters.",
"array": "The {attribute} may not have more than {max} items."
},
"mimes": "The {attribute} must be a file of type: {values}.",
"mimetypes": "The {attribute} must be a file of type: {values}.",
"min": {
"numeric": "The {attribute} must be at least {min}.",
"file": "The {attribute} must be at least {min} kilobytes.",
"string": "The {attribute} must be at least {min} characters.",
"array": "The {attribute} must have at least {min} items."
},
"not_in": "The selected {attribute} is invalid.",
"not_regex": "The {attribute} format is invalid.",
"numeric": "The {attribute} must be a number.",
"present": "The {attribute} field must be present.",
"regex": "The {attribute} format is invalid.",
"required": "The {attribute} field is required.",
"required_if": "The {attribute} field is required when {other} is {value}.",
"required_unless": "The {attribute} field is required unless {other} is in {values}.",
"required_with": "The {attribute} field is required when {values} is present.",
"required_with_all": "The {attribute} field is required when {values} are present.",
"required_without": "The {attribute} field is required when {values} is not present.",
"required_without_all": "The {attribute} field is required when none of {values} are present.",
"same": "The {attribute} and {other} must match.",
"size": {
"numeric": "The {attribute} must be {size}.",
"file": "The {attribute} must be {size} kilobytes.",
"string": "The {attribute} must be {size} characters.",
"array": "The {attribute} must contain {size} items."
},
"starts_with": "The {attribute} must start with one of the following: {values}",
"string": "The {attribute} must be a string.",
"timezone": "The {attribute} must be a valid zone.",
"unique": "The {attribute} has already been taken.",
"uploaded": "The {attribute} failed to upload.",
"url": "The {attribute} format is invalid.",
"uuid": "The {attribute} must be a valid UUID.",
"custom": {
"attribute-name": {
"rule-name": "custom-message"
},
"icon": {
"image": "Supported format are jpeg, png, bmp, gif, svg, or webp"
},
"qrcode": {
"image": "Supported format are jpeg, png, bmp, gif, svg, or webp"
},
"uri": {
"starts_with": "Only valid TOTP uri are supported"
},
"email": {
"exists": "No account found using this email"
}
},
"attributes": []
}
}
}

View File

@ -3,14 +3,14 @@ import Router from 'vue-router'
Vue.use(Router)
import Accounts from '../views/Accounts'
import Create from '../views/twofaccounts/Create'
import Edit from '../views/twofaccounts/Edit'
import Login from '../views/auth/Login'
import Register from '../views/auth/Register'
import PasswordRequest from '../views/auth/password/Request'
import PasswordReset from '../views/auth/password/Reset'
import NotFound from '../views/Error'
import Accounts from './views/Accounts'
import Create from './views/twofaccounts/Create'
import Edit from './views/twofaccounts/Edit'
import Login from './views/auth/Login'
import Register from './views/auth/Register'
import PasswordRequest from './views/auth/password/Request'
import PasswordReset from './views/auth/password/Reset'
import NotFound from './views/Error'
const router = new Router({
mode: 'history',

View File

@ -22,8 +22,8 @@
<div id="app">
<app></app>
</div>
<script src="{{ mix('js/bootstrap.js') }}"></script>
{{-- <script src="{{ mix('js/bootstrap.js') }}"></script> --}}
<script src="{{ mix('js/app.js') }}"></script>
<script src="{{ mix('js/vue-i18n-locales.generated.js') }}"></script>
<script src="{{ mix('js/locales.js') }}"></script>
</body>
</html>

4
webpack.mix.js vendored
View File

@ -12,8 +12,8 @@ const mix = require('laravel-mix');
*/
mix.js('resources/js/app.js', 'public/js')
.js('resources/js/bootstrap.js', 'public/js')
.js('resources/js/packages/vue-i18n-locales.generated.js', 'public/js')
// .js('resources/js/bootstrap.js', 'public/js')
.js('resources/js/langs/locales.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
if (mix.inProduction()) {