mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2024-12-02 13:39:19 -06:00
Hide some boxes when the user has no bills.
This commit is contained in:
parent
eb78cf20c2
commit
dbbc85a576
@ -19,6 +19,7 @@ use FireflyIII\Helpers\Collector\JournalCollectorInterface;
|
||||
use FireflyIII\Models\AccountType;
|
||||
use FireflyIII\Models\Tag;
|
||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface as ARI;
|
||||
use FireflyIII\Repositories\Bill\BillRepositoryInterface;
|
||||
use FireflyIII\Repositories\Tag\TagRepositoryInterface;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Collection;
|
||||
@ -121,7 +122,6 @@ class HomeController extends Controller
|
||||
*/
|
||||
public function index(ARI $repository)
|
||||
{
|
||||
|
||||
$types = config('firefly.accountTypesByIdentifier.asset');
|
||||
$count = $repository->count($types);
|
||||
|
||||
@ -142,6 +142,11 @@ class HomeController extends Controller
|
||||
$accounts = $repository->getAccountsById($frontPage->data);
|
||||
$showDepositsFrontpage = Preferences::get('showDepositsFrontpage', false)->data;
|
||||
|
||||
// zero bills? Hide some elements from view.
|
||||
/** @var BillRepositoryInterface $billRepository */
|
||||
$billRepository = app(BillRepositoryInterface::class);
|
||||
$billCount = $billRepository->getBills()->count();
|
||||
|
||||
foreach ($accounts as $account) {
|
||||
$collector = app(JournalCollectorInterface::class);
|
||||
$collector->setAccounts(new Collection([$account]))->setRange($start, $end)->setLimit(10)->setPage(1);
|
||||
@ -153,7 +158,7 @@ class HomeController extends Controller
|
||||
}
|
||||
|
||||
return view(
|
||||
'index', compact('count', 'showTour', 'title', 'subTitle', 'mainTitleIcon', 'transactions', 'showDepositsFrontpage')
|
||||
'index', compact('count', 'showTour', 'title', 'subTitle', 'mainTitleIcon', 'transactions', 'showDepositsFrontpage', 'billCount')
|
||||
);
|
||||
}
|
||||
|
||||
@ -205,10 +210,7 @@ class HomeController extends Controller
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
private
|
||||
function startsWithAny(
|
||||
array $array, string $needle
|
||||
): bool
|
||||
private function startsWithAny(array $array, string $needle): bool
|
||||
{
|
||||
foreach ($array as $entry) {
|
||||
if ((substr($needle, 0, strlen($entry)) === $entry)) {
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* globals $, columnChart,showTour, Tour, google, pieChart, stackedColumnChart */
|
||||
/* globals $, columnChart,showTour, Tour, google, pieChart, stackedColumnChart, billCount */
|
||||
|
||||
$(function () {
|
||||
"use strict";
|
||||
@ -33,7 +33,9 @@ function endTheTour() {
|
||||
function drawChart() {
|
||||
"use strict";
|
||||
lineChart('chart/account/frontpage', 'accounts-chart');
|
||||
pieChart('chart/bill/frontpage', 'bills-chart');
|
||||
if (billCount > 0) {
|
||||
pieChart('chart/bill/frontpage', 'bills-chart');
|
||||
}
|
||||
stackedColumnChart('chart/budget/frontpage', 'budgets-chart');
|
||||
columnChart('chart/category/frontpage', 'categories-chart');
|
||||
columnChart('chart/account/expense', 'expense-accounts-chart');
|
||||
|
@ -43,20 +43,21 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-4 col-md-6 col-sm-12">
|
||||
{% if billCount > 0 %}
|
||||
<!-- BILLS -->
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'bills'|_ }}</h3>
|
||||
|
||||
<!-- BILLS -->
|
||||
<div class="box">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">{{ 'bills'|_ }}</h3>
|
||||
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div style="width:60%;margin:0 auto;">
|
||||
<canvas id="bills-chart" style="width:100%;height:175px;" height="175"></canvas>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div style="width:60%;margin:0 auto;">
|
||||
<canvas id="bills-chart" style="width:100%;height:175px;" height="175"></canvas>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- TRANSACTIONS -->
|
||||
{% for data in transactions %}
|
||||
@ -129,6 +130,7 @@
|
||||
{% else %}
|
||||
showTour = false;
|
||||
{% endif %}
|
||||
var billCount = {{ billCount }};
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="js/lib/Chart.bundle.min.js"></script>
|
||||
|
@ -1,6 +1,14 @@
|
||||
{# Set box sizes: #}
|
||||
{% if billCount > 0 %}
|
||||
{% set boxClasses = 'col-lg-3 col-md-3 col-sm-6 col-xs-12' %}
|
||||
{% else %}
|
||||
{# Zero bills? Remove the boxes. #}
|
||||
{% set boxClasses = 'col-lg-4 col-md-4 col-sm-6 col-xs-12' %}
|
||||
{% endif %}
|
||||
|
||||
<!-- Info boxes -->
|
||||
<div class="row hidden-sm hidden-xs">
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<div class="{{ boxClasses }}">
|
||||
<div class="info-box">
|
||||
<span class="info-box-icon bg-red">
|
||||
<i class="fa fa-upload fa-fw"></i>
|
||||
@ -10,12 +18,9 @@
|
||||
<span class="info-box-text">{{ 'moneyOut'|_ }}</span>
|
||||
<span class="info-box-number" id="box-out"></span>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
</div>
|
||||
<!-- /.info-box -->
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<div class="{{ boxClasses }}">
|
||||
<div class="info-box">
|
||||
<span class="info-box-icon bg-green">
|
||||
<i class="fa fa-download faw-fw"></i>
|
||||
@ -25,43 +30,34 @@
|
||||
<span class="info-box-text">{{ 'moneyIn'|_ }}</span>
|
||||
<span class="info-box-number" id="box-in"></span>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
</div>
|
||||
<!-- /.info-box -->
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
{% if billCount > 0 %}
|
||||
<div class="clearfix visible-sm-block"></div>
|
||||
|
||||
<!-- fix for small devices only -->
|
||||
<div class="clearfix visible-sm-block"></div>
|
||||
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<div class="info-box">
|
||||
<div class="{{ boxClasses }}">
|
||||
<div class="info-box">
|
||||
<span class="info-box-icon bg-blue">
|
||||
<i class="fa fa-calendar fa-fw"></i>
|
||||
</span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">{{ 'billsToPay'|_ }}</span>
|
||||
<span class="info-box-number" id="box-bills-unpaid"></span>
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">{{ 'billsToPay'|_ }}</span>
|
||||
<span class="info-box-number" id="box-bills-unpaid"></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
</div>
|
||||
<!-- /.info-box -->
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
<div class="col-md-3 col-sm-6 col-xs-12">
|
||||
<div class="info-box">
|
||||
<div class="{{ boxClasses }}">
|
||||
<div class="info-box">
|
||||
<span class="info-box-icon bg-aqua">
|
||||
<i class="fa fa-line-chart fa-fw"></i>
|
||||
</span>
|
||||
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">{{ 'billsPaid'|_ }}</span>
|
||||
<span class="info-box-number" id="box-bills-paid"></span>
|
||||
<div class="info-box-content">
|
||||
<span class="info-box-text">{{ 'billsPaid'|_ }}</span>
|
||||
<span class="info-box-number" id="box-bills-paid"></span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.info-box-content -->
|
||||
</div>
|
||||
<!-- /.info-box -->
|
||||
</div>
|
||||
<!-- /.col -->
|
||||
</div><!-- /.row -->
|
||||
{% endif %}
|
||||
</div>
|
||||
|
Loading…
Reference in New Issue
Block a user