diff --git a/app/Support/Http/Controllers/GetConfigurationData.php b/app/Support/Http/Controllers/GetConfigurationData.php index 186e44cebf..6428c307e2 100644 --- a/app/Support/Http/Controllers/GetConfigurationData.php +++ b/app/Support/Http/Controllers/GetConfigurationData.php @@ -65,7 +65,7 @@ trait GetConfigurationData $currentStep = $options; // get the text: - $currentStep['hint'] = (string) trans('intro.'.$route.'_'.$key); + $currentStep['text'] = (string) trans('intro.'.$route.'_'.$key); // save in array: $steps[] = $currentStep; @@ -198,7 +198,7 @@ trait GetConfigurationData $currentStep = $options; // get the text: - $currentStep['intro'] = (string) trans('intro.'.$route.'_'.$specificPage.'_'.$key); + $currentStep['text'] = (string) trans('intro.'.$route.'_'.$specificPage.'_'.$key); // save in array: $steps[] = $currentStep; diff --git a/config/intro.php b/config/intro.php index 9a787834f3..c8a260b026 100644 --- a/config/intro.php +++ b/config/intro.php @@ -31,7 +31,7 @@ return [ 'accounts-chart' => ['element' => '#accounts-chart'], 'box_out_holder' => ['element' => '#box_out_holder'], 'help' => ['element' => '#help', 'position' => 'bottom'], - 'sidebar-toggle' => ['element' => '#sidebar-toggle', 'position' => 'bottom'], + 'sidebar-toggle' => ['element' => '#create-menu', 'position' => 'bottom'], 'cash_account' => ['element' => '#all_transactions', 'position' => 'left'], 'outro' => [], ], diff --git a/package-lock.json b/package-lock.json index 37ee519e5f..7086d39e36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,5 +1,5 @@ { - "name": "release", + "name": "firefly-iii", "lockfileVersion": 3, "requires": true, "packages": { @@ -1762,6 +1762,31 @@ "dev": true, "license": "MIT" }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, "node_modules/@fortawesome/fontawesome-free": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-7.2.0.tgz", @@ -1933,7 +1958,6 @@ "hasInstallScript": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "detect-libc": "^2.0.3", "is-glob": "^4.0.3", @@ -1976,7 +2000,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -1998,7 +2021,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2020,7 +2042,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2042,7 +2063,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2064,7 +2084,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2086,7 +2105,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2108,7 +2126,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2130,7 +2147,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2152,7 +2168,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2174,7 +2189,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2196,7 +2210,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2218,7 +2231,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2240,7 +2252,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">= 10.0.0" }, @@ -2256,7 +2267,6 @@ "dev": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=12" }, @@ -5121,6 +5131,15 @@ } } }, + "node_modules/deepmerge-ts": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", + "integrity": "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/default-gateway": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", @@ -8293,8 +8312,7 @@ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/node-forge": { "version": "1.4.0", @@ -10444,6 +10462,19 @@ "dev": true, "license": "MIT" }, + "node_modules/shepherd.js": { + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/shepherd.js/-/shepherd.js-15.2.2.tgz", + "integrity": "sha512-WDJDjZ8tUG2HF93C9mJCXsdGJ01bpZKjonyMABMkU6I4KjSD9pZ0zFKaeSducdFIx9inKHbDmcFE82uJ65HmgA==", + "license": "AGPL-3.0", + "dependencies": { + "@floating-ui/dom": "^1.7.5", + "deepmerge-ts": "^7.1.5" + }, + "engines": { + "node": ">= 20" + } + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -12404,7 +12435,8 @@ "alpinejs": "^3.15.12", "bootstrap-icons": "^1.13.1", "cally": "^0.9.2", - "intro.js": "^8.3.2" + "intro.js": "^8.3.2", + "shepherd.js": "^15.2.2" }, "devDependencies": { "concurrently": "^9.0.1", diff --git a/public/v1/js/ff/charts.js b/public/v1/js/ff/charts.js index 7a1f32af62..81b11d351d 100644 --- a/public/v1/js/ff/charts.js +++ b/public/v1/js/ff/charts.js @@ -150,7 +150,7 @@ function otherCurrencyLineChart(URL, container, currencySymbol) { //var options = $.extend(true, newOpts, defaultChartOptions); var options = $.extend(true, defaultChartOptions, newOpts); - console.log(options); + // console.log(options); var chartType = 'line'; drawAChart(URL, container, chartType, options, colorData); @@ -349,12 +349,12 @@ function multiCurrencyPieChart(URL, container) { function drawAChart(URL, container, chartType, options, colorData) { var containerObj = document.getElementById(container); if (containerObj.length === 0) { - console.log('Return because 0'); + //console.log('Return because 0'); return; } - console.log('drawAChart('+URL+', '+container+')'); + //console.log('drawAChart('+URL+', '+container+')'); window.axios.get(URL).then(function (response) { - console.log('GET drawAChart('+URL+', '+container+')'); + //console.log('GET drawAChart('+URL+', '+container+')'); containerObj.classList.remove('general-chart-error'); var data = response.data; // if result is empty array, or the labels array is empty, show error. @@ -370,12 +370,12 @@ function drawAChart(URL, container, chartType, options, colorData) { // isn't empty but contains no labels (typeof data === 'object' && typeof data.labels === 'object' && 0 === data.labels.length) ) { - console.log('NODATA drawAChart('+URL+', '+container+')'); - console.log(data); + // console.log('NODATA drawAChart('+URL+', '+container+')'); + // console.log(data); // remove the chart container + parent var holder = document.getElementById(container).parentNode.parentNode; if (holder.classList.contains('card') || holder.classList.contains('card-body')) { - console.log('found holder'); + // console.log('found holder'); // find box-body: var boxBody; if (!holder.classList.contains('card-body')) { @@ -384,12 +384,12 @@ function drawAChart(URL, container, chartType, options, colorData) { } else { boxBody = holder; } - console.log('found box body', boxBody); + // console.log('found box body', boxBody); // boxBody.innerHtml = '

