diff --git a/app/Http/Controllers/JsonController.php b/app/Http/Controllers/JsonController.php
index 72b4e8ed6e..a582f534c9 100644
--- a/app/Http/Controllers/JsonController.php
+++ b/app/Http/Controllers/JsonController.php
@@ -24,6 +24,61 @@ use Steam;
class JsonController extends Controller
{
+ /**
+ *
+ */
+ public function tour()
+ {
+ $headers = [
+ 'main-content',
+ 'sidebar-toggle',
+ 'account-menu',
+ 'budget-menu',
+ 'report-menu',
+ 'transaction-menu',
+ 'option-menu',
+ 'main-content-end'
+ ];
+ $steps = [];
+ foreach ($headers as $header) {
+ $steps[] = [
+ 'element' => "#" . $header,
+ 'title' => trans('help.' . $header . '-title'),
+ 'content' => trans('help.' . $header . '-text'),
+ ];
+ }
+
+ // orphan and backdrop for first element.
+ $steps[0]['orphan'] = true;
+ $steps[0]['backdrop'] = true;
+
+ // sidebar position left:
+ $steps[1]['placement'] = 'left';
+
+ // final in the center again.
+ $steps[7]['orphan'] = true;
+ $steps[7]['backdrop'] = true;
+
+ $template ='
+
+
+
+
+
+
+
+
+
+
+
+
';
+
+
+ return Response::json(['steps' => $steps, 'template' => $template]);
+ }
/**
* @param BillRepositoryInterface $repository
@@ -34,8 +89,8 @@ class JsonController extends Controller
*/
public function boxBillsPaid(BillRepositoryInterface $repository, AccountRepositoryInterface $accountRepository)
{
- $start = Session::get('start', Carbon::now()->startOfMonth());
- $end = Session::get('end', Carbon::now()->endOfMonth());
+ $start = Session::get('start', Carbon::now()->startOfMonth());
+ $end = Session::get('end', Carbon::now()->endOfMonth());
$amount = 0;
bcscale(2);
diff --git a/app/Http/routes.php b/app/Http/routes.php
index 956da6a26b..094f0fae46 100644
--- a/app/Http/routes.php
+++ b/app/Http/routes.php
@@ -296,6 +296,7 @@ Route::group(
Route::get('/json/revenue-accounts', ['uses' => 'JsonController@revenueAccounts', 'as' => 'json.revenue-accounts']);
Route::get('/json/categories', ['uses' => 'JsonController@categories', 'as' => 'json.categories']);
Route::get('/json/tags', ['uses' => 'JsonController@tags', 'as' => 'json.tags']);
+ Route::get('/json/tour', ['uses' => 'JsonController@tour', 'as' => 'json.tour']);
Route::get('/json/box/in', ['uses' => 'JsonController@boxIn', 'as' => 'json.box.in']);
Route::get('/json/box/out', ['uses' => 'JsonController@boxOut', 'as' => 'json.box.out']);
Route::get('/json/box/bills-unpaid', ['uses' => 'JsonController@boxBillsUnpaid', 'as' => 'json.box.paid']);
diff --git a/public/js/index.js b/public/js/index.js
index e1fba6d38f..f4294be31c 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -9,6 +9,16 @@ $(function () {
// do chart JS stuff.
drawChart();
}
+
+ $.getJSON('json/tour').success(function (data) {
+ var tour = new Tour({steps: data.steps, template: data.template});
+ // Initialize the tour
+ tour.init();
+ // Start the tour
+ tour.start();
+ });
+
+
});
function drawChart() {
diff --git a/resources/lang/en/firefly.php b/resources/lang/en/firefly.php
index fbc37815cc..ee92227d21 100644
--- a/resources/lang/en/firefly.php
+++ b/resources/lang/en/firefly.php
@@ -19,6 +19,12 @@ return [
'never' => 'Never',
'search_results_for' => 'Search results for ":query"',
+ // tour:
+ 'prev' => 'Prev',
+ 'next' => 'Next',
+ 'end-tour' => 'End tour',
+ 'pause' => 'Pause',
+
// transaction index
'title_expenses' => 'Expenses',
'title_withdrawal' => 'Expenses',
diff --git a/resources/lang/en/help.php b/resources/lang/en/help.php
index 9036de54c0..16784aaf99 100644
--- a/resources/lang/en/help.php
+++ b/resources/lang/en/help.php
@@ -1,5 +1,25 @@
'Welcome to Firefly III',
+ 'main-content-text' => 'Do yourself a favor and follow this short guide to make sure you know your way around.',
+ 'sidebar-toggle-title' => 'Sidebar to create stuff',
+ 'sidebar-toggle-text' => 'Hidden under the plus icon are all the buttons to create new stuff. Accounts, transactions, everything!',
+ 'account-menu-title' => 'All your accounts',
+ 'account-menu-text' => 'Here you can find all the accounts you\'ve made.',
+ 'budget-menu-title' => 'Budgets',
+ 'budget-menu-text' => 'Use this page to organise your finances and limit spending.',
+ 'report-menu-title' => 'Reports',
+ 'report-menu-text' => 'Check this out when you want a solid overview of your fiances.',
+ 'transaction-menu-title' => 'Transactions',
+ 'transaction-menu-text' => 'All transactions you\'ve created can be found here.',
+ 'option-menu-title' => 'Options',
+ 'option-menu-text' => 'This is pretty self-explanatory.',
+ 'main-content-end-title' => 'The end!',
+ 'main-content-end-text' => 'Remember that every page has a small question mark at the right top. Click it to get help about the page you\'re on.',
+
+
'register' => 'register',
'index' => 'The main index',
'home' => 'home',
diff --git a/resources/lang/nl/firefly.php b/resources/lang/nl/firefly.php
index 303012b75d..c8ddd776f1 100644
--- a/resources/lang/nl/firefly.php
+++ b/resources/lang/nl/firefly.php
@@ -19,6 +19,12 @@ return [
'never' => 'Nooit',
'search_results_for' => 'Zoekresultaten voor ":query"',
+ // tour:
+ 'prev' => 'Vorige',
+ 'next' => 'Volgende',
+ 'end-tour' => 'Einde',
+ 'pause' => 'Pauze',
+
// transaction index
'title_expenses' => 'Uitgaven',
'title_withdrawal' => 'Uitgaven',
diff --git a/resources/twig/layout/default.twig b/resources/twig/layout/default.twig
index 45dff7c467..27fde5aa7c 100644
--- a/resources/twig/layout/default.twig
+++ b/resources/twig/layout/default.twig
@@ -70,7 +70,7 @@
{{ Auth.user.email }}
-
+
diff --git a/resources/twig/partials/menu-sidebar.twig b/resources/twig/partials/menu-sidebar.twig
index c3bfafa52c..8e347578d7 100644
--- a/resources/twig/partials/menu-sidebar.twig
+++ b/resources/twig/partials/menu-sidebar.twig
@@ -5,7 +5,7 @@
{{ 'dashboard'|_ }}
-
+
-
+
-
+
-
+
-
+