Upgrade frontend.

This commit is contained in:
James Cole
2021-04-02 22:33:31 +02:00
parent 6d979a68f2
commit 71785bae57
38 changed files with 1579 additions and 37121 deletions

View File

@@ -1,24 +1,25 @@
{
"/public/js/manifest.js": "/public/js/manifest.js",
"/public/js/manifest.js.map": "/public/js/manifest.js.map",
"/public/js/vendor.js": "/public/js/vendor.js",
"/public/js/vendor.js.map": "/public/js/vendor.js.map",
"/public/js/accounts/index.js": "/public/js/accounts/index.js",
"/public/js/accounts/index.js.map": "/public/js/accounts/index.js.map",
"/public/js/accounts/show.js": "/public/js/accounts/show.js",
"/public/js/accounts/show.js.map": "/public/js/accounts/show.js.map",
"/public/js/dashboard.js": "/public/js/dashboard.js",
"/public/css/app.css": "/public/css/app.css",
"/public/js/dashboard.js.map": "/public/js/dashboard.js.map",
"/public/css/app.css.map": "/public/css/app.css.map",
"/public/js/empty.js": "/public/js/empty.js",
"/public/js/empty.js.map": "/public/js/empty.js.map",
"/public/js/new-user/index.js": "/public/js/new-user/index.js",
"/public/js/new-user/index.js.map": "/public/js/new-user/index.js.map",
"/public/js/register.js": "/public/js/register.js",
"/public/js/register.js.map": "/public/js/register.js.map",
"/public/js/accounts/index.js": "/public/js/accounts/index.js",
"/public/js/accounts/show.js": "/public/js/accounts/show.js",
"/public/js/transactions/create.js": "/public/js/transactions/create.js",
"/public/js/transactions/create.js.map": "/public/js/transactions/create.js.map",
"/public/js/transactions/edit.js": "/public/js/transactions/edit.js",
"/public/js/transactions/edit.js.map": "/public/js/transactions/edit.js.map"
"/public/js/empty.js": "/public/js/empty.js",
"/public/js/register.js": "/public/js/register.js",
"/public/js/manifest.js": "/public/js/manifest.js",
"/public/css/app.css": "/public/css/app.css",
"/public/js/vendor.js": "/public/js/vendor.js",
"/public/v2/js/dashboard.js": "/public/v2/js/dashboard.js",
"/public/v2/js/dashboard.js.map": "/public/v2/js/dashboard.js.map",
"/public/v2/js/empty.js": "/public/v2/js/empty.js",
"/public/v2/js/empty.js.map": "/public/v2/js/empty.js.map",
"/public/v2/js/manifest.js": "/public/v2/js/manifest.js",
"/public/v2/js/manifest.js.map": "/public/v2/js/manifest.js.map",
"/public/v2/js/register.js": "/public/v2/js/register.js",
"/public/v2/js/register.js.map": "/public/v2/js/register.js.map",
"/public/v2/js/vendor.js": "/public/v2/js/vendor.js",
"/public/v2/js/vendor.js.LICENSE.txt": "/public/v2/js/vendor.js.LICENSE.txt",
"/public/v2/js/vendor.js.map": "/public/v2/js/vendor.js.map",
"/public/v2/css/app.css": "/public/v2/css/app.css",
"/public/v2/css/app.css.map": "/public/v2/css/app.css.map"
}

View File

