mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-09-19 02:45:58 +00:00
Some new code for the new layout.
This commit is contained in:
154
package-lock.json
generated
154
package-lock.json
generated
@@ -522,6 +522,17 @@
|
||||
"babel-types": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-builder-react-jsx": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz",
|
||||
"integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-runtime": "6.26.0",
|
||||
"babel-types": "6.26.0",
|
||||
"esutils": "2.0.2"
|
||||
}
|
||||
},
|
||||
"babel-helper-call-delegate": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz",
|
||||
@@ -689,6 +700,18 @@
|
||||
"integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-flow": {
|
||||
"version": "6.18.0",
|
||||
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz",
|
||||
"integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-jsx": {
|
||||
"version": "6.18.0",
|
||||
"resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz",
|
||||
"integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=",
|
||||
"dev": true
|
||||
},
|
||||
"babel-plugin-syntax-object-rest-spread": {
|
||||
"version": "6.13.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz",
|
||||
@@ -957,6 +980,16 @@
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-flow-strip-types": {
|
||||
"version": "6.22.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz",
|
||||
"integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-syntax-flow": "6.18.0",
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-object-rest-spread": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz",
|
||||
@@ -967,6 +1000,46 @@
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-react-display-name": {
|
||||
"version": "6.25.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz",
|
||||
"integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-react-jsx": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz",
|
||||
"integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-helper-builder-react-jsx": "6.26.0",
|
||||
"babel-plugin-syntax-jsx": "6.18.0",
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-react-jsx-self": {
|
||||
"version": "6.22.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz",
|
||||
"integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-syntax-jsx": "6.18.0",
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-react-jsx-source": {
|
||||
"version": "6.22.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz",
|
||||
"integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-syntax-jsx": "6.18.0",
|
||||
"babel-runtime": "6.26.0"
|
||||
}
|
||||
},
|
||||
"babel-plugin-transform-regenerator": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz",
|
||||
@@ -1033,6 +1106,29 @@
|
||||
"semver": "5.5.0"
|
||||
}
|
||||
},
|
||||
"babel-preset-flow": {
|
||||
"version": "6.23.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz",
|
||||
"integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-transform-flow-strip-types": "6.22.0"
|
||||
}
|
||||
},
|
||||
"babel-preset-react": {
|
||||
"version": "6.24.1",
|
||||
"resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz",
|
||||
"integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"babel-plugin-syntax-jsx": "6.18.0",
|
||||
"babel-plugin-transform-react-display-name": "6.25.0",
|
||||
"babel-plugin-transform-react-jsx": "6.24.1",
|
||||
"babel-plugin-transform-react-jsx-self": "6.22.0",
|
||||
"babel-plugin-transform-react-jsx-source": "6.22.0",
|
||||
"babel-preset-flow": "6.23.0"
|
||||
}
|
||||
},
|
||||
"babel-register": {
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
|
||||
@@ -1365,10 +1461,10 @@
|
||||
"hoek": "2.16.3"
|
||||
}
|
||||
},
|
||||
"bootstrap-sass": {
|
||||
"version": "3.3.7",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap-sass/-/bootstrap-sass-3.3.7.tgz",
|
||||
"integrity": "sha1-ZZbHq0D2Y3OTMjqwvIDQZPxjBJg=",
|
||||
"bootstrap": {
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.2.1.tgz",
|
||||
"integrity": "sha512-tt/7vIv3Gm2mnd/WeDx36nfGGHleil0Wg8IeB7eMrVkY0fZ5iTaBisSh8oNANc2IBsCc6vCgCNTIM/IEN0+50Q==",
|
||||
"dev": true
|
||||
},
|
||||
"brace-expansion": {
|
||||
@@ -10073,6 +10169,16 @@
|
||||
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
|
||||
"dev": true
|
||||
},
|
||||
"prop-types": {
|
||||
"version": "15.6.2",
|
||||
"resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
|
||||
"integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "1.3.1",
|
||||
"object-assign": "4.1.1"
|
||||
}
|
||||
},
|
||||
"proxy-addr": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz",
|
||||
@@ -10285,6 +10391,30 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"react": {
|
||||
"version": "16.7.0",
|
||||
"resolved": "https://registry.npmjs.org/react/-/react-16.7.0.tgz",
|
||||
"integrity": "sha512-StCz3QY8lxTb5cl2HJxjwLFOXPIFQp+p+hxQfc8WE0QiLfCtIlKj8/+5tjjKm8uSTlAW+fCPaavGFS06V9Ar3A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "1.3.1",
|
||||
"object-assign": "4.1.1",
|
||||
"prop-types": "15.6.2",
|
||||
"scheduler": "0.12.0"
|
||||
}
|
||||
},
|
||||
"react-dom": {
|
||||
"version": "16.7.0",
|
||||
"resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.7.0.tgz",
|
||||
"integrity": "sha512-D0Ufv1ExCAmF38P2Uh1lwpminZFRXEINJe53zRAbm4KPwSyd6DY/uDoS0Blj9jvPpn1+wivKpZYc8aAAN/nAkg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "1.3.1",
|
||||
"object-assign": "4.1.1",
|
||||
"prop-types": "15.6.2",
|
||||
"scheduler": "0.12.0"
|
||||
}
|
||||
},
|
||||
"read-all-stream": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz",
|
||||
@@ -10796,6 +10926,16 @@
|
||||
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
|
||||
"dev": true
|
||||
},
|
||||
"scheduler": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.12.0.tgz",
|
||||
"integrity": "sha512-t7MBR28Akcp4Jm+QoR63XgAi9YgCUmgvDHqf5otgAj4QvdoBE4ImCX0ffehefePPG+aitiYHp0g/mW6s4Tp+dw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loose-envify": "1.3.1",
|
||||
"object-assign": "4.1.1"
|
||||
}
|
||||
},
|
||||
"schema-utils": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz",
|
||||
@@ -12795,12 +12935,6 @@
|
||||
"indexof": "0.0.1"
|
||||
}
|
||||
},
|
||||
"vue": {
|
||||
"version": "2.5.13",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.5.13.tgz",
|
||||
"integrity": "sha512-3D+lY7HTkKbtswDM4BBHgqyq+qo8IAEE8lz8va1dz3LLmttjgo0FxairO4r1iN2OBqk8o1FyL4hvzzTFEdQSEw==",
|
||||
"dev": true
|
||||
},
|
||||
"vue-hot-reload-api": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.2.4.tgz",
|
||||
|
23
package.json
Executable file → Normal file
23
package.json
Executable file → Normal file
@@ -3,22 +3,25 @@
|
||||
"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": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --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 --config=node_modules/laravel-mix/setup/webpack.config.js",
|
||||
"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"
|
||||
},
|
||||
"devDependencies": {
|
||||
"axios": "^0.17",
|
||||
"bootstrap-sass": "^3.3.7",
|
||||
"axios": "^0.18",
|
||||
"babel-preset-react": "^6.23.0",
|
||||
"bootstrap": "^4.0.0",
|
||||
"cross-env": "^5.1",
|
||||
"jquery": "^3.1.1",
|
||||
"laravel-mix": "^1.0",
|
||||
"lodash": "^4.17.4",
|
||||
"vue": "^2.5.7"
|
||||
},
|
||||
"dependencies": {
|
||||
"font-awesome": "^4.7.0"
|
||||
"jquery": "^3.2",
|
||||
"laravel-mix": "^4.0.7",
|
||||
"lodash": "^4.17.5",
|
||||
"popper.js": "^1.12",
|
||||
"react": "^16.2.0",
|
||||
"react-dom": "^16.2.0",
|
||||
"resolve-url-loader": "^2.3.1",
|
||||
"sass": "^1.15.2",
|
||||
"sass-loader": "^7.1.0"
|
||||
}
|
||||
}
|
||||
|
BIN
public/v2/assets/images/basic-logo-ff3.png
Normal file
BIN
public/v2/assets/images/basic-logo-ff3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
20
public/v2/assets/js/dashboard.js
vendored
20
public/v2/assets/js/dashboard.js
vendored
@@ -9,16 +9,16 @@ shim: {
|
||||
'core': ['bootstrap', 'jquery'],
|
||||
},
|
||||
paths: {
|
||||
'core': 'assets/js/core',
|
||||
'jquery': 'assets/js/vendors/jquery-3.2.1.min',
|
||||
'bootstrap': 'assets/js/vendors/bootstrap.bundle.min',
|
||||
'sparkline': 'assets/js/vendors/jquery.sparkline.min',
|
||||
'selectize': 'assets/js/vendors/selectize.min',
|
||||
'tablesorter': 'assets/js/vendors/jquery.tablesorter.min',
|
||||
'vector-map': 'assets/js/vendors/jquery-jvectormap-2.0.3.min',
|
||||
'vector-map-de': 'assets/js/vendors/jquery-jvectormap-de-merc',
|
||||
'vector-map-world': 'assets/js/vendors/jquery-jvectormap-world-mill',
|
||||
'circle-progress': 'assets/js/vendors/circle-progress.min',
|
||||
'core': 'v2/assets/js/core',
|
||||
'jquery': 'v2/assets/js/vendors/jquery-3.2.1.min',
|
||||
'bootstrap': 'v2/assets/js/vendors/bootstrap.bundle.min',
|
||||
'sparkline': 'v2/assets/js/vendors/jquery.sparkline.min',
|
||||
'selectize': 'v2/assets/js/vendors/selectize.min',
|
||||
'tablesorter': 'v2/assets/js/vendors/jquery.tablesorter.min',
|
||||
'vector-map': 'v2/assets/js/vendors/jquery-jvectormap-2.0.3.min',
|
||||
'vector-map-de': 'v2/assets/js/vendors/jquery-jvectormap-de-merc',
|
||||
'vector-map-world': 'v2/assets/js/vendors/jquery-jvectormap-world-mill',
|
||||
'circle-progress': 'v2/assets/js/vendors/circle-progress.min',
|
||||
}
|
||||
});
|
||||
window.tabler = {
|
||||
|
4
public/v2/assets/plugins/charts-c3/plugin.js
vendored
4
public/v2/assets/plugins/charts-c3/plugin.js
vendored
@@ -4,7 +4,7 @@ require.config({
|
||||
'd3': ['core'],
|
||||
},
|
||||
paths: {
|
||||
'd3': 'assets/plugins/charts-c3/js/d3.v3.min',
|
||||
'c3': 'assets/plugins/charts-c3/js/c3.min',
|
||||
'd3': 'v2/assets/plugins/charts-c3/js/d3.v3.min',
|
||||
'c3': 'v2/assets/plugins/charts-c3/js/c3.min',
|
||||
}
|
||||
});
|
@@ -3,6 +3,6 @@ require.config({
|
||||
'input-mask': ['jquery', 'core']
|
||||
},
|
||||
paths: {
|
||||
'input-mask': 'assets/plugins/input-mask/js/jquery.mask.min'
|
||||
'input-mask': 'v2/assets/plugins/input-mask/js/jquery.mask.min'
|
||||
}
|
||||
});
|
16
resources/js/app.js
vendored
Normal file
16
resources/js/app.js
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
|
||||
/**
|
||||
* First we will load all of this project's JavaScript dependencies which
|
||||
* includes React and other helpers. It's a great starting point while
|
||||
* building robust, powerful web applications using React + Laravel.
|
||||
*/
|
||||
|
||||
require('./bootstrap');
|
||||
|
||||
/**
|
||||
* Next, we will create a fresh React component 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.
|
||||
*/
|
||||
|
||||
require('./components/Example');
|
56
resources/js/bootstrap.js
vendored
Normal file
56
resources/js/bootstrap.js
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
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
|
||||
// });
|
26
resources/js/components/Example.js
vendored
Normal file
26
resources/js/components/Example.js
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
import React, { Component } from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
|
||||
export default class Example extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div className="container">
|
||||
<div className="row justify-content-center">
|
||||
<div className="col-md-8">
|
||||
<div className="card">
|
||||
<div className="card-header">Example Component</div>
|
||||
|
||||
<div className="card-body">
|
||||
I'm an example component!
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (document.getElementById('example')) {
|
||||
ReactDOM.render(<Example />, document.getElementById('example'));
|
||||
}
|
@@ -41,6 +41,7 @@ return [
|
||||
'cancel' => 'Cancel',
|
||||
'from' => 'From',
|
||||
'to' => 'To',
|
||||
'structure' => 'Structure',
|
||||
'help_translating' => 'This help text is not yet available in your language. <a href="https://crowdin.com/project/firefly-iii-help">Will you help translate?</a>',
|
||||
'showEverything' => 'Show everything',
|
||||
'never' => 'Never',
|
||||
@@ -113,6 +114,7 @@ return [
|
||||
'cannot_redirect_to_account' => 'Firefly III cannot redirect you to the correct page. Apologies.',
|
||||
'sum_of_expenses' => 'Sum of expenses',
|
||||
'sum_of_income' => 'Sum of income',
|
||||
'liabilities' => 'Liabilities',
|
||||
'spent_in_specific_budget' => 'Spent in budget ":budget"',
|
||||
'sum_of_expenses_in_budget' => 'Spent total in budget ":budget"',
|
||||
'left_in_budget_limit' => 'Left to spend according to budgeting',
|
||||
@@ -913,7 +915,10 @@ return [
|
||||
'income' => 'Revenue / income',
|
||||
'transfers' => 'Transfers',
|
||||
'moneyManagement' => 'Money management',
|
||||
'money_management' => 'Money management',
|
||||
'tools' => 'Tools',
|
||||
'piggyBanks' => 'Piggy banks',
|
||||
'piggy_banks' => 'Piggy banks',
|
||||
'bills' => 'Bills',
|
||||
'withdrawal' => 'Withdrawal',
|
||||
'opening_balance' => 'Opening balance',
|
||||
|
@@ -1,6 +1,8 @@
|
||||
{% extends "./layout/default" %}
|
||||
{% block content %}
|
||||
<div class="row row-cards">
|
||||
|
||||
|
||||
<div class="col-6 col-sm-4 col-lg-2">
|
||||
<div class="card">
|
||||
<div class="card-body p-3 text-center">
|
||||
@@ -73,6 +75,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
|
@@ -20,8 +20,8 @@
|
||||
|
||||
Firefly III
|
||||
</title>
|
||||
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300i,400,400i,500,500i,600,600i,700,700i&subset=latin-ext">
|
||||
<link rel="stylesheet" href="v2/lib/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<link rel="stylesheet" href="v2/assets/css/gf-source.css">
|
||||
<script src="v2/assets/js/require.min.js"></script>
|
||||
<script>
|
||||
requirejs.config({
|
||||
@@ -46,79 +46,8 @@
|
||||
<div class="header py-4">
|
||||
<div class="container">
|
||||
<div class="d-flex">
|
||||
<a class="header-brand" href="./index.html">
|
||||
<img src="v2/demo/brand/tabler.svg" class="header-brand-img" alt="tabler logo">
|
||||
</a>
|
||||
<div class="d-flex order-lg-2 ml-auto">
|
||||
<div class="nav-item d-none d-md-flex">
|
||||
<a href="https://github.com/tabler/tabler" class="btn btn-sm btn-outline-primary" target="_blank">Source code</a>
|
||||
</div>
|
||||
<div class="dropdown d-none d-md-flex">
|
||||
<a class="nav-link icon" data-toggle="dropdown">
|
||||
<i class="fe fe-bell"></i>
|
||||
<span class="nav-unread"></span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
|
||||
<a href="#" class="dropdown-item d-flex">
|
||||
<span class="avatar mr-3 align-self-center" style="background-image: url(demo/faces/male/41.jpg)"></span>
|
||||
<div>
|
||||
<strong>Nathan</strong> pushed new commit: Fix page load performance issue.
|
||||
<div class="small text-muted">10 minutes ago</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="#" class="dropdown-item d-flex">
|
||||
<span class="avatar mr-3 align-self-center" style="background-image: url(demo/faces/female/1.jpg)"></span>
|
||||
<div>
|
||||
<strong>Alice</strong> started new task: Tabler UI design.
|
||||
<div class="small text-muted">1 hour ago</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="#" class="dropdown-item d-flex">
|
||||
<span class="avatar mr-3 align-self-center" style="background-image: url(demo/faces/female/18.jpg)"></span>
|
||||
<div>
|
||||
<strong>Rose</strong> deployed new version of NodeJS REST Api V3
|
||||
<div class="small text-muted">2 hours ago</div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="#" class="dropdown-item text-center text-muted-dark">Mark all as read</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dropdown">
|
||||
<a href="#" class="nav-link pr-0 leading-none" data-toggle="dropdown">
|
||||
<span class="avatar" style="background-image: url(./demo/faces/female/25.jpg)"></span>
|
||||
<span class="ml-2 d-none d-lg-block">
|
||||
<span class="text-default">Jane Pearson</span>
|
||||
<small class="text-muted d-block mt-1">Administrator</small>
|
||||
</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-user"></i> Profile
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-settings"></i> Settings
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<span class="float-right"><span class="badge badge-primary">6</span></span>
|
||||
<i class="dropdown-icon fe fe-mail"></i> Inbox
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-send"></i> Message
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-help-circle"></i> Need help?
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-log-out"></i> Sign out
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="header-toggler d-lg-none ml-3 ml-lg-0" data-toggle="collapse" data-target="#headerMenuCollapse">
|
||||
<span class="header-toggler-icon"></span>
|
||||
</a>
|
||||
{# favicons #}
|
||||
{% include('partials.top_bar') %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -126,64 +55,16 @@
|
||||
<div class="container">
|
||||
<div class="row align-items-center">
|
||||
<div class="col-lg-3 ml-auto">
|
||||
<form class="input-icon my-3 my-lg-0">
|
||||
<input type="search" class="form-control header-search" placeholder="Search…" tabindex="1">
|
||||
<form class="input-icon my-3 my-lg-0" action="{{ route('search.index') }}" method="get">
|
||||
<input type="search" class="form-control header-search" placeholder="Search…" name="q" tabindex="1">
|
||||
<div class="input-icon-addon">
|
||||
<i class="fe fe-search"></i>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="col-lg order-lg-first">
|
||||
<ul class="nav nav-tabs border-0 flex-column flex-lg-row">
|
||||
<li class="nav-item">
|
||||
<a href="./index.html" class="nav-link active"><i class="fe fe-home"></i> Home</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fe fe-box"></i> Interface</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="./cards.html" class="dropdown-item ">Cards design</a>
|
||||
<a href="./charts.html" class="dropdown-item ">Charts</a>
|
||||
<a href="./pricing-cards.html" class="dropdown-item ">Pricing cards</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fe fe-calendar"></i> Components</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="./maps.html" class="dropdown-item ">Maps</a>
|
||||
<a href="./icons.html" class="dropdown-item ">Icons</a>
|
||||
<a href="./store.html" class="dropdown-item ">Store</a>
|
||||
<a href="./blog.html" class="dropdown-item ">Blog</a>
|
||||
<a href="./carousel.html" class="dropdown-item ">Carousel</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fe fe-file"></i> Pages</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="./profile.html" class="dropdown-item ">Profile</a>
|
||||
<a href="./login.html" class="dropdown-item ">Login</a>
|
||||
<a href="./register.html" class="dropdown-item ">Register</a>
|
||||
<a href="./forgot-password.html" class="dropdown-item ">Forgot password</a>
|
||||
<a href="./400.html" class="dropdown-item ">400 error</a>
|
||||
<a href="./401.html" class="dropdown-item ">401 error</a>
|
||||
<a href="./403.html" class="dropdown-item ">403 error</a>
|
||||
<a href="./404.html" class="dropdown-item ">404 error</a>
|
||||
<a href="./500.html" class="dropdown-item ">500 error</a>
|
||||
<a href="./503.html" class="dropdown-item ">503 error</a>
|
||||
<a href="./email.html" class="dropdown-item ">Email</a>
|
||||
<a href="./empty.html" class="dropdown-item ">Empty page</a>
|
||||
<a href="./rtl.html" class="dropdown-item ">RTL mode</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a href="./form-elements.html" class="nav-link"><i class="fe fe-check-square"></i> Forms</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="./gallery.html" class="nav-link"><i class="fe fe-image"></i> Gallery</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="./docs/index.html" class="nav-link"><i class="fe fe-file-text"></i> Documentation</a>
|
||||
</li>
|
||||
</ul>
|
||||
{# favicons #}
|
||||
{% include('partials.top_menu') %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -192,7 +73,8 @@
|
||||
<div class="container">
|
||||
<div class="page-header">
|
||||
<h1 class="page-title">
|
||||
Dashboard
|
||||
{{ title }}
|
||||
<small class="text-muted">{{ subTitle }}</small>
|
||||
</h1>
|
||||
</div>
|
||||
{% block content %}{% endblock %}
|
||||
|
0
resources/views/v2/partials/index_boxes.twig
Normal file
0
resources/views/v2/partials/index_boxes.twig
Normal file
88
resources/views/v2/partials/top_bar.twig
Normal file
88
resources/views/v2/partials/top_bar.twig
Normal file
@@ -0,0 +1,88 @@
|
||||
<a class="header-brand" href="{{ route('index') }}">
|
||||
<img src="v2/assets/images/basic-logo-ff3.png" class="header-brand-img" alt="Firefly III">
|
||||
</a>
|
||||
<div class="d-flex order-lg-2 ml-auto">
|
||||
|
||||
{# SOURCE CODE LINK #}
|
||||
{#
|
||||
<div class="nav-item d-none d-md-flex">
|
||||
<a href="https://github.com/tabler/tabler" class="btn btn-sm btn-outline-primary" target="_blank">Source code</a>
|
||||
</div>
|
||||
#}
|
||||
|
||||
{# TOP MENU WITH ALERTS, NOT IN USE #}
|
||||
{#
|
||||
<div class="dropdown d-none d-md-flex">
|
||||
<a class="nav-link icon" data-toggle="dropdown">
|
||||
<i class="fe fe-bell"></i>
|
||||
<span class="nav-unread"></span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
|
||||
<a href="#" class="dropdown-item d-flex">
|
||||
<span class="avatar mr-3 align-self-center" style="background-image: url(demo/faces/male/41.jpg)"></span>
|
||||
<div>
|
||||
<strong>Nathan</strong> pushed new commit: Fix page load performance issue.
|
||||
<div class="small text-muted">10 minutes ago</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="#" class="dropdown-item d-flex">
|
||||
<span class="avatar mr-3 align-self-center" style="background-image: url(demo/faces/female/1.jpg)"></span>
|
||||
<div>
|
||||
<strong>Alice</strong> started new task: Tabler UI design.
|
||||
<div class="small text-muted">1 hour ago</div>
|
||||
</div>
|
||||
</a>
|
||||
<a href="#" class="dropdown-item d-flex">
|
||||
<span class="avatar mr-3 align-self-center" style="background-image: url(demo/faces/female/18.jpg)"></span>
|
||||
<div>
|
||||
<strong>Rose</strong> deployed new version of NodeJS REST Api V3
|
||||
<div class="small text-muted">2 hours ago</div>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a href="#" class="dropdown-item text-center text-muted-dark">Mark all as read</a>
|
||||
</div>
|
||||
</div>
|
||||
#}
|
||||
<div class="dropdown">
|
||||
<a href="#" class="nav-link pr-0 leading-none" data-toggle="dropdown">
|
||||
<span class="avatar" {#style="background-image: url(./demo/faces/female/25.jpg)"#}></span>
|
||||
<span class="ml-2 d-none d-lg-block">
|
||||
|
||||
<span class="text-default">{{ Auth.user.email }}</span>
|
||||
<small class="text-muted d-block mt-1">USER ROLE</small>
|
||||
</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-menu-arrow">
|
||||
<a class="dropdown-item" href="{{ route('profile.index') }}">
|
||||
<i class="dropdown-icon fa fa-user"></i> {{ 'profile'|_ }}
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fa fa-gear"></i> {{ 'preferences'|_ }}
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fa fa-hand-spock-o"></i> {{ 'administration'|_ }}
|
||||
</a>
|
||||
{#
|
||||
<a class="dropdown-item" href="#">
|
||||
<span class="float-right"><span class="badge badge-primary">6</span></span>
|
||||
<i class="dropdown-icon fe fe-mail"></i> Inbox
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-send"></i> Message
|
||||
</a>
|
||||
#}
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-help-circle"></i> {{ 'need_help'|_ }}
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="dropdown-icon fe fe-log-out"></i> {{ 'logout'|_ }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="header-toggler d-lg-none ml-3 ml-lg-0" data-toggle="collapse" data-target="#headerMenuCollapse">
|
||||
<span class="header-toggler-icon"></span>
|
||||
</a>
|
49
resources/views/v2/partials/top_menu.twig
Normal file
49
resources/views/v2/partials/top_menu.twig
Normal file
@@ -0,0 +1,49 @@
|
||||
<ul class="nav nav-tabs border-0 flex-column flex-lg-row">
|
||||
<li class="nav-item">
|
||||
<a href="{{ route('index') }}" class="nav-link active"><i class="fa fa-home"></i> {{ 'dashboard'|_ }}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fa fa-repeat"></i> {{ 'transactions'|_ }}</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="{{ route('transactions.show', ['withdrawal']) }}" class="dropdown-item ">{{ 'expenses'|_ }}</a>
|
||||
<a href="{{ route('transactions.show', ['expense']) }}" class="dropdown-item ">{{ 'income'|_ }}</a>
|
||||
<a href="{{ route('transactions.show', ['transfer']) }}" class="dropdown-item ">{{ 'transfers'|_ }}</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fa fa-credit-card"></i> {{ 'accounts'|_ }}</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="{{ route('accounts.show', ['asset']) }}" class="dropdown-item ">{{ 'asset_accounts'|_ }}</a>
|
||||
<a href="{{ route('accounts.show', ['expense']) }}" class="dropdown-item ">{{ 'expense_accounts'|_ }}</a>
|
||||
<a href="{{ route('accounts.show', ['revenue']) }}" class="dropdown-item ">{{ 'revenue_accounts'|_ }}</a>
|
||||
<a href="{{ route('accounts.show', ['liabilities']) }}" class="dropdown-item ">{{ 'liabilities'|_ }}</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fa fa-database"></i> {{ 'structure'|_ }}</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="{{ route('categories.index') }}" class="dropdown-item ">{{ 'categories'|_ }}</a>
|
||||
<a href="{{ route('budgets.index') }}" class="dropdown-item ">{{ 'budgets'|_ }}</a>
|
||||
<a href="{{ route('tags.index') }}" class="dropdown-item ">{{ 'tags'|_ }}</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fa fa-filter"></i> {{ 'money_management'|_ }}</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="{{ route('bills.index') }}" class="dropdown-item ">{{ 'bills'|_ }}</a>
|
||||
<a href="{{ route('piggy-banks.index') }}" class="dropdown-item ">{{ 'piggy_banks'|_ }}</a>
|
||||
<a href="{{ route('reports.index') }}" class="dropdown-item ">{{ 'reports'|_ }}</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a href="javascript:void(0)" class="nav-link" data-toggle="dropdown"><i class="fa fa-gears"></i> {{ 'tools'|_ }}</a>
|
||||
<div class="dropdown-menu dropdown-menu-arrow">
|
||||
<a href="{{ route('rules.index') }}" class="dropdown-item ">{{ 'rules'|_ }}</a>
|
||||
<a href="{{ route('recurring.index') }}" class="dropdown-item ">{{ 'recurrences'|_ }}</a>
|
||||
<a href="{{ route('currencies.index') }}" class="dropdown-item ">{{ 'currencies'|_ }}</a>
|
||||
<a href="{{ route('import.index') }}" class="dropdown-item ">{{ 'import_data'|_ }}</a>
|
||||
<a href="{{ route('export.index') }}" class="dropdown-item ">{{ 'export_data'|_ }}</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
5
webpack.mix.js
vendored
5
webpack.mix.js
vendored
@@ -1,4 +1,4 @@
|
||||
let mix = require('laravel-mix');
|
||||
const mix = require('laravel-mix');
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@@ -11,4 +11,5 @@ let mix = require('laravel-mix');
|
||||
|
|
||||
*/
|
||||
|
||||
mix.js('resources/assets/js/app.js', 'public/js');
|
||||
mix.react('resources/js/app.js', 'public/js')
|
||||
.sass('resources/sass/app.scss', 'public/css');
|
||||
|
Reference in New Issue
Block a user