Rebuild frontend

This commit is contained in:
James Cole
2021-02-05 06:45:27 +01:00
parent d69843d4bc
commit 8e42f25a1e
38 changed files with 187 additions and 66 deletions

View File

@@ -34,7 +34,7 @@
<script>
export default {
name: "BudgetRow",
mounted() {
created() {
this.locale = localStorage.locale ?? 'en-US';
},
data() {

View File

@@ -26,7 +26,7 @@
extends: Line,
props: ['options', 'chartData'],
mounted() {
created() {
// this.chartData is created in the mixin.
// If you want to pass options please create a local options object
this.renderChart(this.chartData, this.options)

View File

@@ -35,17 +35,22 @@
<tbody>
<tr v-for="bill in this.bills">
<td><a :href="'./bills/show/' + bill.id" :title="bill.attributes.name">{{ bill.attributes.name }}</a>
~{{
Intl.NumberFormat(locale, {style: 'currency', currency: bill.attributes.currency_code}).format((parseFloat(bill.attributes.amount_min) +
parseFloat(bill.attributes.amount_max)) / 2)
}}
<br />
(~ <span class="text-danger">{{
Intl.NumberFormat(locale, {style: 'currency', currency: bill.attributes.currency_code}).format((parseFloat(bill.attributes.amount_min) +
parseFloat(bill.attributes.amount_max)) / -2)
}}</span>)
<small v-if="bill.attributes.object_group_title" class="text-muted">
<br/>
{{ bill.attributes.object_group_title }}
</small>
</td>
<td>
<span v-for="payDate in bill.attributes.pay_dates">
{{ new Intl.DateTimeFormat(locale, {year: 'numeric', month: 'long', day: 'numeric'}).format(new Date(payDate)) }}
<br />
</span>
<span v-for="paidDate in bill.attributes.paid_dates">
<span v-html="renderPaidDate(paidDate)"/><br/>
</span>
<span v-for="payDate in bill.attributes.pay_dates" v-if="0===bill.attributes.paid_dates.length">
{{ new Intl.DateTimeFormat(locale, {year: 'numeric', month: 'long', day: 'numeric'}).format(new Date(payDate)) }}<br/>
</span>
</td>
</tr>
</tbody>
@@ -60,12 +65,8 @@
export default {
name: "MainBillsList",
computed: {
locale() {
return this.$store.getters.locale;
}
},
created() {
this.locale = localStorage.locale ?? 'en-US';
axios.get('./api/v1/bills?start=' + window.sessionStart + '&end=' + window.sessionEnd)
.then(response => {
this.loadBills(response.data.data);
@@ -74,7 +75,13 @@ export default {
},
components: {},
methods: {
loadBills(data) {
renderPaidDate: function (obj) {
console.log(obj);
let dateStr = new Intl.DateTimeFormat(this.locale, {year: 'numeric', month: 'long', day: 'numeric'}).format(new Date(obj.date));
let str = this.$t('firefly.bill_paid_on', {date: dateStr});
return '<a href="./transactions/show/' + obj.transaction_group_id + '" title="' + str + '">' + str + '</a>';
},
loadBills: function (data) {
for (let key in data) {
if (data.hasOwnProperty(key) && /^0$|^[1-9]\d*$/.test(key) && key <= 4294967294) {
@@ -89,7 +96,8 @@ export default {
},
data() {
return {
bills: []
bills: [],
locale: 'en-US'
}
},
}

View File

@@ -34,7 +34,8 @@
</thead>
<tbody>
<tr v-for="piggy in this.piggy_banks">
<td>{{ piggy.attributes.name }}
<td>
<a :href="'./piggy-banks/show/' + piggy.id" :title="piggy.attributes.name">{{ piggy.attributes.name }}</a>
<small v-if="piggy.attributes.object_group_title" class="text-muted">
<br/>
{{ piggy.attributes.object_group_title }}

View File

@@ -148,7 +148,7 @@
<!-- start of body -->
<!-- meta -->
<div class="row">
<div class="col">
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
<TransactionBudget
v-model="transaction.budget_id"
:index="index"
@@ -160,7 +160,7 @@
:errors="transaction.errors.category"
/>
</div>
<div class="col">
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
<TransactionBill
v-model="transaction.bill_id"
:index="index"
@@ -196,7 +196,7 @@
<div class="card-body">
<!-- start of body -->
<div class="row">
<div class="col">
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
<TransactionInternalReference
:index="index"
@@ -215,7 +215,7 @@
:errors="transaction.errors.notes"
/>
</div>
<div class="col">
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
<TransactionAttachments
:index="index"
@@ -243,7 +243,7 @@
</div>
<div class="row">
<!-- group title -->
<div class="col">
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
<div class="card" v-if="transactions.length > 1">
<div class="card-body">
<div class="row">
@@ -254,24 +254,43 @@
</div>
</div>
</div>
<div class="col">
<div class="row">
<!-- buttons! -->
<div class="col">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<div class="text-xs d-none d-lg-block d-xl-block">
&nbsp;
</div>
<button @click="addTransaction" class="btn btn-primary float-left"><i class="far fa-clone"></i> {{ $t('firefly.add_another_split') }}
</button>
<button class="btn btn-success float-right" @click="submitTransaction" :disabled="isSubmitting && !submitted">
<span v-if="!isSubmitting"><i class="far fa-save"></i> {{ $t('firefly.store_transaction') }}</span>
<span v-if="isSubmitting && !submitted"><i class="fas fa-spinner fa-spin"></i></span>
</button>
</div>
<div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col-xs-12">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col">
<div class="text-xs d-none d-lg-block d-xl-block">
&nbsp;
</div>
<button @click="addTransaction" class="btn btn-outline-primary btn-block"><i class="far fa-clone"></i> {{ $t('firefly.add_another_split') }}
</button>
</div>
<div class="col">
<div class="text-xs d-none d-lg-block d-xl-block">
&nbsp;
</div>
<button class="btn btn-success btn-block" @click="submitTransaction" :disabled="isSubmitting && !submitted">
<span v-if="!isSubmitting"><i class="far fa-save"></i> {{ $t('firefly.store_transaction') }}</span>
<span v-if="isSubmitting && !submitted"><i class="fas fa-spinner fa-spin"></i></span>
</button>
</div>
</div>
<div class="row">
<div class="col">
&nbsp;
</div>
<div class="col">
<div class="form-check">
<input class="form-check-input" type="checkbox" v-model="createAnother" id="createAnother">
<label class="form-check-label" for="createAnother">
<span class="small">{{ $t('firefly.create_another') }}</span>
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" v-model="resetFormAfter" id="resetFormAfter" :disabled="!createAnother">
<label class="form-check-label" for="resetFormAfter">
<span class="small">{{ $t('firefly.reset_after') }}</span>
</label>
</div>
</div>
</div>
@@ -359,8 +378,8 @@ export default {
groupTitle: '',
// some button flag things
createAnother: true,
resetFormAfter: true
createAnother: false,
resetFormAfter: false
}
},
computed: {
@@ -436,7 +455,7 @@ export default {
this.successMessage = this.$t('firefly.transaction_stored_link', {ID: this.groupId, title: this.groupTitle});
if (this.resetFormAfter) {
this.submitted = false;
this.resetTransactions();
this.resetTransactions();
// do a short time out?
setTimeout(() => this.addTransaction(), 50);
// reset the form:

View File

@@ -69,6 +69,9 @@
"flash_error": "\u0413\u0440\u0435\u0448\u043a\u0430!",
"store_transaction": "Store transaction",
"flash_success": "\u0423\u0441\u043f\u0435\u0445!",
"create_another": "\u0421\u043b\u0435\u0434 \u0441\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435\u0442\u043e \u0441\u0435 \u0432\u044a\u0440\u043d\u0435\u0442\u0435 \u0442\u0443\u043a, \u0437\u0430 \u0434\u0430 \u0441\u044a\u0437\u0434\u0430\u0434\u0435\u0442\u0435 \u043d\u043e\u0432\u0430.",
"reset_after": "\u0418\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440\u0430 \u0441\u043b\u0435\u0434 \u0438\u0437\u043f\u0440\u0430\u0449\u0430\u043d\u0435",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f #{ID}(\"{title}\")<\/a> \u0431\u0435\u0448\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430.",
"other_budgets": "\u0412\u0440\u0435\u043c\u0435\u0432\u043e \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043d\u0438 \u0431\u044e\u0434\u0436\u0435\u0442\u0438",
"journal_links": "\u0412\u0440\u044a\u0437\u043a\u0438 \u043d\u0430 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f",

View File

@@ -69,6 +69,9 @@
"flash_error": "Chyba!",
"store_transaction": "Store transaction",
"flash_success": "\u00dasp\u011b\u0161n\u011b dokon\u010deno!",
"create_another": "After storing, return here to create another one.",
"reset_after": "Reset form after submission",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"other_budgets": "Custom timed budgets",
"journal_links": "Transaction links",

View File

@@ -69,6 +69,9 @@
"flash_error": "Fehler!",
"store_transaction": "Buchung speichern",
"flash_success": "Geschafft!",
"create_another": "Nach dem Speichern hierher zur\u00fcckkehren, um ein weiteres zu erstellen.",
"reset_after": "Formular nach der \u00dcbermittlung zur\u00fccksetzen",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Buchung #{ID} (\"{title}\")<\/a> wurde gespeichert.",
"other_budgets": "Zeitlich befristete Budgets",
"journal_links": "Buchungsverkn\u00fcpfungen",

View File

@@ -69,6 +69,9 @@
"flash_error": "\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1!",
"store_transaction": "Store transaction",
"flash_success": "\u0395\u03c0\u03b9\u03c4\u03c5\u03c7\u03af\u03b1!",
"create_another": "\u039c\u03b5\u03c4\u03ac \u03c4\u03b7\u03bd \u03b1\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7, \u03b5\u03c0\u03b9\u03c3\u03c4\u03c1\u03ad\u03c8\u03c4\u03b5 \u03b5\u03b4\u03ce \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03b4\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03ae\u03c3\u03b5\u03c4\u03b5 \u03b1\u03ba\u03cc\u03bc\u03b7 \u03ad\u03bd\u03b1.",
"reset_after": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac \u03c6\u03cc\u03c1\u03bc\u03b1\u03c2 \u03bc\u03b5\u03c4\u03ac \u03c4\u03b7\u03bd \u03c5\u03c0\u03bf\u03b2\u03bf\u03bb\u03ae",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">\u0397 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ae #{ID} (\"{title}\")<\/a> \u03ad\u03c7\u03b5\u03b9 \u03b1\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03c4\u03b5\u03af.",
"other_budgets": "\u03a0\u03c1\u03bf\u03cb\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03bc\u03bf\u03af \u03bc\u03b5 \u03c7\u03c1\u03bf\u03bd\u03b9\u03ba\u03ae \u03c0\u03c1\u03bf\u03c3\u03b1\u03c1\u03bc\u03bf\u03b3\u03ae",
"journal_links": "\u03a3\u03c5\u03bd\u03b4\u03ad\u03c3\u03b5\u03b9\u03c2 \u03c3\u03c5\u03bd\u03b1\u03bb\u03bb\u03b1\u03b3\u03ce\u03bd",

View File

@@ -69,6 +69,9 @@
"flash_error": "Error!",
"store_transaction": "Store transaction",
"flash_success": "Success!",
"create_another": "After storing, return here to create another one.",
"reset_after": "Reset form after submission",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"other_budgets": "Custom timed budgets",
"journal_links": "Transaction links",

View File

@@ -69,6 +69,9 @@
"flash_error": "Error!",
"store_transaction": "Store transaction",
"flash_success": "Success!",
"create_another": "After storing, return here to create another one.",
"reset_after": "Reset form after submission",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"other_budgets": "Custom timed budgets",
"journal_links": "Transaction links",

View File

@@ -69,6 +69,9 @@
"flash_error": "\u00a1Error!",
"store_transaction": "Store transaction",
"flash_success": "\u00a1Operaci\u00f3n correcta!",
"create_another": "Despu\u00e9s de guardar, vuelve aqu\u00ed para crear otro.",
"reset_after": "Restablecer formulario despu\u00e9s del env\u00edo",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">La transacci\u00f3n #{ID} (\"{title}\")<\/a> ha sido almacenada.",
"other_budgets": "Presupuestos de tiempo personalizado",
"journal_links": "Enlaces de transacciones",

View File

@@ -69,6 +69,9 @@
"flash_error": "Virhe!",
"store_transaction": "Store transaction",
"flash_success": "Valmista tuli!",
"create_another": "Tallennuksen j\u00e4lkeen, palaa takaisin luomaan uusi tapahtuma.",
"reset_after": "Tyhjenn\u00e4 lomake l\u00e4hetyksen j\u00e4lkeen",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"other_budgets": "Custom timed budgets",
"journal_links": "Tapahtuman linkit",

View File

@@ -69,6 +69,9 @@
"flash_error": "Erreur !",
"store_transaction": "Enregistrer l'op\u00e9ration",
"flash_success": "Super !",
"create_another": "Apr\u00e8s enregistrement, revenir ici pour en cr\u00e9er un nouveau.",
"reset_after": "R\u00e9initialiser le formulaire apr\u00e8s soumission",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">L'op\u00e9ration n\u00b0{ID} (\"{title}\")<\/a> a \u00e9t\u00e9 enregistr\u00e9e.",
"other_budgets": "Budgets \u00e0 p\u00e9riode personnalis\u00e9e",
"journal_links": "Liens d'op\u00e9ration",

View File

@@ -69,6 +69,9 @@
"flash_error": "Hiba!",
"store_transaction": "Store transaction",
"flash_success": "Siker!",
"create_another": "A t\u00e1rol\u00e1s ut\u00e1n t\u00e9rjen vissza ide \u00faj l\u00e9trehoz\u00e1s\u00e1hoz.",
"reset_after": "\u0170rlap t\u00f6rl\u00e9se a bek\u00fcld\u00e9s ut\u00e1n",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> mentve.",
"other_budgets": "Custom timed budgets",
"journal_links": "Tranzakci\u00f3 \u00f6sszekapcsol\u00e1sok",

View File

@@ -69,6 +69,9 @@
"flash_error": "Errore!",
"store_transaction": "Salva transazione",
"flash_success": "Successo!",
"create_another": "Dopo il salvataggio, torna qui per crearne un'altra.",
"reset_after": "Resetta il modulo dopo l'invio",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "La <a href=\"transactions\/show\/{ID}\">transazione #{ID} (\"{title}\")<\/a> \u00e8 stata salvata.",
"other_budgets": "Budget a periodi personalizzati",
"journal_links": "Collegamenti della transazione",

View File

@@ -69,6 +69,9 @@
"flash_error": "Feil!",
"store_transaction": "Store transaction",
"flash_success": "Suksess!",
"create_another": "After storing, return here to create another one.",
"reset_after": "Reset form after submission",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"other_budgets": "Custom timed budgets",
"journal_links": "Transaksjonskoblinger",

View File

@@ -69,6 +69,9 @@
"flash_error": "Fout!",
"store_transaction": "Store transaction",
"flash_success": "Gelukt!",
"create_another": "Terug naar deze pagina voor een nieuwe transactie.",
"reset_after": "Reset formulier na opslaan",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transactie #{ID} (\"{title}\")<\/a> is opgeslagen.",
"other_budgets": "Aangepaste budgetten",
"journal_links": "Transactiekoppelingen",

View File

@@ -69,6 +69,9 @@
"flash_error": "B\u0142\u0105d!",
"store_transaction": "Zapisz transakcj\u0119",
"flash_success": "Sukces!",
"create_another": "Po zapisaniu wr\u00f3\u0107 tutaj, aby utworzy\u0107 kolejny.",
"reset_after": "Wyczy\u015b\u0107 formularz po zapisaniu",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcja #{ID} (\"{title}\")<\/a> zosta\u0142a zapisana.",
"other_budgets": "Bud\u017cety niestandardowe",
"journal_links": "Powi\u0105zane transakcje",

View File

@@ -69,6 +69,9 @@
"flash_error": "Erro!",
"store_transaction": "Salvar transa\u00e7\u00e3o",
"flash_success": "Sucesso!",
"create_another": "Depois de armazenar, retorne aqui para criar outro.",
"reset_after": "Resetar o formul\u00e1rio ap\u00f3s o envio",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transa\u00e7\u00e3o #{ID} (\"{title}\")<\/a> foi salva.",
"other_budgets": "Custom timed budgets",
"journal_links": "Transa\u00e7\u00f5es ligadas",

View File

@@ -69,6 +69,9 @@
"flash_error": "Erro!",
"store_transaction": "Guardar transa\u00e7\u00e3o",
"flash_success": "Sucesso!",
"create_another": "Depois de guardar, voltar aqui para criar outra.",
"reset_after": "Repor o formul\u00e1rio ap\u00f3s o envio",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transa\u00e7\u00e3o #{ID} (\"{title}\")<\/a> foi guardada.",
"other_budgets": "Or\u00e7amentos de tempo personalizado",
"journal_links": "Liga\u00e7\u00f5es de transac\u00e7\u00e3o",

View File

@@ -69,6 +69,9 @@
"flash_error": "Eroare!",
"store_transaction": "Store transaction",
"flash_success": "Succes!",
"create_another": "Dup\u0103 stocare, reveni\u021bi aici pentru a crea alta.",
"reset_after": "Reseta\u021bi formularul dup\u0103 trimitere",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Tranzac\u021bia #{ID} (\"{title}\")<\/a> a fost stocat\u0103.",
"other_budgets": "Custom timed budgets",
"journal_links": "Link-uri de tranzac\u021bii",

View File

@@ -69,6 +69,9 @@
"flash_error": "\u041e\u0448\u0438\u0431\u043a\u0430!",
"store_transaction": "Store transaction",
"flash_success": "\u0423\u0441\u043f\u0435\u0448\u043d\u043e!",
"create_another": "\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0441\u044e\u0434\u0430 \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u043d\u0443 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0443\u044e \u0437\u0430\u043f\u0438\u0441\u044c.",
"reset_after": "\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0443 \u043f\u043e\u0441\u043b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">\u0422\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044f #{ID} (\"{title}\")<\/a> \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0430.",
"other_budgets": "\u0411\u044e\u0434\u0436\u0435\u0442\u044b \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0440\u0435\u0437\u043e\u043a \u0432\u0440\u0435\u043c\u0435\u043d\u0438",
"journal_links": "\u0421\u0432\u044f\u0437\u0438 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438",

View File

@@ -69,6 +69,9 @@
"flash_error": "Chyba!",
"store_transaction": "Store transaction",
"flash_success": "Hotovo!",
"create_another": "Po ulo\u017een\u00ed sa vr\u00e1ti\u0165 sp\u00e4\u0165 sem a vytvori\u0165 \u010fal\u0161\u00ed.",
"reset_after": "Po odoslan\u00ed vynulova\u0165 formul\u00e1r",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transakcia #{ID} (\"{title}\")<\/a> bola ulo\u017een\u00e1.",
"other_budgets": "\u0160pecifick\u00e9 \u010dasovan\u00e9 rozpo\u010dty",
"journal_links": "Prepojenia transakcie",

View File

@@ -69,6 +69,9 @@
"flash_error": "Fel!",
"store_transaction": "Store transaction",
"flash_success": "Slutf\u00f6rd!",
"create_another": "Efter sparat, \u00e5terkom hit f\u00f6r att skapa ytterligare en.",
"reset_after": "\u00c5terst\u00e4ll formul\u00e4r efter inskickat",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaktion #{ID} (\"{title}\")<\/a> sparades.",
"other_budgets": "Anpassade tidsinst\u00e4llda budgetar",
"journal_links": "Transaktionsl\u00e4nkar",

View File

@@ -69,6 +69,9 @@
"flash_error": "L\u1ed7i!",
"store_transaction": "Store transaction",
"flash_success": "Th\u00e0nh c\u00f4ng!",
"create_another": "Sau khi l\u01b0u tr\u1eef, quay tr\u1edf l\u1ea1i \u0111\u00e2y \u0111\u1ec3 t\u1ea1o m\u1ed9t c\u00e1i kh\u00e1c.",
"reset_after": "\u0110\u1eb7t l\u1ea1i m\u1eabu sau khi g\u1eedi",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Giao d\u1ecbch #{ID} (\"{title}\")<\/a> \u0111\u00e3 \u0111\u01b0\u1ee3c l\u01b0u tr\u1eef.",
"other_budgets": "Custom timed budgets",
"journal_links": "Li\u00ean k\u1ebft giao d\u1ecbch",

View File

@@ -69,6 +69,9 @@
"flash_error": "\u9519\u8bef\uff01",
"store_transaction": "Store transaction",
"flash_success": "\u6210\u529f\uff01",
"create_another": "\u4fdd\u5b58\u540e\uff0c\u8fd4\u56de\u6b64\u9875\u9762\u521b\u5efa\u53e6\u4e00\u7b14\u8bb0\u5f55\u3002",
"reset_after": "\u63d0\u4ea4\u540e\u91cd\u7f6e\u8868\u5355",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"other_budgets": "Custom timed budgets",
"journal_links": "\u4ea4\u6613\u8fde\u7ed3",

View File

@@ -69,6 +69,9 @@
"flash_error": "\u932f\u8aa4\uff01",
"store_transaction": "Store transaction",
"flash_success": "\u6210\u529f\uff01",
"create_another": "After storing, return here to create another one.",
"reset_after": "Reset form after submission",
"bill_paid_on": "Paid on {date}",
"transaction_stored_link": "<a href=\"transactions\/show\/{ID}\">Transaction #{ID} (\"{title}\")<\/a> has been stored.",
"other_budgets": "Custom timed budgets",
"journal_links": "\u4ea4\u6613\u9023\u7d50",

View File

@@ -36,9 +36,9 @@
source-map "^0.5.0"
"@babel/generator@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.13.tgz#5f6ebe6c85db99886db2d7b044409196f872a503"
integrity sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw==
version "7.12.15"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f"
integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==
dependencies:
"@babel/types" "^7.12.13"
jsesc "^2.5.1"
@@ -238,9 +238,9 @@
js-tokens "^4.0.0"
"@babel/parser@^7.12.13":
version "7.12.14"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.14.tgz#4adb7c5eef1d437ef965ad1569cd826db8c11dc9"
integrity sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==
version "7.12.15"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.15.tgz#2b20de7f0b4b332d9b119dd9c33409c538b8aacf"
integrity sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==
"@babel/plugin-proposal-async-generator-functions@^7.12.13":
version "7.12.13"
@@ -631,9 +631,9 @@
"@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-runtime@^7.2.0":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.13.tgz#93a47630c80dab152a2b71011d1e1fd37b31b8e1"
integrity sha512-ho1CV2lm8qn2AxD3JdvPgtLVHCYLDaOszlf0gosdHcJAIfgNizag76WI+FoibrvfT+h117fgf8h+wgvo4O2qbA==
version "7.12.15"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz#4337b2507288007c2b197059301aa0af8d90c085"
integrity sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==
dependencies:
"@babel/helper-module-imports" "^7.12.13"
"@babel/helper-plugin-utils" "^7.12.13"
@@ -869,9 +869,9 @@
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
"@types/node@*":
version "14.14.22"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18"
integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==
version "14.14.25"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.25.tgz#15967a7b577ff81383f9b888aa6705d43fbbae93"
integrity sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==
"@types/q@^1.5.1":
version "1.5.4"
@@ -2626,9 +2626,9 @@ ejs@^2.6.1:
integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
electron-to-chromium@^1.3.649:
version "1.3.652"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.652.tgz#9465d884d609acffd131ba71096de7bfabd63670"
integrity sha512-85J5D0Ksxjq2MIHfgwOURRej72UMlexbaa7t+oKTJan3Pa/RBE8vJ4/JzwaQjLCElPvd0XeLWi7+xYTVrq96aA==
version "1.3.654"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.654.tgz#f1b82d59bdeafa65af75794356df54f92b41c4de"
integrity sha512-Zy2gc/c8KYFg2GkNr7Ruzh5tPEZpFm7EyXqZTFasm1YRDJtpyBRGaOuM0H3t6SuIP53qX4kNmtO9t0WjhBjE9A==
elliptic@^6.5.3:
version "6.5.4"