Files
InvoiceShelf/resources/scripts-v2/features/company/settings/views/CustomizationView.vue
Darko Gjorgjijoski d91f6ff2e3 Phase 4b: Remaining features — payments, expenses, recurring
invoices, members, reports, settings, customer portal, modules,
installation

82 files, 14293 lines. Completes all feature modules:
- payments: CRUD with send/preview, payment modes
- expenses: CRUD with receipt upload, categories
- recurring-invoices: full frequency logic, limit by date/count
- members: list with roles, invite modal, pending invitations
- reports: sales, profit/loss, expenses, tax with date ranges
- settings: 14 settings views, number customizer, mail config
- customer-portal: consolidated store, 8 views, portal layout
- modules: marketplace index, detail/install, module cards
- installation: 8-step wizard with requirements/db/mail/account

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

43 lines
1.3 KiB
Vue

<script setup lang="ts">
import InvoicesTab from '@/scripts/admin/views/settings/customization/invoices/InvoicesTab.vue'
import EstimatesTab from '@/scripts/admin/views/settings/customization/estimates/EstimatesTab.vue'
import PaymentsTab from '@/scripts/admin/views/settings/customization/payments/PaymentsTab.vue'
import ItemsTab from '@/scripts/admin/views/settings/customization/items/ItemsTab.vue'
</script>
<template>
<div class="relative">
<BaseCard container-class="px-4 py-5 sm:px-8 sm:py-2">
<BaseTabGroup>
<BaseTab
tab-panel-container="py-4 mt-px"
:title="$t('settings.customization.invoices.title')"
>
<InvoicesTab />
</BaseTab>
<BaseTab
tab-panel-container="py-4 mt-px"
:title="$t('settings.customization.estimates.title')"
>
<EstimatesTab />
</BaseTab>
<BaseTab
tab-panel-container="py-4 mt-px"
:title="$t('settings.customization.payments.title')"
>
<PaymentsTab />
</BaseTab>
<BaseTab
tab-panel-container="py-4 mt-px"
:title="$t('settings.customization.items.title')"
>
<ItemsTab />
</BaseTab>
</BaseTabGroup>
</BaseCard>
</div>
</template>