Darko Gjorgjijoski and Claude Opus 4.6
a46cca5cd8
Complete scripts-v2 TypeScript migration — all imports resolved,
...
build passes
Create all missing components (modals, dropdowns, icons, tabs, mail
drivers, customer partials), fix all @/scripts/ imports to @v2/,
wire up vite entry point and blade template. 382 files, 48883 lines.
- 27 settings components: modals (tax, payment, custom field, note,
category, role, exchange rate, unit, mail test), dropdowns (6),
customization tabs (4), mail driver forms (4)
- 22 icon components: 5 utility icons, 4 dashboard icons, 13 editor
toolbar icons with typed barrel export
- 3 customer components: info, chart placeholder, custom fields single
- Fixed usePopper composable, client/format-money import patterns
- Zero remaining @/scripts/ imports in scripts-v2/
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 09:30:00 +02:00
Darko Gjorgjijoski and Claude Opus 4.6
812956abcc
Phase 5-6: Router, plugins, entry points — scripts-v2 complete
...
13 files completing the TypeScript migration:
- router/ (3 files): typed guards, route meta augmentation,
merged feature routes from all 16 modules
- plugins/ (4 files): i18n with dynamic locale loading, pinia,
tooltip directive
- Entry points: main.ts, InvoiceShelf.ts bootstrap class,
App.vue, global-components.ts with typed registration
- NoCompanyView and NotFoundView stubs
scripts-v2/ totals: 324 files, 42853 lines of strict TypeScript.
Zero any types. Complete feature-based architecture with typed
stores, API services, composables, and Vue components.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 08:00:00 +02:00
Darko Gjorgjijoski and Claude Opus 4.6
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
Darko Gjorgjijoski and Claude Opus 4.6
774b2614f0
Phase 4a: Feature modules — layouts, auth, admin, dashboard,
...
customers, items, invoices, estimates, shared document form
77 files, 14451 lines. Typed layouts (CompanyLayout, AuthLayout,
header, sidebar, company switcher), auth views (login, register,
forgot/reset password), admin feature (dashboard, companies, users,
settings with typed store), company features (dashboard with chart/
stats, customers CRUD, items CRUD, invoices CRUD with full store,
estimates CRUD with full store), and shared document form components
(items table, item row, totals, notes, tax popup, template select,
exchange rate converter, calculation composable).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 06:30:00 +02:00
Darko Gjorgjijoski and Claude Opus 4.6
e43e515614
Phase 3: Typed Vue components in scripts-v2/
...
Migrate all shared components to TypeScript SFCs with script setup
lang=ts. 72 files, 7144 lines, zero any types.
- components/base/ (42 files): Button, Input, Textarea, Checkbox,
Radio, Switch, Badge, Card, Modal, Dialog, Dropdown, DatePicker,
TimePicker, Money, FileUploader, Select, Icon, Loader, Multiselect,
TabGroup, Wizard, CustomerSelect, ItemSelect, CustomInput, alerts,
status badges (Invoice/Estimate/Paid/RecurringInvoice), List/ListItem
- components/table/ (3 files): DataTable, TablePagination
- components/form/ (4 files): FormGroup, FormGrid, SwitchSection
- components/layout/ (11 files): Page, PageHeader, Breadcrumb,
FilterWrapper, EmptyPlaceholder, ContentPlaceholders, SettingCard
- components/editor/ (2 files): RichEditor with Tiptap
- components/charts/ (2 files): LineChart with Chart.js
- components/notifications/ (3 files): NotificationRoot, NotificationItem
- components/icons/ (2 files): MainLogo
All use defineProps<Props>(), defineEmits<Emits>(), typed refs,
and import domain types from types/domain.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 05:45:00 +02:00
Darko Gjorgjijoski and Claude Opus 4.6
2b996d30bf
Phase 2: Typed global Pinia stores in scripts-v2/
...
Rewrite all 7 global stores from JS options API to TypeScript
composition API. 8 files, 1005 lines, zero any types.
- auth.store.ts: login/logout with authService
- global.store.ts: bootstrap, menus, sidebar, config fetching
- company.store.ts: company selection, admin mode, settings
- user.store.ts: current user, abilities, settings
- notification.store.ts: typed toast notifications
- dialog.store.ts: confirm dialog returning Promise<boolean>
- modal.store.ts: modal state with isEdit getter
All use async/await, typed API services, localStore utility,
and explicit ref<T> generics.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 05:15:00 +02:00
Darko Gjorgjijoski and Claude Opus 4.6
991b716b33
Phase 1: TypeScript foundation in scripts-v2/
...
Create the complete TypeScript foundation for the Vue 3 migration
in a parallel scripts-v2/ directory. 72 files, 5430 lines, zero
any types, strict mode.
- types/ (21 files): Domain interfaces for all 17 entities derived
from actual Laravel models and API resources. Enums for all
statuses. Generic API response wrappers.
- api/ (29 files): Typed axios client with interceptors, endpoint
constants from routes/api.php, 25 typed service classes covering
every API endpoint.
- composables/ (14 files): Vue 3 composition functions for auth,
notifications, dialogs, modals, pagination, filters, currency,
dates, theme, sidebar, company context, and permissions.
- utils/ (5 files): Pure typed utilities for money formatting,
date formatting (date-fns), localStorage, and error handling.
- config/ (3 files): Typed ability constants, app constants.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-04 05:00:00 +02:00