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>
This commit is contained in:
Darko Gjorgjijoski
2026-04-04 09:30:00 +02:00
parent 812956abcc
commit a46cca5cd8
156 changed files with 6246 additions and 213 deletions

View File

@@ -1,7 +1,7 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
import { authService } from '../api/services/auth.service'
import type { LoginPayload, ForgotPasswordPayload, ResetPasswordPayload } from '../api/services/auth.service'
import { authService } from '@v2/api/services/auth.service'
import type { LoginPayload, ForgotPasswordPayload, ResetPasswordPayload } from '@v2/api/services/auth.service'
import { useNotificationStore } from './notification.store'
import { handleApiError } from '../utils/error-handling'
import * as localStore from '../utils/local-storage'

View File

@@ -1,17 +1,17 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
import { companyService } from '../api/services/company.service'
import { companyService } from '@v2/api/services/company.service'
import type {
UpdateCompanyPayload,
CompanySettingsPayload,
CreateCompanyPayload,
} from '../api/services/company.service'
} from '@v2/api/services/company.service'
import { useNotificationStore } from './notification.store'
import { handleApiError } from '../utils/error-handling'
import * as localStore from '../utils/local-storage'
import type { Company } from '../types/domain/company'
import type { Currency } from '../types/domain/currency'
import type { ApiResponse } from '../types/api'
import type { Company } from '@v2/types/domain/company'
import type { Currency } from '@v2/types/domain/currency'
import type { ApiResponse } from '@v2/types/api'
export const useCompanyStore = defineStore('company', () => {
// State

View File

@@ -1,9 +1,9 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
import groupBy from 'lodash/groupBy'
import { bootstrapService } from '../api/services/bootstrap.service'
import type { MenuItem, BootstrapResponse } from '../api/services/bootstrap.service'
import { settingService } from '../api/services/setting.service'
import { bootstrapService } from '@v2/api/services/bootstrap.service'
import type { MenuItem, BootstrapResponse } from '@v2/api/services/bootstrap.service'
import { settingService } from '@v2/api/services/setting.service'
import type {
DateFormat,
TimeFormat,
@@ -11,14 +11,14 @@ import type {
GlobalSettingsPayload,
NumberPlaceholdersParams,
NumberPlaceholder,
} from '../api/services/setting.service'
} from '@v2/api/services/setting.service'
import { useCompanyStore } from './company.store'
import { useUserStore } from './user.store'
import { useNotificationStore } from './notification.store'
import { handleApiError } from '../utils/error-handling'
import * as localStore from '../utils/local-storage'
import type { Currency } from '../types/domain/currency'
import type { Country } from '../types/domain/customer'
import type { Currency } from '@v2/types/domain/currency'
import type { Country } from '@v2/types/domain/customer'
export const useGlobalStore = defineStore('global', () => {
// State

View File

@@ -1,12 +1,12 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
import { userService } from '../api/services/user.service'
import type { UpdateProfilePayload, UserSettingsPayload } from '../api/services/user.service'
import { userService } from '@v2/api/services/user.service'
import type { UpdateProfilePayload, UserSettingsPayload } from '@v2/api/services/user.service'
import { useNotificationStore } from './notification.store'
import { handleApiError } from '../utils/error-handling'
import type { User } from '../types/domain/user'
import type { Ability } from '../types/domain/role'
import type { ApiResponse } from '../types/api'
import type { User } from '@v2/types/domain/user'
import type { Ability } from '@v2/types/domain/role'
import type { ApiResponse } from '@v2/types/api'
export interface UserForm {
name: string