@@ -2,50 +2,41 @@
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js",
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
"production": "mix --production"
},
"devDependencies": {
"admin-lte": "^3.0",
"axios": "^0.21",
"cross-env": "^7.0",
"laravel-mix": "^5.0.9",
"laravel-mix-bundle-analyzer": "^1.0.5",
"lodash": "^4.17.21",
"laravel-mix": "^6.0.6",
"lodash": "^4.17.19",
"lodash.clonedeep": "^4.5.0",
"node-forge": ">=0.10.0",
"postcss": "^8.1.14",
"resolve-url-loader": "^3.1.2",
"sass": "^1.32.8",
"sass-loader": "^10.1.1",
"sortablejs": "^1.13.0",
"vue": "^2.6.12",
"vue-chartjs": "^3.5.1",
"vue-i18n": "^8.22.2",
"vue-router": "^3.4.9",
"vue-simple-suggest": "^1.10.3",
"sass-loader": "^11.0.1",
"vue-i18n": "^8.24.2",
"vue-loader": "^15.9.5",
"vue-template-compiler": "^2.6.12",
"vue-typeahead-bootstrap": "^2.5.5",
"vue2-leaflet": "^2.6.0",
"vuex": "^3.6.0"
"vuex": "^3.6.2",
"webpack": "^5.30.0"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.1",
"@johmun/vue-tags-input": "^2.1.0",
"@popperjs/core": "^2.8.6",
"@fortawesome/fontawesome-free": "^5.15.3",
"admin-lte": "^3.1.0",
"bootstrap": "^4.6.0",
"bootstrap-vue": "^2.21.2",
"chart.js": "^2.9.4",
"icheck-bootstrap": "^3.0.1",
"jquery": "^3.5.1",
"jquery-ui": "^1.12.1",
"leaflet": "^1.7.1",
"overlayscrollbars": "^1.13.1",
"popper.js": "^1.16.1",
"tempusdominus": "^5.16.0",
"v-calendar": "^2.2.4"
"sortablejs": "^1.13.0",
"v-calendar": "^2.3.0",
"vue-chartjs": "^3.5.1",
"vue-typeahead-bootstrap": "^2.8.0",
"vue2-leaflet": "^2.7.0"
}
}

12
frontend/src/app.scss vendored
View File

@@ -1,6 +1,6 @@
/*!
* app.scss
* Copyright (c) 2020 james@firefly-iii.org
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
@@ -18,8 +18,12 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
// Firefly III colors (?)
@import 'scss/variables';
$blue: #1E6581;
$green: #64B624;
$red: #CD5029;
// Fonts
@@ -40,7 +44,7 @@
@import '~admin-lte/build/scss/bootstrap-variables';
@import '~bootstrap/scss/bootstrap';
@import '~bootstrap-vue/src/index.scss';
@import '~bootstrap-vue/src/index';
// Variables and Mixins
// ---------------------------------------------------
@@ -74,7 +78,7 @@
//@import '../social-widgets';
// admin LTE pages (unused)
@import '~admin-lte/build/scss/parts/pages';
@import '~admin-lte/build/scss/parts/pages';
// admin LTE plugins (unused)
// @import 'parts/plugins';

View File

@@ -1,6 +1,6 @@
/*
* bootstrap.js
* Copyright (c) 2020 james@firefly-iii.org
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
@@ -52,7 +52,7 @@ if (localeToken) {
require('jquery-ui');
require('bootstrap'); // bootstrap CSS?
require('./dist/js/adminlte');
require('admin-lte/dist/js/adminlte');
require('overlayscrollbars');

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
/*
* dashboard.js
* Copyright (c) 2020 james@firefly-iii.org
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
@@ -18,21 +18,22 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import Dashboard from "../components/dashboard/Dashboard";
import TopBoxes from "../components/dashboard/TopBoxes";
import MainAccount from "../components/dashboard/MainAccount";
import MainAccountList from "../components/dashboard/MainAccountList";
import MainBillsList from "../components/dashboard/MainBillsList";
import MainBudgetList from "../components/dashboard/MainBudgetList";
import MainCreditList from "../components/dashboard/MainCreditList";
import MainDebitList from "../components/dashboard/MainDebitList";
import MainPiggyList from "../components/dashboard/MainPiggyList";
import TransactionListLarge from "../components/transactions/TransactionListLarge";
import TransactionListMedium from "../components/transactions/TransactionListMedium";
import TransactionListSmall from "../components/transactions/TransactionListSmall";
import Calendar from "../components/dashboard/Calendar";
import MainCategoryList from "../components/dashboard/MainCategoryList";
import Vue from "vue";
import Dashboard from '../components/dashboard/Dashboard';
import TopBoxes from '../components/dashboard/TopBoxes';
import MainAccount from '../components/dashboard/MainAccount';
import MainAccountList from '../components/dashboard/MainAccountList';
import MainBillsList from '../components/dashboard/MainBillsList';
import MainBudgetList from '../components/dashboard/MainBudgetList';
import MainCreditList from '../components/dashboard/MainCreditList';
import MainDebitList from '../components/dashboard/MainDebitList';
import MainPiggyList from '../components/dashboard/MainPiggyList';
import TransactionListLarge from '../components/transactions/TransactionListLarge';
import TransactionListMedium from '../components/transactions/TransactionListMedium';
import TransactionListSmall from '../components/transactions/TransactionListSmall';
import Calendar from '../components/dashboard/Calendar';
import MainCategoryList from '../components/dashboard/MainCategoryList';
import Vue from 'vue';
import Vuex from 'vuex'
import store from '../components/store';
@@ -70,7 +71,7 @@ let props = {};
new Vue({
i18n,
store,
el: "#dashboard",
el: '#dashboard',
render: (createElement) => {
return createElement(Dashboard, {props: props});
},

View File

@@ -1,6 +1,6 @@
/*
* dashboard.js
* Copyright (c) 2020 james@firefly-iii.org
* empty.js
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
@@ -18,10 +18,4 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
/**
* First we will load Axios via bootstrap.js
* jquery and bootstrap-sass preloaded in app.js
* vue, uiv and vuei18n are in app_vue.js
*/
require('../bootstrap');

