mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-10 14:44:26 +00:00
Small update to frontend and associated code.
This commit is contained in:
33
app/Api/V2/Controllers/Transaction/Sum/BillController.php
Normal file
33
app/Api/V2/Controllers/Transaction/Sum/BillController.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/*
|
||||
* BillController.php
|
||||
* Copyright (c) 2022 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/>.
|
||||
*/
|
||||
|
||||
namespace FireflyIII\Api\V2\Controllers\Transaction\Sum;
|
||||
|
||||
use FireflyIII\Api\V2\Controllers\Controller;
|
||||
|
||||
/**
|
||||
* Class BillController
|
||||
*/
|
||||
class BillController extends Controller
|
||||
{
|
||||
|
||||
|
||||
}
|
65
app/Api/V2/Request/Generic/DateRequest.php
Normal file
65
app/Api/V2/Request/Generic/DateRequest.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* DateRequest.php
|
||||
* 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/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Api\V2\Request\Generic;
|
||||
|
||||
use FireflyIII\Support\Request\ChecksLogin;
|
||||
use FireflyIII\Support\Request\ConvertsDataTypes;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
/**
|
||||
* Request class for end points that require date parameters.
|
||||
*
|
||||
* Class DateRequest
|
||||
*/
|
||||
class DateRequest extends FormRequest
|
||||
{
|
||||
use ConvertsDataTypes, ChecksLogin;
|
||||
|
||||
/**
|
||||
* Get all data from the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getAll(): array
|
||||
{
|
||||
return [
|
||||
'start' => $this->getCarbonDate('start'),
|
||||
'end' => $this->getCarbonDate('end'),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* The rules that the incoming request must be matched against.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules(): array
|
||||
{
|
||||
return [
|
||||
'start' => 'required|date',
|
||||
'end' => 'required|date|after:start',
|
||||
];
|
||||
}
|
||||
}
|
@@ -52,7 +52,7 @@ class RouteServiceProvider extends ServiceProvider
|
||||
public function boot(): void
|
||||
{
|
||||
$this->routes(function () {
|
||||
Route::prefix('api/v1')
|
||||
Route::prefix('api')
|
||||
->middleware('api')
|
||||
->namespace($this->namespace)
|
||||
->group(base_path('routes/api.php'));
|
||||
|
@@ -85,6 +85,27 @@ class BillRepository implements BillRepositoryInterface
|
||||
return $search->take($limit)->get();
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
* @deprecated
|
||||
*/
|
||||
public function collectBillsUnpaidInRange(Carbon $start, Carbon $end): Collection
|
||||
{
|
||||
$bills = $this->getActiveBills();
|
||||
$return = new Collection;
|
||||
/** @var Bill $bill */
|
||||
foreach ($bills as $bill) {
|
||||
$dates = $this->getPayDatesInRange($bill, $start, $end);
|
||||
$count = $bill->transactionJournals()->after($start)->before($end)->count();
|
||||
$total = $dates->count() - $count;
|
||||
if ($total > 0) {
|
||||
$return->push($bill);
|
||||
}
|
||||
}
|
||||
|
||||
return $bills;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct order of piggies in case of issues.
|
||||
*/
|
||||
@@ -255,8 +276,8 @@ class BillRepository implements BillRepositoryInterface
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return string
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsPaidInRange(Carbon $start, Carbon $end): string
|
||||
{
|
||||
@@ -291,11 +312,11 @@ class BillRepository implements BillRepositoryInterface
|
||||
/**
|
||||
* Get the total amount of money paid for the users active bills in the date range given,
|
||||
* grouped per currency.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return array
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsPaidInRangePerCurrency(Carbon $start, Carbon $end): array
|
||||
{
|
||||
@@ -323,8 +344,8 @@ class BillRepository implements BillRepositoryInterface
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return string
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsUnpaidInRange(Carbon $start, Carbon $end): string
|
||||
{
|
||||
@@ -358,7 +379,6 @@ class BillRepository implements BillRepositoryInterface
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return Collection
|
||||
* @throws JsonException
|
||||
*/
|
||||
public function getPayDatesInRange(Bill $bill, Carbon $start, Carbon $end): Collection
|
||||
{
|
||||
@@ -420,8 +440,8 @@ class BillRepository implements BillRepositoryInterface
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return array
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsUnpaidInRangePerCurrency(Carbon $start, Carbon $end): array
|
||||
{
|
||||
@@ -449,6 +469,66 @@ class BillRepository implements BillRepositoryInterface
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function sumUnpaidInRange(Carbon $start, Carbon $end): array
|
||||
{
|
||||
$bills = $this->getActiveBills();
|
||||
$return = [];
|
||||
/** @var Bill $bill */
|
||||
foreach ($bills as $bill) {
|
||||
$dates = $this->getPayDatesInRange($bill, $start, $end);
|
||||
$count = $bill->transactionJournals()->after($start)->before($end)->count();
|
||||
$total = $dates->count() - $count;
|
||||
|
||||
if ($total > 0) {
|
||||
$currency = $bill->transactionCurrency;
|
||||
$average = bcdiv(bcadd($bill->amount_max, $bill->amount_min), '2');
|
||||
$return[$currency->id] = $return[$currency->id] ?? [
|
||||
'id' => (string) $currency->id,
|
||||
'name' => $currency->name,
|
||||
'symbol' => $currency->symbol,
|
||||
'code' => $currency->code,
|
||||
'decimal_places' => $currency->decimal_places,
|
||||
'sum' => '0',
|
||||
];
|
||||
$return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], bcmul($average, (string) $total));
|
||||
}
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
public function sumPaidInRange(Carbon $start, Carbon $end): array
|
||||
{
|
||||
$bills = $this->getActiveBills();
|
||||
$return = [];
|
||||
/** @var Bill $bill */
|
||||
foreach ($bills as $bill) {
|
||||
/** @var Collection $set */
|
||||
$set = $bill->transactionJournals()->after($start)->before($end)->get(['transaction_journals.*']);
|
||||
$currency = $bill->transactionCurrency;
|
||||
if ($set->count() > 0) {
|
||||
$journalIds = $set->pluck('id')->toArray();
|
||||
$amount = (string) Transaction::whereIn('transaction_journal_id', $journalIds)->where('amount', '<', 0)->sum('amount');
|
||||
$return[$currency->id] = $return[$currency->id] ?? [
|
||||
'id' => (string) $currency->id,
|
||||
'name' => $currency->name,
|
||||
'symbol' => $currency->symbol,
|
||||
'code' => $currency->code,
|
||||
'decimal_places' => $currency->decimal_places,
|
||||
'sum' => '0',
|
||||
];
|
||||
$return[$currency->id]['sum'] = bcadd($return[$currency->id]['sum'], $amount);
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all bills with these ID's.
|
||||
*
|
||||
|
@@ -43,6 +43,24 @@ interface BillRepositoryInterface
|
||||
*/
|
||||
public function billEndsWith(string $query, int $limit): Collection;
|
||||
|
||||
/**
|
||||
* Collect multi-currency of sum of bills yet to pay.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
* @return array
|
||||
*/
|
||||
public function sumUnpaidInRange(Carbon $start, Carbon $end): array;
|
||||
|
||||
/**
|
||||
* Collect multi-currency of sum of bills already paid.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
* @return array
|
||||
*/
|
||||
public function sumPaidInRange(Carbon $start, Carbon $end): array;
|
||||
|
||||
/**
|
||||
* @param string $query
|
||||
* @param int $limit
|
||||
@@ -51,6 +69,16 @@ interface BillRepositoryInterface
|
||||
*/
|
||||
public function billStartsWith(string $query, int $limit): Collection;
|
||||
|
||||
/**
|
||||
* Get the total amount of money due for the users active bills in the date range given.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
* @deprecated
|
||||
* @return Collection
|
||||
*/
|
||||
public function collectBillsUnpaidInRange(Carbon $start, Carbon $end): Collection;
|
||||
|
||||
/**
|
||||
* Add correct order to bills.
|
||||
*/
|
||||
@@ -126,42 +154,42 @@ interface BillRepositoryInterface
|
||||
|
||||
/**
|
||||
* Get the total amount of money paid for the users active bills in the date range given.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return string
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsPaidInRange(Carbon $start, Carbon $end): string;
|
||||
|
||||
/**
|
||||
* Get the total amount of money paid for the users active bills in the date range given,
|
||||
* grouped per currency.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return array
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsPaidInRangePerCurrency(Carbon $start, Carbon $end): array;
|
||||
|
||||
/**
|
||||
* Get the total amount of money due for the users active bills in the date range given.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return string
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsUnpaidInRange(Carbon $start, Carbon $end): string;
|
||||
|
||||
/**
|
||||
* Get the total amount of money due for the users active bills in the date range given.
|
||||
*
|
||||
* @param Carbon $start
|
||||
* @param Carbon $end
|
||||
*
|
||||
* @return array
|
||||
* @deprecated
|
||||
*/
|
||||
public function getBillsUnpaidInRangePerCurrency(Carbon $start, Carbon $end): array;
|
||||
|
||||
|
38
frontend/src/api/v2/bills/sum.js
vendored
Normal file
38
frontend/src/api/v2/bills/sum.js
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* list.js
|
||||
* Copyright (c) 2022 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/>.
|
||||
*/
|
||||
|
||||
import {api} from "boot/axios";
|
||||
import {format} from "date-fns";
|
||||
|
||||
export default class Sum {
|
||||
unpaid(start, end) {
|
||||
let url = 'api/v2/bills/sum/unpaid';
|
||||
let startStr = format(start, 'y-MM-dd');
|
||||
let endStr = format(end, 'y-MM-dd');
|
||||
return api.get(url, {params: {start: startStr, end: endStr}});
|
||||
}
|
||||
|
||||
paid(start, end) {
|
||||
let url = 'api/v2/bills/sum/paid';
|
||||
let startStr = format(start, 'y-MM-dd');
|
||||
let endStr = format(end, 'y-MM-dd');
|
||||
return api.get(url, {params: {start: startStr, end: endStr}});
|
||||
}
|
||||
}
|
178
frontend/src/components/dashboard/BillInsightBox.vue
Normal file
178
frontend/src/components/dashboard/BillInsightBox.vue
Normal file
@@ -0,0 +1,178 @@
|
||||
<!--
|
||||
- BillInsightBox.vue
|
||||
- Copyright (c) 2022 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/>.
|
||||
-->
|
||||
|
||||
<template>
|
||||
<!-- TODO most left? q-mr-sm -->
|
||||
<!-- TODO middle? dan q-mx-sm -->
|
||||
<!-- TODO right? dan q-ml-sm -->
|
||||
<div class="q-mr-sm">
|
||||
<q-card bordered>
|
||||
<q-item>
|
||||
<q-item-section>
|
||||
<q-item-label>{{ $t('firefly.bills_to_pay') }}</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-separator/>
|
||||
<q-card-section horizontal>
|
||||
<q-card-section>
|
||||
<q-circular-progress
|
||||
:value="percentage"
|
||||
size="50px"
|
||||
:thickness="0.22"
|
||||
color="green"
|
||||
track-color="grey-3"
|
||||
/>
|
||||
</q-card-section>
|
||||
<q-separator vertical/>
|
||||
<q-card-section>
|
||||
{{ $t('firefly.bills_to_pay') }}:
|
||||
<span v-for="(bill, index) in unpaid">
|
||||
{{ formatAmount(bill.code, bill.sum) }}
|
||||
<span v-if="index+1 !== unpaid.length">, </span>
|
||||
</span>
|
||||
<br/>
|
||||
{{ $t('firefly.bills_paid') }}:
|
||||
<span v-for="(bill, index) in paid">
|
||||
{{ formatAmount(bill.code, bill.sum) }}
|
||||
<span v-if="index+1 !== paid.length">, </span>
|
||||
</span>
|
||||
</q-card-section>
|
||||
</q-card-section>
|
||||
<!--
|
||||
<q-card-section class="q-pt-xs">
|
||||
<div class="text-overline">
|
||||
|
||||
<span class="float-right">
|
||||
<span class="text-grey-4 fas fa-redo-alt" style="cursor: pointer;" @click="triggerForcedUpgrade"></span>
|
||||
</span>
|
||||
</div>
|
||||
</q-card-section>
|
||||
<q-card-section class="q-pt-xs">
|
||||
<span v-for="(bill, index) in unpaid">
|
||||
{{ formatAmount(bill.code, bill.sum) }}
|
||||
<span v-if="index+1 !== unpaid.length">, </span>
|
||||
</span>
|
||||
</q-card-section>
|
||||
-->
|
||||
</q-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {useFireflyIIIStore} from "../../stores/fireflyiii";
|
||||
import Sum from "../../api/v2/bills/sum";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
store: null,
|
||||
unpaid: [],
|
||||
paid: [],
|
||||
//percentage: 0,
|
||||
unpaidAmount: 0.0,
|
||||
paidAmount: 0.0,
|
||||
range: {
|
||||
start: null,
|
||||
end: null,
|
||||
},
|
||||
}
|
||||
},
|
||||
name: "BillInsightBox",
|
||||
computed: {
|
||||
percentage: function () {
|
||||
if (0 === this.unpaidAmount) {
|
||||
return 100;
|
||||
}
|
||||
const sum = this.unpaidAmount + this.paidAmount;
|
||||
if (0.0 === this.paidAmount) {
|
||||
return 0;
|
||||
}
|
||||
return (this.paidAmount / sum) * 100;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.store = useFireflyIIIStore();
|
||||
|
||||
// TODO this code snippet is recycled a lot.
|
||||
if (null === this.range.start || null === this.range.end) {
|
||||
// subscribe, then update:
|
||||
this.store.$onAction(
|
||||
({name, $store, args, after, onError,}) => {
|
||||
after((result) => {
|
||||
if (name === 'setRange') {
|
||||
this.range = result;
|
||||
this.triggerUpdate();
|
||||
}
|
||||
})
|
||||
}
|
||||
)
|
||||
}
|
||||
this.triggerUpdate();
|
||||
},
|
||||
methods: {
|
||||
triggerUpdate: function () {
|
||||
if (null !== this.store.getRange.start && null !== this.store.getRange.end) {
|
||||
this.unpaid = [];
|
||||
const start = new Date(this.store.getRange.start);
|
||||
const end = new Date(this.store.getRange.end);
|
||||
const sum = new Sum;
|
||||
sum.unpaid(start, end).then((response) => this.parseUnpaidResponse(response.data));
|
||||
sum.paid(start, end).then((response) => this.parsePaidResponse(response.data));
|
||||
}
|
||||
},
|
||||
formatAmount: function (currencyCode, amount) {
|
||||
// TODO not yet internationalized
|
||||
return Intl.NumberFormat('en-US', {style: 'currency', currency: currencyCode}).format(amount);
|
||||
},
|
||||
parseUnpaidResponse: function (data) {
|
||||
for (let i in data) {
|
||||
if (data.hasOwnProperty(i)) {
|
||||
const current = data[i];
|
||||
this.unpaid.push(
|
||||
{
|
||||
sum: current.sum,
|
||||
code: current.code,
|
||||
}
|
||||
);
|
||||
this.unpaidAmount = this.unpaidAmount + parseFloat(current.sum);
|
||||
}
|
||||
}
|
||||
},
|
||||
parsePaidResponse: function (data) {
|
||||
for (let i in data) {
|
||||
if (data.hasOwnProperty(i)) {
|
||||
const current = data[i];
|
||||
this.paid.push(
|
||||
{
|
||||
sum: current.sum,
|
||||
code: current.code,
|
||||
}
|
||||
);
|
||||
this.paidAmount = this.paidAmount + (parseFloat(current.sum) * -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
1
frontend/src/i18n/bg_BG/index.js
vendored
1
frontend/src/i18n/bg_BG/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "\u041d\u043e\u0432\u043e \u043f\u0440\u0435\u0445\u0432\u044a\u0440\u043b\u044f\u043d\u0435",
|
||||
"newDeposit": "\u041d\u043e\u0432 \u0434\u0435\u043f\u043e\u0437\u0438\u0442",
|
||||
"newWithdrawal": "\u041d\u043e\u0432 \u0440\u0430\u0437\u0445\u043e\u0434",
|
||||
"bills_paid": "\u041f\u043b\u0430\u0442\u0435\u043d\u0438 \u0441\u043c\u0435\u0442\u043a\u0438",
|
||||
"rule_trigger_source_account_starts_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0437\u0430\u043f\u043e\u0447\u0432\u0430 \u0441..",
|
||||
"rule_trigger_source_account_ends_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0437\u0430\u0432\u044a\u0440\u0448\u0432\u0430 \u0441..",
|
||||
"rule_trigger_source_account_is_choice": "\u0418\u043c\u0435\u0442\u043e \u043d\u0430 \u0440\u0430\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 \u0441\u043c\u0435\u0442\u043a\u0430 \u0435..",
|
||||
|
1
frontend/src/i18n/cs_CZ/index.js
vendored
1
frontend/src/i18n/cs_CZ/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nov\u00fd p\u0159evod",
|
||||
"newDeposit": "Nov\u00fd vklad",
|
||||
"newWithdrawal": "Nov\u00fd v\u00fddaj",
|
||||
"bills_paid": "Zaplacen\u00e9 \u00fa\u010dty",
|
||||
"rule_trigger_source_account_starts_choice": "Source account name starts with..",
|
||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||
|
1
frontend/src/i18n/de_DE/index.js
vendored
1
frontend/src/i18n/de_DE/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Neue Umbuchung",
|
||||
"newDeposit": "Neue Einnahme",
|
||||
"newWithdrawal": "Neue Ausgabe",
|
||||
"bills_paid": "Rechnungen bezahlt",
|
||||
"rule_trigger_source_account_starts_choice": "Name des Quellkontos beginnt mit..",
|
||||
"rule_trigger_source_account_ends_choice": "Quellkonto-Name endet mit..",
|
||||
"rule_trigger_source_account_is_choice": "Quellkonto-Name lautet..",
|
||||
|
1
frontend/src/i18n/el_GR/index.js
vendored
1
frontend/src/i18n/el_GR/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "\u039d\u03ad\u03b1 \u03bc\u03b5\u03c4\u03b1\u03c6\u03bf\u03c1\u03ac",
|
||||
"newDeposit": "\u039d\u03ad\u03b1 \u03ba\u03b1\u03c4\u03ac\u03b8\u03b5\u03c3\u03b7",
|
||||
"newWithdrawal": "\u039d\u03ad\u03b1 \u03b4\u03b1\u03c0\u03ac\u03bd\u03b7",
|
||||
"bills_paid": "\u03a0\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03b1 \u03c0\u03ac\u03b3\u03b9\u03b1 \u03ad\u03be\u03bf\u03b4\u03b1",
|
||||
"rule_trigger_source_account_starts_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03b1\u03c1\u03c7\u03af\u03b6\u03b5\u03b9 \u03bc\u03b5..",
|
||||
"rule_trigger_source_account_ends_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03c4\u03b5\u03bb\u03b5\u03b9\u03ce\u03bd\u03b5\u03b9 \u03bc\u03b5..",
|
||||
"rule_trigger_source_account_is_choice": "\u03a4\u03bf \u03cc\u03bd\u03bf\u03bc\u03b1 \u03c4\u03bf\u03c5 \u03bb\u03bf\u03b3\u03b1\u03c1\u03b9\u03b1\u03c3\u03bc\u03bf\u03cd \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9..",
|
||||
|
1
frontend/src/i18n/en_GB/index.js
vendored
1
frontend/src/i18n/en_GB/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "New transfer",
|
||||
"newDeposit": "New deposit",
|
||||
"newWithdrawal": "New expense",
|
||||
"bills_paid": "Bills paid",
|
||||
"rule_trigger_source_account_starts_choice": "Source account name starts with..",
|
||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||
|
1
frontend/src/i18n/en_US/index.js
vendored
1
frontend/src/i18n/en_US/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "New transfer",
|
||||
"newDeposit": "New deposit",
|
||||
"newWithdrawal": "New expense",
|
||||
"bills_paid": "Bills paid",
|
||||
"rule_trigger_source_account_starts_choice": "Source account name starts with..",
|
||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||
|
1
frontend/src/i18n/es_ES/index.js
vendored
1
frontend/src/i18n/es_ES/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nueva transferencia",
|
||||
"newDeposit": "Nuevo deposito",
|
||||
"newWithdrawal": "Nuevo gasto",
|
||||
"bills_paid": "Facturas pagadas",
|
||||
"rule_trigger_source_account_starts_choice": "El nombre de la cuenta de origen comienza con..",
|
||||
"rule_trigger_source_account_ends_choice": "El nombre de la cuenta de origen termina con..",
|
||||
"rule_trigger_source_account_is_choice": "El nombre de la cuenta origen es..",
|
||||
|
1
frontend/src/i18n/fi_FI/index.js
vendored
1
frontend/src/i18n/fi_FI/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Uusi siirto",
|
||||
"newDeposit": "Uusi talletus",
|
||||
"newWithdrawal": "Uusi kustannus",
|
||||
"bills_paid": "Maksetut laskut",
|
||||
"rule_trigger_source_account_starts_choice": "L\u00e4hdetilin nimi alkaa ...",
|
||||
"rule_trigger_source_account_ends_choice": "L\u00e4hdetilin nimi p\u00e4\u00e4ttyy..",
|
||||
"rule_trigger_source_account_is_choice": "L\u00e4hdetilin nimi on..",
|
||||
|
1
frontend/src/i18n/fr_FR/index.js
vendored
1
frontend/src/i18n/fr_FR/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nouveau transfert",
|
||||
"newDeposit": "Nouveau d\u00e9p\u00f4t",
|
||||
"newWithdrawal": "Nouvelle d\u00e9pense",
|
||||
"bills_paid": "Factures pay\u00e9es",
|
||||
"rule_trigger_source_account_starts_choice": "Le nom du compte source commence par..",
|
||||
"rule_trigger_source_account_ends_choice": "Le nom du compte source se termine par..",
|
||||
"rule_trigger_source_account_is_choice": "Le nom du compte source est..",
|
||||
|
1
frontend/src/i18n/hu_HU/index.js
vendored
1
frontend/src/i18n/hu_HU/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "\u00daj \u00e1tvezet\u00e9s",
|
||||
"newDeposit": "\u00daj bev\u00e9tel",
|
||||
"newWithdrawal": "\u00daj k\u00f6lts\u00e9g",
|
||||
"bills_paid": "Befizetett sz\u00e1ml\u00e1k",
|
||||
"rule_trigger_source_account_starts_choice": "Forr\u00e1ssz\u00e1mla nev\u00e9nek eleje..",
|
||||
"rule_trigger_source_account_ends_choice": "Forr\u00e1ssz\u00e1mla nev\u00e9nek v\u00e9ge..",
|
||||
"rule_trigger_source_account_is_choice": "A forr\u00e1ssz\u00e1mla neve..",
|
||||
|
1
frontend/src/i18n/it_IT/index.js
vendored
1
frontend/src/i18n/it_IT/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nuovo trasferimento",
|
||||
"newDeposit": "Nuova entrata",
|
||||
"newWithdrawal": "Nuova uscita",
|
||||
"bills_paid": "Bollette pagate",
|
||||
"rule_trigger_source_account_starts_choice": "Il nome del conto di origine inizia con..",
|
||||
"rule_trigger_source_account_ends_choice": "Il nome del conto di origine termina con..",
|
||||
"rule_trigger_source_account_is_choice": "Il nome del conto di origine \u00e8..",
|
||||
|
1
frontend/src/i18n/ja_JP/index.js
vendored
1
frontend/src/i18n/ja_JP/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "\u65b0\u3057\u3044\u9001\u91d1",
|
||||
"newDeposit": "\u65b0\u3057\u3044\u5165\u91d1",
|
||||
"newWithdrawal": "\u65b0\u3057\u3044\u652f\u51fa",
|
||||
"bills_paid": "\u652f\u6255\u3044\u6e08\u307f\u8acb\u6c42",
|
||||
"rule_trigger_source_account_starts_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c...\u3067\u59cb\u307e\u308b",
|
||||
"rule_trigger_source_account_ends_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c\u2026\u3067\u7d42\u308f\u308b",
|
||||
"rule_trigger_source_account_is_choice": "\u51fa\u91d1\u5143\u53e3\u5ea7\u540d\u304c...",
|
||||
|
1
frontend/src/i18n/nb_NO/index.js
vendored
1
frontend/src/i18n/nb_NO/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Ny overf\u00f8ring",
|
||||
"newDeposit": "Nytt innskudd",
|
||||
"newWithdrawal": "Ny utgift",
|
||||
"bills_paid": "Regninger betalt",
|
||||
"rule_trigger_source_account_starts_choice": "Source account name starts with..",
|
||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||
|
1
frontend/src/i18n/nl_NL/index.js
vendored
1
frontend/src/i18n/nl_NL/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nieuwe overschrijving",
|
||||
"newDeposit": "Nieuwe inkomsten",
|
||||
"newWithdrawal": "Nieuwe uitgave",
|
||||
"bills_paid": "Betaalde contracten",
|
||||
"rule_trigger_source_account_starts_choice": "Bronrekeningnaam begint met..",
|
||||
"rule_trigger_source_account_ends_choice": "Bronrekeningnaam eindigt op..",
|
||||
"rule_trigger_source_account_is_choice": "Bronrekeningnaam is..",
|
||||
|
1
frontend/src/i18n/pl_PL/index.js
vendored
1
frontend/src/i18n/pl_PL/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nowy transfer",
|
||||
"newDeposit": "Nowa wp\u0142ata",
|
||||
"newWithdrawal": "Nowy wydatek",
|
||||
"bills_paid": "Zap\u0142acone rachunki",
|
||||
"rule_trigger_source_account_starts_choice": "Konto \u017ar\u00f3d\u0142owe si\u0119 zaczyna od..",
|
||||
"rule_trigger_source_account_ends_choice": "Konto \u017ar\u00f3d\u0142owe ko\u0144czy si\u0119 na..",
|
||||
"rule_trigger_source_account_is_choice": "Kontem \u017ar\u00f3d\u0142owym jest..",
|
||||
|
1
frontend/src/i18n/pt_BR/index.js
vendored
1
frontend/src/i18n/pt_BR/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nova transfer\u00eancia",
|
||||
"newDeposit": "Novo dep\u00f3sito",
|
||||
"newWithdrawal": "Nova despesa",
|
||||
"bills_paid": "Contas pagas",
|
||||
"rule_trigger_source_account_starts_choice": "Nome da conta de origem come\u00e7a com..",
|
||||
"rule_trigger_source_account_ends_choice": "O nome da conta de origem termina com..",
|
||||
"rule_trigger_source_account_is_choice": "Nome da conta de origem \u00e9..",
|
||||
|
1
frontend/src/i18n/pt_PT/index.js
vendored
1
frontend/src/i18n/pt_PT/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nova transfer\u00eancia",
|
||||
"newDeposit": "Novo dep\u00f3sito",
|
||||
"newWithdrawal": "Nova despesa",
|
||||
"bills_paid": "Fatura pagas",
|
||||
"rule_trigger_source_account_starts_choice": "O nome da conta de origem come\u00e7a com..",
|
||||
"rule_trigger_source_account_ends_choice": "O nome da conta de origem acaba com..",
|
||||
"rule_trigger_source_account_is_choice": "O nome da conta de origem \u00e9..",
|
||||
|
1
frontend/src/i18n/ro_RO/index.js
vendored
1
frontend/src/i18n/ro_RO/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Transfer nou",
|
||||
"newDeposit": "Depozit nou",
|
||||
"newWithdrawal": "Cheltuieli noi",
|
||||
"bills_paid": "Facturile pl\u0103tite",
|
||||
"rule_trigger_source_account_starts_choice": "Numele contului surs\u0103 \u00eencepe cu..",
|
||||
"rule_trigger_source_account_ends_choice": "Numele contului surs\u0103 se termin\u0103 cu..",
|
||||
"rule_trigger_source_account_is_choice": "Numele contului surs\u0103 este..",
|
||||
|
1
frontend/src/i18n/ru_RU/index.js
vendored
1
frontend/src/i18n/ru_RU/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "\u041d\u043e\u0432\u044b\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434",
|
||||
"newDeposit": "\u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u0445\u043e\u0434",
|
||||
"newWithdrawal": "\u041d\u043e\u0432\u044b\u0439 \u0440\u0430\u0441\u0445\u043e\u0434",
|
||||
"bills_paid": "\u041e\u043f\u043b\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0441\u0447\u0435\u0442\u0430",
|
||||
"rule_trigger_source_account_starts_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441..",
|
||||
"rule_trigger_source_account_ends_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430..",
|
||||
"rule_trigger_source_account_is_choice": "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0447\u0451\u0442\u0430-\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430..",
|
||||
|
1
frontend/src/i18n/sk_SK/index.js
vendored
1
frontend/src/i18n/sk_SK/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Nov\u00fd p\u0159evod",
|
||||
"newDeposit": "Nov\u00fd vklad",
|
||||
"newWithdrawal": "Nov\u00fd v\u00fddavok",
|
||||
"bills_paid": "Zaplaten\u00e9 \u00fa\u010dty",
|
||||
"rule_trigger_source_account_starts_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu za\u010d\u00edna..",
|
||||
"rule_trigger_source_account_ends_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu kon\u010d\u00ed..",
|
||||
"rule_trigger_source_account_is_choice": "N\u00e1zov zdrojov\u00e9ho \u00fa\u010dtu je..",
|
||||
|
1
frontend/src/i18n/sv_SE/index.js
vendored
1
frontend/src/i18n/sv_SE/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Ny \u00f6verf\u00f6ring",
|
||||
"newDeposit": "Ny ins\u00e4ttning",
|
||||
"newWithdrawal": "Ny utgift",
|
||||
"bills_paid": "Notor betalda",
|
||||
"rule_trigger_source_account_starts_choice": "K\u00e4llkontonamn b\u00f6rjar med..",
|
||||
"rule_trigger_source_account_ends_choice": "K\u00e4llkontonamn slutar med..",
|
||||
"rule_trigger_source_account_is_choice": "K\u00e4llkontonamn \u00e4r..",
|
||||
|
1
frontend/src/i18n/vi_VN/index.js
vendored
1
frontend/src/i18n/vi_VN/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "Chuy\u1ec3n kho\u1ea3n m\u1edbi",
|
||||
"newDeposit": "Ti\u1ec1n g\u1eedi m\u1edbi",
|
||||
"newWithdrawal": "Chi ph\u00ed m\u1edbi",
|
||||
"bills_paid": "H\u00f3a \u0111\u01a1n thanh to\u00e1n",
|
||||
"rule_trigger_source_account_starts_choice": "Source account name starts with..",
|
||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||
|
1
frontend/src/i18n/zh_CN/index.js
vendored
1
frontend/src/i18n/zh_CN/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "\u65b0\u8f6c\u8d26",
|
||||
"newDeposit": "\u65b0\u6536\u5165",
|
||||
"newWithdrawal": "\u65b0\u652f\u51fa",
|
||||
"bills_paid": "\u5df2\u4ed8\u8d26\u5355",
|
||||
"rule_trigger_source_account_starts_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u5f00\u5934\u4e3a...",
|
||||
"rule_trigger_source_account_ends_choice": "\u6765\u6e90\u8d26\u6237\u7ed3\u5c3e\u4e3a\u2026",
|
||||
"rule_trigger_source_account_is_choice": "\u6765\u6e90\u8d26\u6237\u540d\u79f0\u4e3a...",
|
||||
|
1
frontend/src/i18n/zh_TW/index.js
vendored
1
frontend/src/i18n/zh_TW/index.js
vendored
@@ -51,6 +51,7 @@ export default {
|
||||
"newTransfer": "\u65b0\u8f49\u5e33",
|
||||
"newDeposit": "\u65b0\u5b58\u6b3e",
|
||||
"newWithdrawal": "\u65b0\u652f\u51fa",
|
||||
"bills_paid": "\u5df2\u7e73\u5e33\u55ae",
|
||||
"rule_trigger_source_account_starts_choice": "Source account name starts with..",
|
||||
"rule_trigger_source_account_ends_choice": "Source account name ends with..",
|
||||
"rule_trigger_source_account_is_choice": "Source account name is..",
|
||||
|
@@ -1 +1 @@
|
||||
<!DOCTYPE html><html><head><base href=/v3/ ><title>Firefly III</title><meta charset=utf-8><meta name=description content="Personal finances manager"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=32x32 href=favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=favicon-16x16.png><link rel=apple-touch-icon sizes=76x76 href=maskable76.png><link rel=apple-touch-icon sizes=120x120 href=maskable120.png><link rel=apple-touch-icon sizes=152x152 href=maskable152.png><link rel=apple-touch-icon sizes=180x180 href=apple-touch-icon.png><link rel=mask-icon href=safari-pinned-tab.svg color=#3c8dbc><link href=maskable192.png rel=icon sizes=192x192><link href=maskable128.png rel=icon sizes=128x128><link rel=manifest href=manifest.webmanifest><meta name=msapplication-TileColor content=#1e6581><meta name=msapplication-TileImage content=maskable512.png><meta name=msapplication-tap-highlight content=no><meta name=application-name content="Firefly III"><meta name=robots content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir"><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-title content="Firefly III"><meta name=application-name content="Firefly III"><meta name=msapplication-TileColor content=#3c8dbc><meta name=msapplication-TileImage content="mstile-144x144.png?v=3e8AboOwbd"><meta name=theme-color content=#3c8dbc><script defer src=/v3/js/vendor.32c6267c.js></script><script defer src=/v3/js/app.2d290244.js></script><link href=/v3/css/vendor.c9c81b16.css rel=stylesheet><link href=/v3/css/app.50c7ba73.css rel=stylesheet></head><body><div id=q-app></div></body></html>
|
||||
<!DOCTYPE html><html><head><base href=/v3/ ><title>Firefly III</title><meta charset=utf-8><meta name=description content="Personal finances manager"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1,width=device-width"><link rel=icon type=image/png sizes=32x32 href=favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=favicon-16x16.png><link rel=apple-touch-icon sizes=76x76 href=maskable76.png><link rel=apple-touch-icon sizes=120x120 href=maskable120.png><link rel=apple-touch-icon sizes=152x152 href=maskable152.png><link rel=apple-touch-icon sizes=180x180 href=apple-touch-icon.png><link rel=mask-icon href=safari-pinned-tab.svg color=#3c8dbc><link href=maskable192.png rel=icon sizes=192x192><link href=maskable128.png rel=icon sizes=128x128><link rel=manifest href=manifest.webmanifest><meta name=msapplication-TileColor content=#1e6581><meta name=msapplication-TileImage content=maskable512.png><meta name=msapplication-tap-highlight content=no><meta name=application-name content="Firefly III"><meta name=robots content="noindex, nofollow, noarchive, noodp, NoImageIndex, noydir"><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-title content="Firefly III"><meta name=application-name content="Firefly III"><meta name=msapplication-TileColor content=#3c8dbc><meta name=msapplication-TileImage content="mstile-144x144.png?v=3e8AboOwbd"><meta name=theme-color content=#3c8dbc><script defer src=/v3/js/vendor.2040cfd3.js></script><script defer src=/v3/js/app.f3f5e525.js></script><link href=/v3/css/vendor.c9c81b16.css rel=stylesheet><link href=/v3/css/app.50c7ba73.css rel=stylesheet></head><body><div id=q-app></div></body></html>
|
File diff suppressed because one or more lines are too long
1
public/v3/js/2195.5563beff.js
vendored
1
public/v3/js/2195.5563beff.js
vendored
File diff suppressed because one or more lines are too long
1
public/v3/js/2323.20e1fbf4.js
vendored
1
public/v3/js/2323.20e1fbf4.js
vendored
@@ -1 +0,0 @@
|
||||
"use strict";(self["webpackChunkfirefly_iii"]=self["webpackChunkfirefly_iii"]||[]).push([[2323],{2323:(e,t,s)=>{s.r(t),s.d(t,{default:()=>g});var a=s(9835);function n(e,t,s,n,r,i){const o=(0,a.up)("ApexChart");return(0,a.wg)(),(0,a.iD)("div",null,[(0,a.Wm)(o,{width:"100%",ref:"chart",height:"350",type:"line",options:r.options,series:r.series},null,8,["options","series"])])}s(702);var r=s(1569),i=s(8898);class o{overview(e,t){let s=(0,i.Z)(e.start,"y-MM-dd"),a=(0,i.Z)(e.end,"y-MM-dd");return r.api.get("/api/v1/chart/account/overview",{params:{start:s,end:a,cache:t}})}}var l=s(9302),h=s(3555);const d={name:"HomeChart",computed:{},data(){return{range:{start:null,end:null},loading:!1,currencies:[],options:{theme:{mode:"dark"},dataLabels:{enabled:!1},noData:{text:"Loading..."},chart:{id:"vuechart-home",toolbar:{show:!0,tools:{download:!1,selection:!1,pan:!1}}},yaxis:{labels:{formatter:this.numberFormatter}},labels:[],xaxis:{categories:[]}},series:[],locale:"en-US",dateFormat:"MMMM d, y",store:null}},created(){const e=(0,l.Z)();this.locale=e.lang.getLocale(),this.dateFormat=this.$t("config.month_and_day_fns")},mounted(){this.store=(0,h.S)();const e=(0,l.Z)();this.options.theme.mode=e.dark.isActive?"dark":"light",null!==this.range.start&&null!==this.range.end||this.store.$onAction((({name:e,store:t,args:s,after:a,onError:n})=>{a((t=>{"setRange"===e&&(this.range=t,this.buildChart())}))})),null!==this.store.getRange.start&&null!==this.store.getRange.end&&this.buildChart()},methods:{numberFormatter:function(e,t){var s;let a=null!==(s=this.currencies[t])&&void 0!==s?s:"EUR";return Intl.NumberFormat(this.locale,{style:"currency",currency:a}).format(e)},buildChart:function(){if(null!==this.store.getRange.start&&null!==this.store.getRange.end){let e=this.store.getRange.start,t=this.store.getRange.end;if(!1===this.loading){this.loading=!0;const s=new o;this.generateStaticLabels({start:e,end:t}),s.overview({start:e,end:t},this.getCacheKey).then((e=>{this.generateSeries(e.data)}))}}},generateSeries:function(e){let t;this.series=[];for(let s in e)if(e.hasOwnProperty(s)){t={},t.name=e[s].label,t.data=[],this.currencies.push(e[s].currency_code);for(let a in e[s].entries)t.data.push(e[s].entries[a]);this.series.push(t)}this.loading=!1},generateStaticLabels:function(e){let t,s=new Date(e.start),a=[];while(s<=e.end)a.push((0,i.Z)(s,this.dateFormat)),t=s.setDate(s.getDate()+1),s=new Date(t);this.options={...this.options,labels:a}}},components:{ApexChart:(0,a.RC)((()=>s.e(4736).then(s.t.bind(s,7092,23))))}};var c=s(1639);const u=(0,c.Z)(d,[["render",n]]),g=u}}]);
|
@@ -1 +1 @@
|
||||
"use strict";(self["webpackChunkfirefly_iii"]=self["webpackChunkfirefly_iii"]||[]).push([[4640],{4640:(e,s,t)=>{t.r(s),t.d(s,{default:()=>Q});var r=t(9835),o=t(6970);const a={class:"row q-mx-md"},i={class:"col-12"},l={class:"row q-mx-md q-mt-md"},n={class:"col-12"},u=(0,r._)("div",{class:"text-h6"},"Info for new budget",-1),d={class:"row"},m={class:"col-12 q-mb-xs"},c={class:"row q-mx-md"},b={class:"col-12"},h={class:"row"},p={class:"col-12 text-right"},f={class:"row"},g={class:"col-12 text-right"},w=(0,r._)("br",null,null,-1);function _(e,s,t,_,v,q){const E=(0,r.up)("q-btn"),k=(0,r.up)("q-banner"),x=(0,r.up)("q-card-section"),C=(0,r.up)("q-input"),R=(0,r.up)("q-card"),I=(0,r.up)("q-checkbox"),S=(0,r.up)("q-page");return(0,r.wg)(),(0,r.j4)(S,null,{default:(0,r.w5)((()=>[(0,r._)("div",a,[(0,r._)("div",i,[""!==v.errorMessage?((0,r.wg)(),(0,r.j4)(k,{key:0,"inline-actions":"",rounded:"",class:"bg-orange text-white"},{action:(0,r.w5)((()=>[(0,r.Wm)(E,{flat:"",onClick:q.dismissBanner,label:"Dismiss"},null,8,["onClick"])])),default:(0,r.w5)((()=>[(0,r.Uk)((0,o.zw)(v.errorMessage)+" ",1)])),_:1})):(0,r.kq)("",!0)])]),(0,r._)("div",l,[(0,r._)("div",n,[(0,r.Wm)(R,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(x,null,{default:(0,r.w5)((()=>[u])),_:1}),(0,r.Wm)(x,null,{default:(0,r.w5)((()=>[(0,r._)("div",d,[(0,r._)("div",m,[(0,r.Wm)(C,{"error-message":v.submissionErrors.name,error:v.hasSubmissionErrors.name,"bottom-slots":"",disable:q.disabledInput,type:"text",clearable:"",modelValue:v.name,"onUpdate:modelValue":s[0]||(s[0]=e=>v.name=e),label:e.$t("form.name"),outlined:""},null,8,["error-message","error","disable","modelValue","label"])])])])),_:1})])),_:1})])]),(0,r._)("div",c,[(0,r._)("div",b,[(0,r.Wm)(R,{class:"q-mt-xs"},{default:(0,r.w5)((()=>[(0,r.Wm)(x,null,{default:(0,r.w5)((()=>[(0,r._)("div",h,[(0,r._)("div",p,[(0,r.Wm)(E,{disable:q.disabledInput,color:"primary",label:"Submit",onClick:q.submitBudget},null,8,["disable","onClick"])])]),(0,r._)("div",f,[(0,r._)("div",g,[(0,r.Wm)(I,{disable:q.disabledInput,modelValue:v.doReturnHere,"onUpdate:modelValue":s[1]||(s[1]=e=>v.doReturnHere=e),"left-label":"",label:"Return here to create another one"},null,8,["disable","modelValue"]),w,(0,r.Wm)(I,{modelValue:v.doResetForm,"onUpdate:modelValue":s[2]||(s[2]=e=>v.doResetForm=e),"left-label":"",disable:!v.doReturnHere||q.disabledInput,label:"Reset form after submission"},null,8,["modelValue","disable"])])])])),_:1})])),_:1})])])])),_:1})}var v=t(1569);class q{post(e){let s="/api/v1/budgets";return v.api.post(s,e)}}const E={name:"Create",data(){return{submissionErrors:{},hasSubmissionErrors:{},submitting:!1,doReturnHere:!1,doResetForm:!1,errorMessage:"",type:"",name:""}},computed:{disabledInput:function(){return this.submitting}},created(){this.resetForm(),this.type=this.$route.params.type},methods:{resetForm:function(){this.name="",this.resetErrors()},resetErrors:function(){this.submissionErrors={name:""},this.hasSubmissionErrors={name:!1}},submitBudget:function(){this.submitting=!0,this.errorMessage="",this.resetErrors();const e=this.buildBudget();let s=new q;s.post(e).catch(this.processErrors).then(this.processSuccess)},buildBudget:function(){return{name:this.name}},dismissBanner:function(){this.errorMessage=""},processSuccess:function(e){if(!e)return;this.submitting=!1;let s={level:"success",text:"I am new budget",show:!0,action:{show:!0,text:"Go to budget",link:{name:"budgets.show",params:{id:parseInt(e.data.data.id)}}}};this.$q.localStorage.set("flash",s),this.doReturnHere&&window.dispatchEvent(new CustomEvent("flash",{detail:{flash:this.$q.localStorage.getItem("flash")}})),this.doReturnHere||this.$router.go(-1)},processErrors:function(e){if(e.response){let s=e.response.data;this.errorMessage=s.message,console.log(s);for(let e in s.errors)s.errors.hasOwnProperty(e)&&(this.submissionErrors[e]=s.errors[e][0],this.hasSubmissionErrors[e]=!0)}this.submitting=!1}}};var k=t(1639),x=t(9885),C=t(7128),R=t(8879),I=t(4458),S=t(3190),W=t(6611),y=t(1221),V=t(9984),B=t.n(V);const Z=(0,k.Z)(E,[["render",_]]),Q=Z;B()(E,"components",{QPage:x.Z,QBanner:C.Z,QBtn:R.Z,QCard:I.Z,QCardSection:S.Z,QInput:W.Z,QCheckbox:y.Z})}}]);
|
||||
"use strict";(self["webpackChunkfirefly_iii"]=self["webpackChunkfirefly_iii"]||[]).push([[4640],{4343:(e,s,t)=>{t.r(s),t.d(s,{default:()=>Q});var r=t(9835),o=t(6970);const a={class:"row q-mx-md"},i={class:"col-12"},l={class:"row q-mx-md q-mt-md"},n={class:"col-12"},u=(0,r._)("div",{class:"text-h6"},"Info for new budget",-1),d={class:"row"},m={class:"col-12 q-mb-xs"},c={class:"row q-mx-md"},b={class:"col-12"},h={class:"row"},p={class:"col-12 text-right"},f={class:"row"},g={class:"col-12 text-right"},w=(0,r._)("br",null,null,-1);function _(e,s,t,_,v,q){const E=(0,r.up)("q-btn"),k=(0,r.up)("q-banner"),x=(0,r.up)("q-card-section"),C=(0,r.up)("q-input"),R=(0,r.up)("q-card"),I=(0,r.up)("q-checkbox"),S=(0,r.up)("q-page");return(0,r.wg)(),(0,r.j4)(S,null,{default:(0,r.w5)((()=>[(0,r._)("div",a,[(0,r._)("div",i,[""!==v.errorMessage?((0,r.wg)(),(0,r.j4)(k,{key:0,"inline-actions":"",rounded:"",class:"bg-orange text-white"},{action:(0,r.w5)((()=>[(0,r.Wm)(E,{flat:"",onClick:q.dismissBanner,label:"Dismiss"},null,8,["onClick"])])),default:(0,r.w5)((()=>[(0,r.Uk)((0,o.zw)(v.errorMessage)+" ",1)])),_:1})):(0,r.kq)("",!0)])]),(0,r._)("div",l,[(0,r._)("div",n,[(0,r.Wm)(R,{bordered:""},{default:(0,r.w5)((()=>[(0,r.Wm)(x,null,{default:(0,r.w5)((()=>[u])),_:1}),(0,r.Wm)(x,null,{default:(0,r.w5)((()=>[(0,r._)("div",d,[(0,r._)("div",m,[(0,r.Wm)(C,{"error-message":v.submissionErrors.name,error:v.hasSubmissionErrors.name,"bottom-slots":"",disable:q.disabledInput,type:"text",clearable:"",modelValue:v.name,"onUpdate:modelValue":s[0]||(s[0]=e=>v.name=e),label:e.$t("form.name"),outlined:""},null,8,["error-message","error","disable","modelValue","label"])])])])),_:1})])),_:1})])]),(0,r._)("div",c,[(0,r._)("div",b,[(0,r.Wm)(R,{class:"q-mt-xs"},{default:(0,r.w5)((()=>[(0,r.Wm)(x,null,{default:(0,r.w5)((()=>[(0,r._)("div",h,[(0,r._)("div",p,[(0,r.Wm)(E,{disable:q.disabledInput,color:"primary",label:"Submit",onClick:q.submitBudget},null,8,["disable","onClick"])])]),(0,r._)("div",f,[(0,r._)("div",g,[(0,r.Wm)(I,{disable:q.disabledInput,modelValue:v.doReturnHere,"onUpdate:modelValue":s[1]||(s[1]=e=>v.doReturnHere=e),"left-label":"",label:"Return here to create another one"},null,8,["disable","modelValue"]),w,(0,r.Wm)(I,{modelValue:v.doResetForm,"onUpdate:modelValue":s[2]||(s[2]=e=>v.doResetForm=e),"left-label":"",disable:!v.doReturnHere||q.disabledInput,label:"Reset form after submission"},null,8,["modelValue","disable"])])])])),_:1})])),_:1})])])])),_:1})}var v=t(1569);class q{post(e){let s="/api/v1/budgets";return v.api.post(s,e)}}const E={name:"Create",data(){return{submissionErrors:{},hasSubmissionErrors:{},submitting:!1,doReturnHere:!1,doResetForm:!1,errorMessage:"",type:"",name:""}},computed:{disabledInput:function(){return this.submitting}},created(){this.resetForm(),this.type=this.$route.params.type},methods:{resetForm:function(){this.name="",this.resetErrors()},resetErrors:function(){this.submissionErrors={name:""},this.hasSubmissionErrors={name:!1}},submitBudget:function(){this.submitting=!0,this.errorMessage="",this.resetErrors();const e=this.buildBudget();let s=new q;s.post(e).catch(this.processErrors).then(this.processSuccess)},buildBudget:function(){return{name:this.name}},dismissBanner:function(){this.errorMessage=""},processSuccess:function(e){if(!e)return;this.submitting=!1;let s={level:"success",text:"I am new budget",show:!0,action:{show:!0,text:"Go to budget",link:{name:"budgets.show",params:{id:parseInt(e.data.data.id)}}}};this.$q.localStorage.set("flash",s),this.doReturnHere&&window.dispatchEvent(new CustomEvent("flash",{detail:{flash:this.$q.localStorage.getItem("flash")}})),this.doReturnHere||this.$router.go(-1)},processErrors:function(e){if(e.response){let s=e.response.data;this.errorMessage=s.message,console.log(s);for(let e in s.errors)s.errors.hasOwnProperty(e)&&(this.submissionErrors[e]=s.errors[e][0],this.hasSubmissionErrors[e]=!0)}this.submitting=!1}}};var k=t(1639),x=t(9885),C=t(7128),R=t(8879),I=t(4458),S=t(3190),W=t(6611),y=t(1221),V=t(9984),B=t.n(V);const Z=(0,k.Z)(E,[["render",_]]),Q=Z;B()(E,"components",{QPage:x.Z,QBanner:C.Z,QBtn:R.Z,QCard:I.Z,QCardSection:S.Z,QInput:W.Z,QCheckbox:y.Z})}}]);
|
1
public/v3/js/5574.f3eca6b9.js
vendored
Normal file
1
public/v3/js/5574.f3eca6b9.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunkfirefly_iii"]=self["webpackChunkfirefly_iii"]||[]).push([[5574],{5574:(t,e,n)=>{n.r(e),n.d(e,{default:()=>W});var a=n(9835),i=n(6970);const s={class:"q-mr-sm"},r={key:0},u=(0,a._)("br",null,null,-1),l={key:0};function o(t,e,n,o,d,p){const m=(0,a.up)("q-item-label"),c=(0,a.up)("q-item-section"),h=(0,a.up)("q-item"),g=(0,a.up)("q-separator"),f=(0,a.up)("q-circular-progress"),w=(0,a.up)("q-card-section"),y=(0,a.up)("q-card");return(0,a.wg)(),(0,a.iD)("div",s,[(0,a.Wm)(y,{bordered:""},{default:(0,a.w5)((()=>[(0,a.Wm)(h,null,{default:(0,a.w5)((()=>[(0,a.Wm)(c,null,{default:(0,a.w5)((()=>[(0,a.Wm)(m,null,{default:(0,a.w5)((()=>[(0,a.Uk)((0,i.zw)(t.$t("firefly.bills_to_pay")),1)])),_:1})])),_:1})])),_:1}),(0,a.Wm)(g),(0,a.Wm)(w,{horizontal:""},{default:(0,a.w5)((()=>[(0,a.Wm)(w,null,{default:(0,a.w5)((()=>[(0,a.Wm)(f,{value:p.percentage,size:"50px",thickness:.22,color:"green","track-color":"grey-3"},null,8,["value","thickness"])])),_:1}),(0,a.Wm)(g,{vertical:""}),(0,a.Wm)(w,null,{default:(0,a.w5)((()=>[(0,a.Uk)((0,i.zw)(t.$t("firefly.bills_to_pay"))+": ",1),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.unpaid,((t,e)=>((0,a.wg)(),(0,a.iD)("span",null,[(0,a.Uk)((0,i.zw)(p.formatAmount(t.code,t.sum))+" ",1),e+1!==d.unpaid.length?((0,a.wg)(),(0,a.iD)("span",r,", ")):(0,a.kq)("",!0)])))),256)),u,(0,a.Uk)(" "+(0,i.zw)(t.$t("firefly.bills_paid"))+": ",1),((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)(d.paid,((t,e)=>((0,a.wg)(),(0,a.iD)("span",null,[(0,a.Uk)((0,i.zw)(p.formatAmount(t.code,t.sum))+" ",1),e+1!==d.paid.length?((0,a.wg)(),(0,a.iD)("span",l,", ")):(0,a.kq)("",!0)])))),256))])),_:1})])),_:1})])),_:1})])}var d=n(3555),p=n(1569),m=n(8898);class c{unpaid(t,e){let n="api/v2/bills/sum/unpaid",a=(0,m.Z)(t,"y-MM-dd"),i=(0,m.Z)(e,"y-MM-dd");return p.api.get(n,{params:{start:a,end:i}})}paid(t,e){let n="api/v2/bills/sum/paid",a=(0,m.Z)(t,"y-MM-dd"),i=(0,m.Z)(e,"y-MM-dd");return p.api.get(n,{params:{start:a,end:i}})}}const h={data(){return{store:null,unpaid:[],paid:[],unpaidAmount:0,paidAmount:0,range:{start:null,end:null}}},name:"BillInsightBox",computed:{percentage:function(){if(0===this.unpaidAmount)return 100;const t=this.unpaidAmount+this.paidAmount;return 0===this.paidAmount?0:this.paidAmount/t*100}},mounted(){this.store=(0,d.S)(),null!==this.range.start&&null!==this.range.end||this.store.$onAction((({name:t,$store:e,args:n,after:a,onError:i})=>{a((e=>{"setRange"===t&&(this.range=e,this.triggerUpdate())}))})),this.triggerUpdate()},methods:{triggerUpdate:function(){if(null!==this.store.getRange.start&&null!==this.store.getRange.end){this.unpaid=[];const t=new Date(this.store.getRange.start),e=new Date(this.store.getRange.end),n=new c;n.unpaid(t,e).then((t=>this.parseUnpaidResponse(t.data))),n.paid(t,e).then((t=>this.parsePaidResponse(t.data)))}},formatAmount:function(t,e){return Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(e)},parseUnpaidResponse:function(t){for(let e in t)if(t.hasOwnProperty(e)){const n=t[e];this.unpaid.push({sum:n.sum,code:n.code}),this.unpaidAmount=this.unpaidAmount+parseFloat(n.sum)}},parsePaidResponse:function(t){for(let e in t)if(t.hasOwnProperty(e)){const n=t[e];this.paid.push({sum:n.sum,code:n.code}),this.paidAmount=this.paidAmount+-1*parseFloat(n.sum)}}}};var g=n(1639),f=n(4458),w=n(490),y=n(1233),k=n(3115),A=n(926),_=n(3190),b=n(3302),Z=n(9984),U=n.n(Z);const q=(0,g.Z)(h,[["render",o]]),W=q;U()(h,"components",{QCard:f.Z,QItem:w.Z,QItemSection:y.Z,QItemLabel:k.Z,QSeparator:A.Z,QCardSection:_.Z,QCircularProgress:b.Z})}}]);
|
1
public/v3/js/6742.43b23362.js
vendored
1
public/v3/js/6742.43b23362.js
vendored
@@ -1 +0,0 @@
|
||||
"use strict";(self["webpackChunkfirefly_iii"]=self["webpackChunkfirefly_iii"]||[]).push([[6742],{6742:(e,t,a)=>{a.r(t),a.d(t,{default:()=>v});var s=a(9835);const n={key:0,class:"q-ma-md"},o={key:1,class:"q-ma-md"},r={key:2,class:"row q-ma-md"},l={class:"col-12"},i=(0,s._)("div",{class:"text-h6"},"Firefly III",-1),c=(0,s._)("div",{class:"text-subtitle2"},"What's playing?",-1);function u(e,t,a,u,m,d){const f=(0,s.up)("NewUser"),p=(0,s.up)("Boxes"),h=(0,s.up)("q-card-section"),w=(0,s.up)("HomeChart"),g=(0,s.up)("q-card"),b=(0,s.up)("q-fab-action"),y=(0,s.up)("q-fab"),C=(0,s.up)("q-page-sticky"),q=(0,s.up)("q-page");return(0,s.wg)(),(0,s.j4)(q,null,{default:(0,s.w5)((()=>[0===e.assetCount?((0,s.wg)(),(0,s.iD)("div",n,[(0,s.Wm)(f,{onCreatedAccounts:e.refreshThenCount},null,8,["onCreatedAccounts"])])):(0,s.kq)("",!0),e.assetCount>0?((0,s.wg)(),(0,s.iD)("div",o,[(0,s.Wm)(p)])):(0,s.kq)("",!0),e.assetCount>0?((0,s.wg)(),(0,s.iD)("div",r,[(0,s._)("div",l,[(0,s.Wm)(g,{bordered:""},{default:(0,s.w5)((()=>[(0,s.Wm)(h,null,{default:(0,s.w5)((()=>[i,c])),_:1}),(0,s.Wm)(h,null,{default:(0,s.w5)((()=>[(0,s.Wm)(w)])),_:1})])),_:1})])])):(0,s.kq)("",!0),e.assetCount>0?((0,s.wg)(),(0,s.j4)(C,{key:3,position:"bottom-right",offset:[18,18]},{default:(0,s.w5)((()=>[(0,s.Wm)(y,{label:"Actions",square:"","vertical-actions-align":"right","label-position":"left",color:"green",icon:"fas fa-chevron-up",direction:"up"},{default:(0,s.w5)((()=>[(0,s.Wm)(b,{color:"primary",square:"",icon:"fas fa-chart-pie",label:"New budget",to:{name:"budgets.create"}},null,8,["to"]),(0,s.Wm)(b,{color:"primary",square:"",icon:"far fa-money-bill-alt",label:"New asset account",to:{name:"accounts.create",params:{type:"asset"}}},null,8,["to"]),(0,s.Wm)(b,{color:"primary",square:"",icon:"fas fa-exchange-alt",label:"New transfer",to:{name:"transactions.create",params:{type:"transfer"}}},null,8,["to"]),(0,s.Wm)(b,{color:"primary",square:"",icon:"fas fa-long-arrow-alt-right",label:"New deposit",to:{name:"transactions.create",params:{type:"deposit"}}},null,8,["to"]),(0,s.Wm)(b,{color:"primary",square:"",icon:"fas fa-long-arrow-alt-left",label:"New withdrawal",to:{name:"transactions.create",params:{type:"withdrawal"}}},null,8,["to"])])),_:1})])),_:1})):(0,s.kq)("",!0)])),_:1})}a(702);var m=a(3836),d=a(3555);const f=(0,s.aZ)({name:"PageIndex",components:{Boxes:(0,s.RC)((()=>Promise.all([a.e(4736),a.e(2195)]).then(a.bind(a,2195)))),HomeChart:(0,s.RC)((()=>Promise.all([a.e(4736),a.e(2323)]).then(a.bind(a,2323)))),NewUser:(0,s.RC)((()=>Promise.all([a.e(4736),a.e(3064),a.e(1543)]).then(a.bind(a,1543))))},data(){return{assetCount:1,$store:null}},computed:{},mounted(){this.countAssetAccounts()},methods:{refreshThenCount:function(){this.$store=(0,d.S)(),this.$store.refreshCacheKey(),this.countAssetAccounts()},countAssetAccounts:function(){let e=new m.Z;e.list("asset",1,this.getCacheKey).then((e=>{this.assetCount=parseInt(e.data.meta.pagination.total)}))}}});var p=a(1639),h=a(9885),w=a(4458),g=a(3190),b=a(3388),y=a(9361),C=a(935),q=a(9984),k=a.n(q);const W=(0,p.Z)(f,[["render",u]]),v=W;k()(f,"components",{QPage:h.Z,QCard:w.Z,QCardSection:g.Z,QPageSticky:b.Z,QFab:y.Z,QFabAction:C.Z})}}]);
|
1
public/v3/js/7135.b88c6b37.js
vendored
Normal file
1
public/v3/js/7135.b88c6b37.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";(self["webpackChunkfirefly_iii"]=self["webpackChunkfirefly_iii"]||[]).push([[7135],{4640:(e,a,t)=>{t.r(a),t.d(a,{default:()=>D});var s=t(9835);const o={key:0},n={key:1};function i(e,a,t,i,l,r){const c=(0,s.up)("NewUser"),u=(0,s.up)("Dashboard"),d=(0,s.up)("q-page");return(0,s.wg)(),(0,s.j4)(d,null,{default:(0,s.w5)((()=>[0===e.assetCount?((0,s.wg)(),(0,s.iD)("div",o,[(0,s.Wm)(c,{onCreatedAccounts:e.refreshThenCount},null,8,["onCreatedAccounts"])])):(0,s.kq)("",!0),e.assetCount>0?((0,s.wg)(),(0,s.iD)("div",n,[(0,s.Wm)(u)])):(0,s.kq)("",!0)])),_:1})}t(702);var l=t(3836),r=t(3555);const c={class:"q-ma-md"},u={class:"row q-mb-sm"},d={class:"col"},m=(0,s._)("div",{class:"col"}," TODO spend insight ",-1),f=(0,s._)("div",{class:"col"}," TODO net worth insight ",-1),p=(0,s.uE)('<div class="row q-mb-sm"><div class="col"> Account chart box </div></div><div class="row q-mb-sm"><div class="col"> Account transaction list. </div></div><div class="row q-mb-sm"><div class="col"> Budget box </div><div class="col"> Category box </div></div><div class="row q-mb-sm"><div class="col"> Expense Box </div><div class="col"> Revenue Box </div></div><div class="row q-mb-sm"><div class="col"> Piggy box </div><div class="col"> Bill box </div></div>',5);function v(e,a,t,o,n,i){const l=(0,s.up)("BillInsightBox"),r=(0,s.up)("q-fab-action"),v=(0,s.up)("q-fab"),b=(0,s.up)("q-page-sticky");return(0,s.wg)(),(0,s.iD)("div",c,[(0,s._)("div",u,[(0,s._)("div",d,[(0,s.Wm)(l)]),m,f]),p,(0,s.Wm)(b,{position:"bottom-right",offset:[18,18]},{default:(0,s.w5)((()=>[(0,s.Wm)(v,{label:"Actions",square:"","vertical-actions-align":"right","label-position":"left",color:"green",icon:"fas fa-chevron-up",direction:"up"},{default:(0,s.w5)((()=>[(0,s.Wm)(r,{color:"primary",square:"",icon:"fas fa-chart-pie",label:e.$t("firefly.new_budget"),to:{name:"budgets.create"}},null,8,["label","to"]),(0,s.Wm)(r,{color:"primary",square:"",icon:"far fa-money-bill-alt",label:e.$t("firefly.new_asset_account"),to:{name:"accounts.create",params:{type:"asset"}}},null,8,["label","to"]),(0,s.Wm)(r,{color:"primary",square:"",icon:"fas fa-exchange-alt",label:e.$t("firefly.newTransfer"),to:{name:"transactions.create",params:{type:"transfer"}}},null,8,["label","to"]),(0,s.Wm)(r,{color:"primary",square:"",icon:"fas fa-long-arrow-alt-right",label:e.$t("firefly.newDeposit"),to:{name:"transactions.create",params:{type:"deposit"}}},null,8,["label","to"]),(0,s.Wm)(r,{color:"primary",square:"",icon:"fas fa-long-arrow-alt-left",label:e.$t("firefly.newWithdrawal"),to:{name:"transactions.create",params:{type:"withdrawal"}}},null,8,["label","to"])])),_:1})])),_:1})])}const b={name:"Dashboard",components:{BillInsightBox:(0,s.RC)((()=>Promise.all([t.e(4736),t.e(5574)]).then(t.bind(t,5574))))}};var h=t(1639),g=t(3388),w=t(9361),y=t(935),q=t(9984),C=t.n(q);const x=(0,h.Z)(b,[["render",v]]),A=x;C()(b,"components",{QPageSticky:g.Z,QFab:w.Z,QFabAction:y.Z});const _=(0,s.aZ)({name:"PageIndex",components:{Dashboard:A,NewUser:(0,s.RC)((()=>Promise.all([t.e(4736),t.e(3064),t.e(1543)]).then(t.bind(t,1543))))},data(){return{assetCount:1,$store:null}},mounted(){this.countAssetAccounts()},methods:{refreshThenCount:function(){this.$store=(0,r.S)(),this.$store.refreshCacheKey(),this.countAssetAccounts()},countAssetAccounts:function(){let e=new l.Z;e.list("asset",1,this.getCacheKey).then((e=>{this.assetCount=parseInt(e.data.meta.pagination.total)}))}}});var W=t(9885);const k=(0,h.Z)(_,[["render",i]]),D=k;C()(_,"components",{QPage:W.Z})}}]);
|
1
public/v3/js/app.2d290244.js
vendored
1
public/v3/js/app.2d290244.js
vendored
File diff suppressed because one or more lines are too long
1
public/v3/js/app.f3f5e525.js
vendored
Normal file
1
public/v3/js/app.f3f5e525.js
vendored
Normal file
File diff suppressed because one or more lines are too long
456
public/v3/js/vendor.2040cfd3.js
vendored
Normal file
456
public/v3/js/vendor.2040cfd3.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user