'+noDataForChart+'

'; boxBody.innerHTML = '

'+noDataForChart+'

'; //boxBody.empty().append($('

').append($('').text(noDataForChart))); } - console.log('return'); + // console.log('return'); return; } @@ -442,7 +442,7 @@ function drawAChart(URL, container, chartType, options, colorData) { } }).catch(function (reason) { - console.error('Add error because error with chart.', reason); + // console.error('Add error because error with chart.', reason); document.getElementById(container).classList.add('general-chart-error'); }); } diff --git a/public/v1/js/ff/intro/intro.js b/public/v1/js/ff/intro/intro.js index 25f835df95..f67618f35a 100644 --- a/public/v1/js/ff/intro/intro.js +++ b/public/v1/js/ff/intro/intro.js @@ -20,31 +20,31 @@ $(function () { "use strict"; - console.log('Start introJS.'); + // console.log('Start introJS.'); if (!forceDemoOff) { - console.log('Mark as done.'); - $.getJSON(routeStepsUrl).done(setupIntro) + // console.log('Mark as done.'); + // $.getJSON(routeStepsUrl).done(setupIntro) } }); function setupIntro(steps) { console.log('setupIntro().'); - return; - var intro = introJs; - intro.setOptions({ - nextLabel: nextLabel, - prevLabel: prevLabel, - skipLabel: skipLabel, - doneLabel: doneLabel, - steps: steps, - exitOnEsc: true, - exitOnOverlayClick: true, - keyboardNavigation: true - }); - intro.oncomplete(reportIntroFinished); - intro.onexit(reportIntroFinished); - intro.tour().start(); + // return; + // var intro = introJs; + // intro.setOptions({ + // nextLabel: nextLabel, + // prevLabel: prevLabel, + // skipLabel: skipLabel, + // doneLabel: doneLabel, + // steps: steps, + // exitOnEsc: true, + // exitOnOverlayClick: true, + // keyboardNavigation: true + // }); + // intro.oncomplete(reportIntroFinished); + // intro.onexit(reportIntroFinished); + // intro.tour().start(); } function reportIntroFinished() { diff --git a/resources/assets/v3/js/boot/bootstrap.js b/resources/assets/v3/js/boot/bootstrap.js index 728cf502ed..208f95729f 100644 --- a/resources/assets/v3/js/boot/bootstrap.js +++ b/resources/assets/v3/js/boot/bootstrap.js @@ -18,8 +18,8 @@ * along with this program. If not, see . */ // import css -import "admin-lte/dist/css/adminlte.min.css" -import "bootstrap-icons/font/bootstrap-icons.css" +// import "admin-lte/dist/css/adminlte.min.css" +// import "bootstrap-icons/font/bootstrap-icons.css" // JS import "bootstrap" @@ -27,8 +27,7 @@ import "admin-lte" import Alpine from 'alpinejs' import store from "store"; import axios from 'axios'; -import introJs from "intro.js"; -import "intro.js/introjs.css"; +import Shepherd from 'shepherd.js'; import "cally"; import observePlugin from 'store/plugins/observe'; import {getFreshVariable} from "v2/src/store/get-fresh-variable.js"; @@ -88,21 +87,48 @@ getFreshVariable('lastActivity').then((serverValue) => { axios.defaults.withCredentials = true; axios.defaults.baseURL = url; + + + site.get(routeStepsUrl).then(function(data) { console.log('Done with loading hints.'); - introJs.tour().setOptions({ - // // nextLabel: nextLabel, - // // prevLabel: prevLabel, - // // skipLabel: skipLabel, - // // doneLabel: doneLabel, - hints: data.data, - // // exitOnEsc: true, - // // exitOnOverlayClick: true, - // // keyboardNavigation: true + let hints = data.data; + console.log(hints); + + const tour = new Shepherd.Tour({ + useModalOverlay: true, + defaultStepOptions: { + // classes: 'shadow-md bg-purple-dark', + scrollTo: true + } }); - // // introJs.tour().onComplete(reportIntroFinished); - // // introJs.tour().onExit(reportIntroFinished); - introJs.tour().start(); + for(let i=0;i. */ + +@use "bootstrap-icons/font/bootstrap-icons.css"; + +$color-mode-type: media-query; +$link-decoration: none !default; +$font-family-sans-serif: "Roboto", sans-serif; + +$danger: #CD5029 !default; +$primary: #1E6581 !default; +$success: #64B624 !default; + +@import 'shepherd.js/dist/css/shepherd.css'; +@import "admin-lte/dist/css/adminlte.min.css"; + +//@use "admin-lte/src/scss/adminlte" with ( +// $color-mode-type: $color-mode-type, +// $link-decoration: $link-decoration, +// $font-family-sans-serif: $font-family-sans-serif, +// $danger: $danger, +// $primary: $primary, +// $success: $success +//); + + // //$color-mode-type: media-query; //$link-decoration: none !default; @@ -37,98 +61,6 @@ // $success: $success //); -// -///*! -// * AdminLTE v4.0.0 -// * Author: Colorlib -// * Website: AdminLTE.io -// * License: Open source - MIT -// */ -// -//// Bootstrap Configuration -//// --------------------------------------------------- -//@import "bootstrap/scss/functions"; -//@import "bootstrap-icons/font/bootstrap-icons.css"; -// -//// AdminLTE Configuration -//// --------------------------------------------------- -//@import "admin-lte/src/scss/bootstrap-variables"; // little modified are here -// -// -// -//// Bootstrap Configuration -//// --------------------------------------------------- -//@import "bootstrap/scss/variables"; -//@import "bootstrap/scss/variables-dark"; -//@import "bootstrap/scss/maps"; -//@import "bootstrap/scss/mixins"; -//@import "bootstrap/scss/utilities"; -// -//// Bootstrap Layout & components -//@import "bootstrap/scss/root"; -//@import "bootstrap/scss/reboot"; -//@import "bootstrap/scss/type"; -//@import "bootstrap/scss/images"; -//@import "bootstrap/scss/containers"; -//@import "bootstrap/scss/grid"; -//@import "bootstrap/scss/tables"; -//@import "bootstrap/scss/forms"; -//@import "bootstrap/scss/buttons"; -//@import "bootstrap/scss/transitions"; -//@import "bootstrap/scss/dropdown"; -//@import "bootstrap/scss/button-group"; -//@import "bootstrap/scss/nav"; -//@import "bootstrap/scss/navbar"; -//@import "bootstrap/scss/card"; -//@import "bootstrap/scss/accordion"; -//@import "bootstrap/scss/breadcrumb"; -//@import "bootstrap/scss/pagination"; -//@import "bootstrap/scss/badge"; -//@import "bootstrap/scss/alert"; -//@import "bootstrap/scss/progress"; -//@import "bootstrap/scss/list-group"; -//@import "bootstrap/scss/close"; -//@import "bootstrap/scss/toasts"; -//@import "bootstrap/scss/modal"; -//@import "bootstrap/scss/tooltip"; -//@import "bootstrap/scss/popover"; -//@import "bootstrap/scss/carousel"; -//@import "bootstrap/scss/spinners"; -//@import "bootstrap/scss/offcanvas"; -//@import "bootstrap/scss/placeholders"; -// -//// Bootstrap Helpers -//@import "bootstrap/scss/helpers"; -// -//// Bootstrap Utilities -//@import "bootstrap/scss/utilities/api"; -// -//// AdminLTE Configuration -//// --------------------------------------------------- -//@import "admin-lte/src/scss/variables"; -//@import "admin-lte/src/scss/variables-dark"; -//@import "admin-lte/src/scss/mixins"; -// -//// AdiminLTE Parts -//// --------------------------------------------------- -//@import "admin-lte/src/scss/parts/core"; -//@import "admin-lte/src/scss/parts/components"; -//@import "admin-lte/src/scss/parts/extra-components"; -//@import "admin-lte/src/scss/parts/pages"; -//@import "admin-lte/src/scss/parts/miscellaneous"; -// -//// AdminLTE Accessibility Styles - WCAG 2.1 AA Compliance -//@import "admin-lte/src/scss/accessibility"; -// -//// AdminLTE Documentation Styles (only applies to pages with body.docs-page) -//// @import "docs"; -// -// -// -// -//// - -// // ////// Plus Bootstrap and dependency CSS ////// import "overlayscrollbars/styles/overlayscrollbars.css" diff --git a/resources/views/components/dashboard/boxes.blade.php b/resources/views/components/dashboard/boxes.blade.php index f9b89f3b1d..88d6f01755 100644 --- a/resources/views/components/dashboard/boxes.blade.php +++ b/resources/views/components/dashboard/boxes.blade.php @@ -1,4 +1,4 @@ -

+
diff --git a/resources/views/components/layout/create-menu.blade.php b/resources/views/components/layout/create-menu.blade.php index e9aac6be4c..43cae3fcde 100644 --- a/resources/views/components/layout/create-menu.blade.php +++ b/resources/views/components/layout/create-menu.blade.php @@ -1,6 +1,6 @@