View File

@@ -1,23 +0,0 @@
/*!
* _variables.scss
* Copyright (c) 2021 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
$blue: #1E6581;
$green: #64B624;
$red: #CD5029;

View File

@@ -1,27 +1,19 @@
const mix = require('laravel-mix');
/*
* webpack.mix.js
* Copyright (c) 2020 james@firefly-iii.org
*
* This file is part of Firefly III (https://github.com/firefly-iii).
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel applications. By default, we are compiling the CSS
| file for the application as well as bundling up all the JS files.
|
*/
const mix = require('laravel-mix');
require('laravel-mix-bundle-analyzer');
// production
// require('laravel-mix-bundle-analyzer');
mix.webpackConfig({
resolve: {
alias: {
@@ -30,50 +22,35 @@ mix.webpackConfig({
}
});
mix
// AUTO LOAD
// .autoload({
// jquery: ['$', 'window.jQuery','jQuery']
// })
// MIX IN CLASSIC SCRIPT
// .babel([
// '../resources/assets/js/v2/classic/adminlte.js',
// ], 'public/v2/js/classic.js')
// MIX IN CLASSIC SCRIPT
// .scripts([
// '../resources/assets/js/v2/classic/adminlte.js',
// ], 'public/v2/js/classic.js')
// COPY SCRIPT
//.copy('../resources/assets/js/v2/classic/adminlte.js', 'public/v2/js/classic.js')
// misc pages
.js('src/pages/dashboard.js', 'public/js')
.js('src/pages/empty.js', 'public/js')
.js('src/pages/new-user/index.js', 'public/js/new-user')
// accounts.
.js('src/pages/accounts/index.js', 'public/js/accounts')
.js('src/pages/accounts/show.js', 'public/js/accounts')
// transactions.
.js('src/pages/transactions/create.js', 'public/js/transactions')
.js('src/pages/transactions/edit.js', 'public/js/transactions')
// register page
.js('src/pages/register.js', 'public/js')
.extract().sourceMaps()
.sass('src/app.scss', 'public/css')
// move to right dir
.copy('public/js','../public/v2/js')
// dashboard and empty page
mix.js('src/pages/dashboard.js', 'public/js').vue();
// accounts.
mix.js('src/pages/accounts/index.js', 'public/js/accounts').vue();
mix.js('src/pages/accounts/show.js', 'public/js/accounts').vue();
// transactions.
mix.js('src/pages/transactions/create.js', 'public/js/transactions')
mix.js('src/pages/transactions/edit.js', 'public/js/transactions')
// static pages
mix.js('src/pages/empty.js', 'public/js').vue();
mix.js('src/pages/register.js', 'public/js')
mix.extract().sourceMaps();
mix.sass('src/app.scss', 'public/css', [
//
]);
// move to right dir
mix.copy('public/js','../public/v2/js')
.copy('fonts','../public/fonts')
.copy('images','../public/images')
.copy('public/css','../public/v2/css')
;
.copy('public/css','../public/v2/css');

File diff suppressed because it is too large Load Diff