mirror of
https://github.com/InvoiceShelf/InvoiceShelf.git
synced 2026-04-07 13:41:23 +00:00
Complete dashboard translations & small UI improvements (#69)
* fix dropdown action Estimate Dashboard and fix translating full Dasboard page * Update app.php * fix locale in app.php config * Wizard install with translation, customer portal with translation, and fixing hardcoding strings to get translation * fixes asked to review * fixes pint --------- Co-authored-by: Max <contact@agencetwogether.fr> Co-authored-by: Darko Gjorgjijoski <5760249+gdarko@users.noreply.github.com>
This commit is contained in:
@@ -178,7 +178,7 @@
|
||||
v$.confirm_password.$errors[0].$message
|
||||
"
|
||||
:content-loading="isFetchingInitialData"
|
||||
label="Confirm Password"
|
||||
:label="$t('customers.confirm_password')"
|
||||
>
|
||||
<BaseInput
|
||||
v-model.trim="customerStore.currentCustomer.confirm_password"
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<BaseMultiselect
|
||||
v-model="noteStore.currentNote.type"
|
||||
:options="types"
|
||||
value-prop="type"
|
||||
value-prop="value"
|
||||
class="mt-2"
|
||||
/>
|
||||
</BaseInputGroup>
|
||||
@@ -122,7 +122,11 @@ const route = useRoute()
|
||||
const { t } = useI18n()
|
||||
|
||||
let isSaving = ref(false)
|
||||
const types = reactive(['Invoice', 'Estimate', 'Payment'])
|
||||
const types = reactive([
|
||||
{label: t('settings.customization.notes.types.invoice'), value: 'Invoice'},
|
||||
{label: t('settings.customization.notes.types.estimate'), value: 'Estimate'},
|
||||
{label: t('settings.customization.notes.types.payment'), value: 'Payment'}
|
||||
])
|
||||
let fields = ref(['customer', 'customerCustom'])
|
||||
|
||||
const modalActive = computed(() => {
|
||||
@@ -164,7 +168,7 @@ watch(
|
||||
onMounted(() => {
|
||||
if (route.name === 'estimates.create') {
|
||||
noteStore.currentNote.type = 'Estimate'
|
||||
} else if (route.name === 'invoices.create') {
|
||||
} else if (route.name === 'invoices.create' || route.name === 'recurring-invoices.create') {
|
||||
noteStore.currentNote.type = 'Invoice'
|
||||
} else {
|
||||
noteStore.currentNote.type = 'Payment'
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
@click="cancelPreview"
|
||||
>
|
||||
<BaseIcon name="PencilIcon" class="h-5 mr-2" />
|
||||
Edit
|
||||
{{ $t('general.edit') }}
|
||||
</BaseButton>
|
||||
<iframe
|
||||
:src="templateUrl"
|
||||
@@ -166,7 +166,7 @@ let estimateMailForm = reactive({
|
||||
id: null,
|
||||
from: null,
|
||||
to: null,
|
||||
subject: 'New Estimate',
|
||||
subject: t('estimates.new_estimate'),
|
||||
body: null,
|
||||
})
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
@click="cancelPreview"
|
||||
>
|
||||
<BaseIcon name="PencilIcon" class="h-5 mr-2" />
|
||||
Edit
|
||||
{{ $t('general.edit') }}
|
||||
</BaseButton>
|
||||
|
||||
<iframe
|
||||
@@ -181,7 +181,7 @@ const invoiceMailForm = reactive({
|
||||
id: null,
|
||||
from: null,
|
||||
to: null,
|
||||
subject: 'New Invoice',
|
||||
subject: t('invoices.new_invoice'),
|
||||
body: null,
|
||||
})
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@
|
||||
@click="cancelPreview"
|
||||
>
|
||||
<BaseIcon name="PencilIcon" class="h-5 mr-2" />
|
||||
Edit
|
||||
{{ $t('general.edit') }}
|
||||
</BaseButton>
|
||||
|
||||
<iframe
|
||||
@@ -181,7 +181,7 @@ const paymentMailForm = reactive({
|
||||
id: null,
|
||||
from: null,
|
||||
to: null,
|
||||
subject: 'New Payment',
|
||||
subject: t('payments.new_payment'),
|
||||
body: null,
|
||||
})
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
<BaseMultiselect
|
||||
v-model="customFieldStore.currentCustomField.model_type"
|
||||
:options="modelTypes"
|
||||
value-prop="value"
|
||||
:can-deselect="false"
|
||||
:invalid="v$.currentCustomField.model_type.$error"
|
||||
:searchable="true"
|
||||
@@ -229,11 +230,11 @@ const { t } = useI18n()
|
||||
let isSaving = ref(false)
|
||||
|
||||
const modelTypes = reactive([
|
||||
'Customer',
|
||||
'Invoice',
|
||||
'Estimate',
|
||||
'Expense',
|
||||
'Payment',
|
||||
{label: t('settings.custom_fields.model_type.customer'), value: 'Customer'},
|
||||
{label: t('settings.custom_fields.model_type.invoice'), value: 'Invoice'},
|
||||
{label: t('settings.custom_fields.model_type.estimate'), value: 'Estimate'},
|
||||
{label: t('settings.custom_fields.model_type.expense'), value: 'Expense'},
|
||||
{label: t('settings.custom_fields.model_type.payment'), value: 'Payment'}
|
||||
])
|
||||
|
||||
const dataTypes = reactive([
|
||||
@@ -286,9 +287,6 @@ const isRequiredField = computed({
|
||||
const rules = computed(() => {
|
||||
return {
|
||||
currentCustomField: {
|
||||
type: {
|
||||
required: helpers.withMessage(t('validation.required'), required),
|
||||
},
|
||||
name: {
|
||||
required: helpers.withMessage(t('validation.required'), required),
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user