Files
InvoiceShelf/resources/scripts-v2/components/base/BaseInvoiceStatusLabel.vue
Darko Gjorgjijoski cab785172e Add missing base components and global alias registrations
Create BaseCustomTag (dynamic tag render), BaseFormatMoney,
BaseHeading, BaseScrollPane, BaseDescriptionList/Item, BaseLabel,
BaseCustomerSelectInput, BaseSpinner, BaseRating, and status label
components. Register all renamed v2 components under their old
Base* names (BaseInputGroup->FormGroup, BasePage->Page,
BaseTable->DataTable, etc.) so templates resolve correctly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-04 10:45:00 +02:00

52 lines
1.2 KiB
Vue

<script setup lang="ts">
import { computed } from 'vue'
import { useI18n } from 'vue-i18n'
import { InvoiceStatus, InvoicePaidStatus } from '@v2/types/domain'
interface Props {
status?: string
}
const props = withDefaults(defineProps<Props>(), {
status: '',
})
const { t } = useI18n()
const labelStatus = computed<string>(() => {
switch (props.status) {
case InvoiceStatus.DRAFT:
case 'DRAFT':
return t('general.draft')
case InvoiceStatus.SENT:
case 'SENT':
return t('general.sent')
case InvoiceStatus.VIEWED:
case 'VIEWED':
return t('invoices.viewed')
case InvoiceStatus.COMPLETED:
case 'COMPLETED':
return t('invoices.completed')
case 'DUE':
return t('general.due')
case 'OVERDUE':
return t('invoices.overdue')
case InvoicePaidStatus.UNPAID:
case 'UNPAID':
return t('invoices.unpaid')
case InvoicePaidStatus.PARTIALLY_PAID:
case 'PARTIALLY_PAID':
return t('invoices.partially_paid')
case InvoicePaidStatus.PAID:
case 'PAID':
return t('invoices.paid')
default:
return props.status
}
})
</script>
<template>
{{ labelStatus }}
</template>