mirror of
https://github.com/mokuappio/serverless-invoices.git
synced 2025-10-27 07:51:08 -04:00
Compare commits
5 Commits
e64fabf453
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 0d606c1afa | |||
| 03eb7adece | |||
| c9f54971f2 | |||
| 2b5f3fc6b7 | |||
| 32e982baea |
@ -9,7 +9,7 @@ It is open-source and easily extendable. You can use it as a starter kit for mor
|
||||
|
||||
Run it locally or host it yourself.
|
||||
|
||||
You can always use the latest free version at [invoices.mokuapp.io](https://invoices.mokuapp.io)
|
||||
You can always use the latest free version at [invoices.elevate.ee](https://invoices.elevate.ee)
|
||||
|
||||
Built with [Vue.js](https://vuejs.org/) and [Bootstrap](https://getbootstrap.com/)
|
||||
|
||||
@ -35,7 +35,7 @@ Built with [Vue.js](https://vuejs.org/) and [Bootstrap](https://getbootstrap.com
|
||||
- Multilingual
|
||||
- PWA support
|
||||
- Ready-to-go backend adapters
|
||||
- [Browser Storage](https://invoices.mokuapp.io)
|
||||
- [Browser Storage](https://invoices.elevate.ee)
|
||||
- [Wordpress](https://wordpress.org/plugins/beautiful-custom-invoices/)
|
||||
- Woocommerce (coming soon)
|
||||
- Google Drive (coming soon)
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
ref="button"
|
||||
:tabindex="tabindex"
|
||||
@click="toggleOpen">
|
||||
<span v-if="!value">{{ $t('client') }}</span>
|
||||
<span v-if="!value" class="d-print-none">{{ $t('client') }}</span>
|
||||
<span v-else>{{ value }}</span>
|
||||
</div>
|
||||
<div class="search-popover__overlay" v-if="isOpen" @click="toggleOpen"></div>
|
||||
|
||||
@ -37,13 +37,15 @@
|
||||
:inline="true"
|
||||
field="due_at"/>
|
||||
</BModal>
|
||||
<br>{{ $t('late_fee') }}
|
||||
<AppEditable :value="invoice.late_fee | currency"
|
||||
:errors="errors"
|
||||
suffix="%"
|
||||
field="late_fee"
|
||||
:placeholder="$t('add_late_fee')"
|
||||
@change="updateProp({ late_fee: $event })"/>
|
||||
<span :class="{'d-print-none': !invoice.late_fee}">
|
||||
<br>{{ $t('late_fee') }}
|
||||
<AppEditable :value="invoice.late_fee | currency"
|
||||
:errors="errors"
|
||||
suffix="%"
|
||||
field="late_fee"
|
||||
:placeholder="$t('add_late_fee')"
|
||||
@change="updateProp({ late_fee: $event })"/>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
class="pointer"
|
||||
@click="openModal"
|
||||
:src="team.logo_url" style="width:100%; max-width:200px;">
|
||||
<button class="btn btn-sm" @click="openModal" v-else>
|
||||
<button class="btn btn-sm d-print-none" @click="openModal" v-else>
|
||||
<i class="material-icons material-icons-round md-36">file_upload</i>
|
||||
</button>
|
||||
<AppError :errors="errors" field="logo_url"/>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
export default {
|
||||
storageType: 'local',
|
||||
// base_url: wordpress.front_url,
|
||||
// base_url: `${window.location.origin}${process.env.BASE_URL}`
|
||||
// base_url: process.env.BASE_URL
|
||||
// api_url: wordpress.api_url,
|
||||
// api_nonce: wordpress.nonce,
|
||||
};
|
||||
|
||||
@ -4,7 +4,6 @@ import VueI18Next from '@panter/vue-i18next';
|
||||
import Backend from 'i18next-http-backend';
|
||||
import LanguageDetector from 'i18next-browser-languagedetector';
|
||||
import app from '@/main';
|
||||
import config from '@/config/app.config';
|
||||
|
||||
Vue.use(VueI18Next);
|
||||
|
||||
@ -16,7 +15,7 @@ const initialized = i18next.init({
|
||||
fallbackLng: 'en',
|
||||
whitelist: ['en', 'de', 'fr', 'et', 'fa', 'bn', 'es', 'pt_br', 'it', 'id', 'kr'],
|
||||
backend: {
|
||||
loadPath: `${config.base_url || ''}/locales/{{lng}}/{{ns}}.json`,
|
||||
loadPath: `${window.location.origin}/locales/{{lng}}/{{ns}}.json`,
|
||||
},
|
||||
detection: {
|
||||
order: ['querystring', 'path', 'localStorage', 'navigator'],
|
||||
|
||||
@ -19,7 +19,6 @@ class InvoiceService {
|
||||
async updateInvoice(invoice) {
|
||||
const requiredFields = {
|
||||
currency: 'Currency',
|
||||
late_fee: 'Late Fee',
|
||||
issued_at: 'Issued At',
|
||||
due_at: 'Due At',
|
||||
number: 'Number',
|
||||
@ -40,7 +39,6 @@ class InvoiceService {
|
||||
async bookInvoice(invoice) {
|
||||
const requiredFields = {
|
||||
currency: 'Currency',
|
||||
late_fee: 'Late fee',
|
||||
issued_at: 'Issued at',
|
||||
due_at: 'Due at',
|
||||
number: 'Number',
|
||||
|
||||
Reference in New Issue
Block a user