Просмотр исходного кода

chore(dashboard): Temporary shim for lingui

Michael Bromley 9 месяцев назад
Родитель
Сommit
b294d73fb6
100 измененных файлов с 135 добавлено и 138 удалено
  1. 29 29
      packages/dashboard/package.json
  2. 0 1
      packages/dashboard/src/app/main.tsx
  3. 1 1
      packages/dashboard/src/app/routes/_authenticated/_administrators/administrators.tsx
  4. 1 1
      packages/dashboard/src/app/routes/_authenticated/_administrators/administrators_.$id.tsx
  5. 1 1
      packages/dashboard/src/app/routes/_authenticated/_administrators/components/role-permissions-display.tsx
  6. 1 1
      packages/dashboard/src/app/routes/_authenticated/_assets/assets.tsx
  7. 1 1
      packages/dashboard/src/app/routes/_authenticated/_channels/channels.tsx
  8. 1 1
      packages/dashboard/src/app/routes/_authenticated/_channels/channels_.$id.tsx
  9. 1 1
      packages/dashboard/src/app/routes/_authenticated/_collections/collections.tsx
  10. 1 1
      packages/dashboard/src/app/routes/_authenticated/_collections/collections_.$id.tsx
  11. 1 1
      packages/dashboard/src/app/routes/_authenticated/_collections/components/collection-contents-sheet.tsx
  12. 1 1
      packages/dashboard/src/app/routes/_authenticated/_collections/components/collection-filters-selector.tsx
  13. 1 1
      packages/dashboard/src/app/routes/_authenticated/_countries/countries.tsx
  14. 1 1
      packages/dashboard/src/app/routes/_authenticated/_countries/countries_.$id.tsx
  15. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-sheet.tsx
  16. 2 2
      packages/dashboard/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx
  17. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customer-groups/customer-groups.tsx
  18. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customer-groups/customer-groups_.$id.tsx
  19. 2 2
      packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-address-card.tsx
  20. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-address-form.tsx
  21. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-history/customer-history-container.tsx
  22. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-history/customer-history.tsx
  23. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-history/use-customer-history.ts
  24. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-status-badge.tsx
  25. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customers/customers.tsx
  26. 1 1
      packages/dashboard/src/app/routes/_authenticated/_customers/customers_.$id.tsx
  27. 1 1
      packages/dashboard/src/app/routes/_authenticated/_facets/components/edit-facet-value.tsx
  28. 1 1
      packages/dashboard/src/app/routes/_authenticated/_facets/components/facet-values-sheet.tsx
  29. 1 1
      packages/dashboard/src/app/routes/_authenticated/_facets/components/facet-values-table.tsx
  30. 1 1
      packages/dashboard/src/app/routes/_authenticated/_facets/facets.tsx
  31. 1 1
      packages/dashboard/src/app/routes/_authenticated/_facets/facets_.$id.tsx
  32. 1 1
      packages/dashboard/src/app/routes/_authenticated/_global-settings/global-settings.tsx
  33. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/components/order-history/order-history-container.tsx
  34. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/components/order-history/order-history.tsx
  35. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/components/order-history/use-order-history.ts
  36. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/components/order-table.tsx
  37. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/components/order-tax-summary.tsx
  38. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/components/payment-details.tsx
  39. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/orders.tsx
  40. 1 1
      packages/dashboard/src/app/routes/_authenticated/_orders/orders_.$id.tsx
  41. 1 1
      packages/dashboard/src/app/routes/_authenticated/_payment-methods/components/payment-eligibility-checker-selector.tsx
  42. 1 1
      packages/dashboard/src/app/routes/_authenticated/_payment-methods/components/payment-handler-selector.tsx
  43. 1 1
      packages/dashboard/src/app/routes/_authenticated/_payment-methods/payment-methods.tsx
  44. 1 1
      packages/dashboard/src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx
  45. 1 1
      packages/dashboard/src/app/routes/_authenticated/_product-variants/components/variant-price-detail.tsx
  46. 1 1
      packages/dashboard/src/app/routes/_authenticated/_product-variants/product-variants.tsx
  47. 1 1
      packages/dashboard/src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx
  48. 1 1
      packages/dashboard/src/app/routes/_authenticated/_products/components/create-product-variants-dialog.tsx
  49. 1 1
      packages/dashboard/src/app/routes/_authenticated/_products/components/create-product-variants.tsx
  50. 1 1
      packages/dashboard/src/app/routes/_authenticated/_products/products.tsx
  51. 1 1
      packages/dashboard/src/app/routes/_authenticated/_products/products_.$id.tsx
  52. 1 1
      packages/dashboard/src/app/routes/_authenticated/_profile/profile.tsx
  53. 1 1
      packages/dashboard/src/app/routes/_authenticated/_promotions/components/promotion-actions-selector.tsx
  54. 1 1
      packages/dashboard/src/app/routes/_authenticated/_promotions/components/promotion-conditions-selector.tsx
  55. 1 1
      packages/dashboard/src/app/routes/_authenticated/_promotions/promotions.tsx
  56. 1 1
      packages/dashboard/src/app/routes/_authenticated/_promotions/promotions_.$id.tsx
  57. 1 1
      packages/dashboard/src/app/routes/_authenticated/_roles/components/permissions-grid.tsx
  58. 1 1
      packages/dashboard/src/app/routes/_authenticated/_roles/roles.tsx
  59. 1 1
      packages/dashboard/src/app/routes/_authenticated/_roles/roles_.$id.tsx
  60. 1 1
      packages/dashboard/src/app/routes/_authenticated/_sellers/sellers.tsx
  61. 1 1
      packages/dashboard/src/app/routes/_authenticated/_sellers/sellers_.$id.tsx
  62. 1 1
      packages/dashboard/src/app/routes/_authenticated/_shipping-methods/components/shipping-calculator-selector.tsx
  63. 1 1
      packages/dashboard/src/app/routes/_authenticated/_shipping-methods/components/shipping-eligibility-checker-selector.tsx
  64. 1 1
      packages/dashboard/src/app/routes/_authenticated/_shipping-methods/components/test-shipping-method-dialog.tsx
  65. 1 1
      packages/dashboard/src/app/routes/_authenticated/_shipping-methods/shipping-methods.tsx
  66. 1 1
      packages/dashboard/src/app/routes/_authenticated/_shipping-methods/shipping-methods_.$id.tsx
  67. 1 1
      packages/dashboard/src/app/routes/_authenticated/_stock-locations/stock-locations.tsx
  68. 1 1
      packages/dashboard/src/app/routes/_authenticated/_stock-locations/stock-locations_.$id.tsx
  69. 1 1
      packages/dashboard/src/app/routes/_authenticated/_system/healthchecks.tsx
  70. 1 1
      packages/dashboard/src/app/routes/_authenticated/_system/job-queue.tsx
  71. 1 1
      packages/dashboard/src/app/routes/_authenticated/_tax-categories/tax-categories.tsx
  72. 1 1
      packages/dashboard/src/app/routes/_authenticated/_tax-categories/tax-categories_.$id.tsx
  73. 1 1
      packages/dashboard/src/app/routes/_authenticated/_tax-rates/tax-rates.tsx
  74. 1 1
      packages/dashboard/src/app/routes/_authenticated/_tax-rates/tax-rates_.$id.tsx
  75. 1 1
      packages/dashboard/src/app/routes/_authenticated/_zones/zones.tsx
  76. 1 1
      packages/dashboard/src/app/routes/_authenticated/_zones/zones_.$id.tsx
  77. 1 1
      packages/dashboard/src/lib/components/data-table/data-table-column-header.tsx
  78. 1 1
      packages/dashboard/src/lib/components/data-table/data-table-filter-dialog.tsx
  79. 1 1
      packages/dashboard/src/lib/components/layout/app-layout.tsx
  80. 1 1
      packages/dashboard/src/lib/components/layout/channel-switcher.tsx
  81. 1 1
      packages/dashboard/src/lib/components/layout/language-dialog.tsx
  82. 1 1
      packages/dashboard/src/lib/components/layout/nav-user.tsx
  83. 7 9
      packages/dashboard/src/lib/components/login/login-form.tsx
  84. 1 1
      packages/dashboard/src/lib/components/shared/asset-gallery.tsx
  85. 1 1
      packages/dashboard/src/lib/components/shared/channel-code-label.tsx
  86. 1 1
      packages/dashboard/src/lib/components/shared/channel-selector.tsx
  87. 1 1
      packages/dashboard/src/lib/components/shared/confirmation-dialog.tsx
  88. 1 1
      packages/dashboard/src/lib/components/shared/country-selector.tsx
  89. 1 1
      packages/dashboard/src/lib/components/shared/currency-selector.tsx
  90. 1 1
      packages/dashboard/src/lib/components/shared/customer-address-form.tsx
  91. 1 1
      packages/dashboard/src/lib/components/shared/customer-group-selector.tsx
  92. 1 1
      packages/dashboard/src/lib/components/shared/customer-selector.tsx
  93. 1 1
      packages/dashboard/src/lib/components/shared/error-page.tsx
  94. 1 1
      packages/dashboard/src/lib/components/shared/facet-value-selector.tsx
  95. 1 1
      packages/dashboard/src/lib/components/shared/history-timeline/history-entry.tsx
  96. 1 1
      packages/dashboard/src/lib/components/shared/history-timeline/history-note-checkbox.tsx
  97. 1 1
      packages/dashboard/src/lib/components/shared/history-timeline/history-note-editor.tsx
  98. 1 1
      packages/dashboard/src/lib/components/shared/language-selector.tsx
  99. 1 1
      packages/dashboard/src/lib/components/shared/paginated-list-data-table.tsx
  100. 1 1
      packages/dashboard/src/lib/components/shared/role-code-label.tsx

+ 29 - 29
packages/dashboard/package.json

@@ -1,7 +1,7 @@
 {
     "name": "@vendure/dashboard",
     "private": false,
-    "version": "0.1.2",
+    "version": "0.1.3",
     "type": "module",
     "scripts": {
         "dev": "vite",
@@ -39,6 +39,11 @@
         "@dnd-kit/core": "^6.3.1",
         "@dnd-kit/sortable": "^10.0.0",
         "@hookform/resolvers": "^4.1.3",
+        "@lingui/babel-plugin-lingui-macro": "^5.2.0",
+        "@lingui/cli": "^5.2.0",
+        "@lingui/core": "^5.2.0",
+        "@lingui/react": "^5.2.0",
+        "@lingui/vite-plugin": "^5.2.0",
         "@radix-ui/react-accordion": "^1.2.3",
         "@radix-ui/react-alert-dialog": "^1.1.6",
         "@radix-ui/react-avatar": "^1.1.3",
@@ -56,53 +61,48 @@
         "@radix-ui/react-switch": "^1.1.3",
         "@radix-ui/react-tabs": "^1.1.3",
         "@radix-ui/react-tooltip": "^1.1.8",
-        "@lingui/babel-plugin-lingui-macro": "^5.2.0",
-        "@lingui/core": "^5.2.0",
-        "@lingui/react": "^5.2.0",
-        "@lingui/vite-plugin": "^5.2.0",
         "@tailwindcss/vite": "^4.0.7",
+        "@tanstack/eslint-plugin-query": "^5.66.1",
         "@tanstack/react-query": "^5.66.7",
+        "@tanstack/react-query-devtools": "^5.68.0",
         "@tanstack/react-router": "^1.105.0",
         "@tanstack/react-table": "^8.21.2",
+        "@tanstack/router-devtools": "^1.105.0",
         "@tanstack/router-plugin": "^1.105.0",
+        "@tiptap/pm": "^2.11.5",
+        "@tiptap/react": "^2.11.5",
+        "@tiptap/starter-kit": "^2.11.5",
+        "@types/react": "^19.0.10",
+        "@types/react-dom": "^19.0.4",
+        "@types/react-grid-layout": "^1.3.5",
+        "@uidotdev/usehooks": "^2.4.1",
         "@vitejs/plugin-react": "^4.3.4",
-        "gql.tada": "^1.8.10",
-        "react": "^19.0.0",
-        "react-dom": "^19.0.0",
-        "tailwindcss": "^4.0.6",
-        "unplugin-swc": "^1.5.1",
-        "@lingui/cli": "^5.2.0",
         "awesome-graphql-client": "^2.1.0",
         "class-variance-authority": "^0.7.1",
         "clsx": "^2.1.1",
-        "graphql": "~16.10.0",
         "cmdk": "^1.0.0",
         "date-fns": "^3.6.0",
-        "@tanstack/eslint-plugin-query": "^5.66.1",
-        "@tanstack/router-devtools": "^1.105.0",
-        "@tanstack/react-query-devtools": "^5.68.0",
-        "react-day-picker": "^8.10.1",
-        "@tiptap/pm": "^2.11.5",
-        "@tiptap/react": "^2.11.5",
-        "@tiptap/starter-kit": "^2.11.5",
-        "@uidotdev/usehooks": "^2.4.1",
+        "gql.tada": "^1.8.10",
+        "graphql": "~16.10.0",
         "json-edit-react": "^1.23.1",
+        "lucide-react": "^0.475.0",
+        "motion": "^12.6.2",
+        "next-themes": "^0.4.6",
+        "react": "^19.0.0",
+        "react-day-picker": "^8.10.1",
+        "react-dom": "^19.0.0",
         "react-dropzone": "^14.3.8",
-        "@types/react": "^19.0.10",
-        "zod": "^3.24.2",
-        "@types/react-dom": "^19.0.4",
-        "@types/react-grid-layout": "^1.3.5",
-        "tailwindcss-animate": "^1.0.7",
-        "tw-animate-css": "^1.2.4",
         "react-grid-layout": "^1.5.1",
         "react-hook-form": "^7.54.2",
         "recharts": "^2.15.1",
         "sonner": "^2.0.1",
         "tailwind-merge": "^3.0.1",
+        "tailwindcss": "^4.0.6",
+        "tailwindcss-animate": "^1.0.7",
+        "tw-animate-css": "^1.2.4",
+        "unplugin-swc": "^1.5.1",
         "vite": "^6.1.0",
-        "lucide-react": "^0.475.0",
-        "motion": "^12.6.2",
-        "next-themes": "^0.4.6"
+        "zod": "^3.24.2"
     },
     "devDependencies": {
         "@eslint/js": "^9.19.0",

+ 0 - 1
packages/dashboard/src/app/main.tsx

@@ -69,7 +69,6 @@ function App() {
     }, []);
 
     useEffect(() => {
-        console.log('extensionsLoaded', extensionsLoaded);
         if (extensionsLoaded) {
             executeDashboardExtensionCallbacks();
         }

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_administrators/administrators.tsx

@@ -5,7 +5,7 @@ import { Badge } from '@/components/ui/badge.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { administratorListDocument, deleteAdministratorDocument } from './administrators.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_administrators/administrators_.$id.tsx

@@ -17,7 +17,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_administrators/components/role-permissions-display.tsx

@@ -5,7 +5,7 @@ import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/comp
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
 import { useGroupedPermissions } from '@/hooks/use-grouped-permissions.js';
-import { useLingui } from '@lingui/react/macro';
+import { useLingui } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 
 const rolesByIdDocument = graphql(`

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_assets/assets.tsx

@@ -1,6 +1,6 @@
 import { AssetGallery } from '@/components/shared/asset-gallery.js';
 import { Page, PageTitle, PageActionBar } from '@/framework/layout-engine/page-layout.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute } from '@tanstack/react-router';
 
 export const Route = createFileRoute('/_authenticated/_assets/assets')({

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_channels/channels.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { ChannelCodeLabel } from '@/components/shared/channel-code-label.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_channels/channels_.$id.tsx

@@ -22,7 +22,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { ChannelCodeLabel } from '@/components/shared/channel-code-label.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_collections/collections.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarLeft, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { collectionListDocument, deleteCollectionDocument } from './collections.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_collections/collections_.$id.tsx

@@ -30,7 +30,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_collections/components/collection-contents-sheet.tsx

@@ -6,7 +6,7 @@ import {
     SheetTitle,
     SheetTrigger
 } from '@/components/ui/sheet.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { PanelLeftOpen } from 'lucide-react';
 import { CollectionContentsTable } from './collection-contents-table.js';
 import { Button } from '@/components/ui/button.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_collections/components/collection-filters-selector.tsx

@@ -8,7 +8,7 @@ import {
 } from '@/components/ui/dropdown-menu.js';
 import { Separator } from '@/components/ui/separator.js';
 import { ConfigurableOperationDefFragment } from '@/graphql/fragments.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { ConfigurableOperationInput as ConfigurableOperationInputType } from '@vendure/common/lib/generated-types';
 import { Plus } from 'lucide-react';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_countries/countries.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { countriesListQuery, deleteCountryDocument } from './countries.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_countries/countries_.$id.tsx

@@ -19,7 +19,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { countryDetailQuery, createCountryDocument, updateCountryDocument } from './countries.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-sheet.tsx

@@ -6,7 +6,7 @@ import {
     SheetTitle,
     SheetTrigger,
 } from '@/components/ui/sheet.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { PanelLeftOpen } from 'lucide-react';
 import { CustomerGroupMembersTable } from './customer-group-members-table.js';
 import { Button } from '@/components/ui/button.js';

+ 2 - 2
packages/dashboard/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx

@@ -4,14 +4,14 @@ import { Button } from '@/components/ui/button.js';
 import { addCustomFields } from '@/framework/document-introspection/add-custom-fields.js';
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link } from '@tanstack/react-router';
 import { ColumnFiltersState, SortingState } from '@tanstack/react-table';
 import { useState } from 'react';
 import { useMutation, useQueryClient } from '@tanstack/react-query';
 import { addCustomerToGroupDocument } from '../../_customers/customers.graphql.js';
 import { toast } from 'sonner';
-import { useLingui } from '@lingui/react';
+import { useLingui } from '@/lib/trans.js';
 
 export const customerGroupMemberListDocument = graphql(`
     query CustomerGroupMemberList($id: ID!, $options: CustomerListOptions) {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customer-groups/customer-groups.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { CustomerGroupMembersSheet } from './components/customer-group-members-sheet.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customer-groups/customer-groups_.$id.tsx

@@ -18,7 +18,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { CustomerGroupMembersTable } from './components/customer-group-members-table.js';

+ 2 - 2
packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-address-card.tsx

@@ -9,8 +9,8 @@ import {
     DialogTitle,
     DialogDescription,
 } from '@/components/ui/dialog.js';
-import { Trans } from '@lingui/react/macro';
-import { useLingui } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
+import { useLingui } from '@/lib/trans.js';
 import { AddressFormValues, CustomerAddressForm } from './customer-address-form.js';
 import { EditIcon, TrashIcon } from 'lucide-react';
 import { useState } from 'react';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-address-form.tsx

@@ -14,7 +14,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@
 import { api } from '@/graphql/api.js';
 import { graphql, ResultOf } from '@/graphql/graphql.js';
 import { zodResolver } from '@hookform/resolvers/zod';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { ControllerRenderProps, FieldPath, useForm } from 'react-hook-form';
 import { z } from 'zod';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-history/customer-history-container.tsx

@@ -1,6 +1,6 @@
 import { Alert, AlertDescription } from '@/components/ui/alert.js';
 import { Skeleton } from '@/components/ui/skeleton.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { TriangleAlert } from 'lucide-react';
 import { CustomerHistory } from './customer-history.js';
 import { useCustomerHistory } from './use-customer-history.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-history/customer-history.tsx

@@ -2,7 +2,7 @@ import { HistoryEntry, HistoryEntryItem } from '@/components/shared/history-time
 import { HistoryNoteInput } from '@/components/shared/history-timeline/history-note-input.js';
 import { HistoryTimeline } from '@/components/shared/history-timeline/history-timeline.js';
 import { Badge } from '@/components/ui/badge.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { CheckIcon, SquarePen } from 'lucide-react';
 
 interface CustomerHistoryProps {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-history/use-customer-history.ts

@@ -1,6 +1,6 @@
 import { api } from '@/graphql/api.js';
 import { graphql, ResultOf } from '@/graphql/graphql.js';
-import { useLingui } from '@lingui/react/macro';
+import { useLingui } from '@/lib/trans.js';
 import { useInfiniteQuery, useMutation, useQuery } from '@tanstack/react-query';
 import { useState } from 'react';
 import { toast } from 'sonner';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customers/components/customer-status-badge.tsx

@@ -1,6 +1,6 @@
 import { Badge } from '@/components/ui/badge.js';
 import { BadgeX, BadgeCheck } from 'lucide-react';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 
 export type CustomerStatus = 'guest' | 'registered' | 'verified';
 

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customers/customers.tsx

@@ -1,6 +1,6 @@
 import { DetailPageButton } from '@/components/shared/detail-page-button.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { CustomerStatusBadge } from './components/customer-status-badge.js';
 import { customerListDocument, deleteCustomerDocument } from './customers.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_customers/customers_.$id.tsx

@@ -27,7 +27,7 @@ import {
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
 import { api } from '@/graphql/api.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { useMutation } from '@tanstack/react-query';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { Plus } from 'lucide-react';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_facets/components/edit-facet-value.tsx

@@ -5,7 +5,7 @@ import { Input } from '@/components/ui/input.js';
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
 import { useUserSettings } from '@/hooks/use-user-settings.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useMutation, useQuery } from '@tanstack/react-query';
 import { useForm } from 'react-hook-form';
 

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_facets/components/facet-values-sheet.tsx

@@ -6,7 +6,7 @@ import {
     SheetTitle,
     SheetTrigger,
 } from '@/components/ui/sheet.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { PanelLeftOpen } from 'lucide-react';
 import { FacetValuesTable } from './facet-values-table.js';
 import { Button } from '@/components/ui/button.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_facets/components/facet-values-table.tsx

@@ -3,7 +3,7 @@ import { Button } from '@/components/ui/button.js';
 import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover.js';
 import { addCustomFields } from '@/framework/document-introspection/add-custom-fields.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { ColumnFiltersState, SortingState } from '@tanstack/react-table';
 import { useState } from 'react';
 import { EditFacetValue } from './edit-facet-value.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_facets/facets.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { facetListDocument, deleteFacetDocument } from './facets.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_facets/facets_.$id.tsx

@@ -21,7 +21,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { FacetValuesTable } from './components/facet-values-table.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_global-settings/global-settings.tsx

@@ -19,7 +19,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
 import { api } from '@/graphql/api.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { globalSettingsDocument, updateGlobalSettingsDocument } from './global-settings.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/components/order-history/order-history-container.tsx

@@ -3,7 +3,7 @@ import { Skeleton } from '@/components/ui/skeleton.js';
 import { TriangleAlert } from 'lucide-react';
 import { OrderHistory } from './order-history.js';
 import { useOrderHistory } from './use-order-history.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Button } from '@/components/ui/button.js';
 interface OrderHistoryContainerProps {
   orderId: string;

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/components/order-history/order-history.tsx

@@ -1,5 +1,5 @@
 import { Badge } from '@/components/ui/badge.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { ArrowRightToLine, CheckIcon, CreditCardIcon, SquarePen } from 'lucide-react';
 import { HistoryEntry, HistoryEntryItem } from '@/components/shared/history-timeline/history-entry.js';
 import { HistoryNoteInput } from '@/components/shared/history-timeline/history-note-input.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/components/order-history/use-order-history.ts

@@ -1,6 +1,6 @@
 import { api } from '@/graphql/api.js';
 import { graphql, ResultOf } from '@/graphql/graphql.js';
-import { useLingui } from '@lingui/react/macro';
+import { useLingui } from '@/lib/trans.js';
 import { useMutation, useInfiniteQuery } from '@tanstack/react-query';
 import { useState } from 'react';
 import { toast } from 'sonner';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/components/order-table.tsx

@@ -11,7 +11,7 @@ import { useState } from 'react';
 import { orderDetailDocument, orderLineFragment } from '../orders.graphql.js';
 import { VendureImage } from '@/components/shared/vendure-image.js';
 import { Money } from '@/components/data-display/money.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 
 type OrderFragment = NonNullable<ResultOf<typeof orderDetailDocument>['order']>;
 type OrderLineFragment = ResultOf<typeof orderLineFragment>;

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/components/order-tax-summary.tsx

@@ -1,5 +1,5 @@
 import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from "@/components/ui/table.js";
-import { Trans } from "@lingui/react/macro";
+import { Trans } from "@/lib/trans";
 import { orderDetailFragment } from "../orders.graphql.js";
 import { ResultOf } from "gql.tada";
 import { useLocalFormat } from "@/hooks/use-local-format.js";

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/components/payment-details.tsx

@@ -1,6 +1,6 @@
 import { ResultOf } from '@/graphql/graphql.js';
 import { useLocalFormat } from '@/hooks/use-local-format.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { paymentWithRefundsFragment } from '../orders.graphql.js';
 
 type PaymentDetailsProps = {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/orders.tsx

@@ -3,7 +3,7 @@ import { DetailPageButton } from '@/components/shared/detail-page-button.js';
 import { Badge } from '@/components/ui/badge.js';
 import { Button } from '@/components/ui/button.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { orderListDocument } from './orders.graphql.js';
 

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_orders/orders_.$id.tsx

@@ -14,7 +14,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { User } from 'lucide-react';
 import { toast } from 'sonner';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_payment-methods/components/payment-eligibility-checker-selector.tsx

@@ -9,7 +9,7 @@ import {
 import { api } from '@/graphql/api.js';
 import { configurableOperationDefFragment, ConfigurableOperationDefFragment } from '@/graphql/fragments.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { ConfigurableOperationInput as ConfigurableOperationInputType } from '@vendure/common/lib/generated-types';
 import { Plus } from 'lucide-react';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_payment-methods/components/payment-handler-selector.tsx

@@ -9,7 +9,7 @@ import {
 import { api } from '@/graphql/api.js';
 import { configurableOperationDefFragment, ConfigurableOperationDefFragment } from '@/graphql/fragments.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { ConfigurableOperationInput as ConfigurableOperationInputType } from '@vendure/common/lib/generated-types';
 import { Plus } from 'lucide-react';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_payment-methods/payment-methods.tsx

@@ -4,7 +4,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { deletePaymentMethodDocument, paymentMethodListQuery } from './payment-methods.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx

@@ -20,7 +20,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { PaymentEligibilityCheckerSelector } from './components/payment-eligibility-checker-selector.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_product-variants/components/variant-price-detail.tsx

@@ -1,6 +1,6 @@
 import { useEffect, useState } from 'react';
 import { useQuery } from '@tanstack/react-query';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { graphql } from '@/graphql/graphql.js';
 import { api } from '@/graphql/api.js';
 import { useChannel } from '@/hooks/use-channel.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_product-variants/product-variants.tsx

@@ -3,7 +3,7 @@ import { DetailPageButton } from '@/components/shared/detail-page-button.js';
 import { PageActionBar } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
 import { useLocalFormat } from '@/hooks/use-local-format.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute } from '@tanstack/react-router';
 import { deleteProductVariantDocument, productVariantListDocument } from './product-variants.graphql.js';
 

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx

@@ -35,7 +35,7 @@ import {
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
 import { useChannel } from '@/hooks/use-channel.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { Fragment } from 'react/jsx-runtime';
 import { toast } from 'sonner';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_products/components/create-product-variants-dialog.tsx

@@ -12,7 +12,7 @@ import {
 import { Button } from '@/components/ui/button.js';
 import { Plus } from 'lucide-react';
 import { useChannel } from '@/hooks/use-channel.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { graphql } from '@/graphql/graphql.js';
 import { api } from '@/graphql/api.js';
 import { useMutation } from '@tanstack/react-query';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_products/components/create-product-variants.tsx

@@ -1,5 +1,5 @@
 import { zodResolver } from '@hookform/resolvers/zod';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Plus, Trash2 } from 'lucide-react';
 import { useEffect, useMemo } from 'react';
 import { FormProvider, useFieldArray, useForm } from 'react-hook-form';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_products/products.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { PlusIcon, TrashIcon } from 'lucide-react';
 import { deleteProductDocument, productListDocument } from './products.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_products/products_.$id.tsx

@@ -23,7 +23,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { CreateProductVariantsDialog } from './components/create-product-variants-dialog.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_profile/profile.tsx

@@ -15,7 +15,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
 import { api } from '@/graphql/api.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { activeAdministratorDocument, updateAdministratorDocument } from './profile.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_promotions/components/promotion-actions-selector.tsx

@@ -10,7 +10,7 @@ import {
 } from '@/components/ui/dropdown-menu.js';
 import { Separator } from '@/components/ui/separator.js';
 import { Plus } from 'lucide-react';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { ConfigurableOperationInput } from '@/components/shared/configurable-operation-input.js';
 import { api } from '@/graphql/api.js';
 import { ConfigurableOperationInput as ConfigurableOperationInputType } from '@vendure/common/lib/generated-types';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_promotions/components/promotion-conditions-selector.tsx

@@ -10,7 +10,7 @@ import {
 } from '@/components/ui/dropdown-menu.js';
 import { Separator } from '@/components/ui/separator.js';
 import { Plus } from 'lucide-react';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { ConfigurableOperationInput } from '@/components/shared/configurable-operation-input.js';
 import { api } from '@/graphql/api.js';
 import { ConfigurableOperationInput as ConfigurableOperationInputType } from '@vendure/common/lib/generated-types';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_promotions/promotions.tsx

@@ -1,5 +1,5 @@
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { DetailPageButton } from '@/components/shared/detail-page-button.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_promotions/promotions_.$id.tsx

@@ -21,7 +21,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { PromotionActionsSelector } from './components/promotion-actions-selector.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_roles/components/permissions-grid.tsx

@@ -9,7 +9,7 @@ import { Switch } from '@/components/ui/switch.js';
 import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip.js';
 import { useGroupedPermissions } from '@/hooks/use-grouped-permissions.js';
 import { ServerConfig } from '@/providers/server-config.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { useState } from 'react';
 
 interface PermissionsGridProps {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_roles/roles.tsx

@@ -6,7 +6,7 @@ import { Button } from '@/components/ui/button.js';
 import { CUSTOMER_ROLE_CODE, SUPER_ADMIN_ROLE_CODE } from '@/constants.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { LayersIcon, PlusIcon } from 'lucide-react';
 import { ChannelCodeLabel } from '@/components/shared/channel-code-label.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_roles/roles_.$id.tsx

@@ -17,7 +17,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { PermissionsGrid } from './components/permissions-grid.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_sellers/sellers.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { deleteSellerDocument, sellerListQuery } from './sellers.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_sellers/sellers_.$id.tsx

@@ -14,7 +14,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_shipping-methods/components/shipping-calculator-selector.tsx

@@ -9,7 +9,7 @@ import {
 import { api } from '@/graphql/api.js';
 import { configurableOperationDefFragment, ConfigurableOperationDefFragment } from '@/graphql/fragments.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { ConfigurableOperationInput as ConfigurableOperationInputType } from '@vendure/common/lib/generated-types';
 import { Plus } from 'lucide-react';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_shipping-methods/components/shipping-eligibility-checker-selector.tsx

@@ -9,7 +9,7 @@ import {
 import { api } from '@/graphql/api.js';
 import { configurableOperationDefFragment, ConfigurableOperationDefFragment } from '@/graphql/fragments.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { ConfigurableOperationInput as ConfigurableOperationInputType } from '@vendure/common/lib/generated-types';
 import { Plus } from 'lucide-react';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_shipping-methods/components/test-shipping-method-dialog.tsx

@@ -7,7 +7,7 @@ import {
     DialogTitle,
     DialogTrigger,
 } from '@/components/ui/dialog.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { TestTube } from 'lucide-react';
 
 export function TestShippingMethodDialog() {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_shipping-methods/shipping-methods.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { TestShippingMethodDialog } from './components/test-shipping-method-dialog.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_shipping-methods/shipping-methods_.$id.tsx

@@ -21,7 +21,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { FulfillmentHandlerSelector } from './components/fulfillment-handler-selector.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_stock-locations/stock-locations.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { deleteStockLocationDocument, stockLocationListQuery } from './stock-locations.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_stock-locations/stock-locations_.$id.tsx

@@ -18,7 +18,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_system/healthchecks.tsx

@@ -1,7 +1,7 @@
 import { Button } from '@/components/ui/button.js';
 import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card.js';
 import { Page, PageActionBar, PageLayout, PageTitle } from '@/framework/layout-engine/page-layout.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { createFileRoute } from '@tanstack/react-router';
 import { formatRelative } from 'date-fns';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_system/job-queue.tsx

@@ -1,5 +1,5 @@
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute } from '@tanstack/react-router';
 import { jobListDocument, jobQueueListDocument } from './job-queue.graphql.js';
 import { Badge } from '@/components/ui/badge.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_tax-categories/tax-categories.tsx

@@ -4,7 +4,7 @@ import { Badge } from '@/components/ui/badge.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { deleteTaxCategoryDocument, taxCategoryListQuery } from './tax-categories.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_tax-categories/tax-categories_.$id.tsx

@@ -18,7 +18,7 @@ import {
 } from '@/framework/layout-engine/page-layout.js';
 import { detailPageRouteLoader } from '@/framework/page/detail-page-route-loader.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import {

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_tax-rates/tax-rates.tsx

@@ -5,7 +5,7 @@ import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
 import { api } from '@/graphql/api.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Link, createFileRoute } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { deleteTaxRateDocument, taxRateListQuery } from './tax-rates.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_tax-rates/tax-rates_.$id.tsx

@@ -19,7 +19,7 @@ import {
     PageTitle,
 } from '@/framework/layout-engine/page-layout.js';
 import { useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { createTaxRateDocument, taxRateDetailQuery, updateTaxRateDocument } from './tax-rates.graphql.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_zones/zones.tsx

@@ -3,7 +3,7 @@ import { PermissionGuard } from '@/components/shared/permission-guard.js';
 import { Button } from '@/components/ui/button.js';
 import { PageActionBar, PageActionBarRight } from '@/framework/layout-engine/page-layout.js';
 import { ListPage } from '@/framework/page/list-page.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { createFileRoute, Link } from '@tanstack/react-router';
 import { PlusIcon } from 'lucide-react';
 import { ZoneCountriesSheet } from './components/zone-countries-sheet.js';

+ 1 - 1
packages/dashboard/src/app/routes/_authenticated/_zones/zones_.$id.tsx

@@ -18,7 +18,7 @@ import {
     PageTitle,
 } from '@/framework/layout-engine/page-layout.js';
 import { getDetailQueryOptions, useDetailPage } from '@/framework/page/use-detail-page.js';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { createFileRoute, useNavigate } from '@tanstack/react-router';
 import { toast } from 'sonner';
 import { createZoneDocument, zoneDetailQuery, updateZoneDocument } from './zones.graphql.js';

+ 1 - 1
packages/dashboard/src/lib/components/data-table/data-table-column-header.tsx

@@ -16,7 +16,7 @@ import {
 import { DataTableFilterDialog } from '@/components/data-table/data-table-filter-dialog.js';
 import { FieldInfo } from '@/framework/document-introspection/get-document-structure.js';
 import { camelCaseToTitleCase } from '@/lib/utils.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { ColumnDef, HeaderContext } from '@tanstack/table-core';
 import { ArrowDown, ArrowUp, ArrowUpDown, EllipsisVertical, Filter } from 'lucide-react';
 import React from 'react';

+ 1 - 1
packages/dashboard/src/lib/components/data-table/data-table-filter-dialog.tsx

@@ -9,7 +9,7 @@ import {
 } from '@/components/ui/dialog.js';
 import { Input } from '@/components/ui/input.js';
 import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Column } from '@tanstack/react-table';
 import React, { useState } from 'react';
 

+ 1 - 1
packages/dashboard/src/lib/components/layout/app-layout.tsx

@@ -4,7 +4,7 @@ import { Badge } from '@/components/ui/badge.js';
 import { Separator } from '@/components/ui/separator.js';
 import { SidebarInset, SidebarProvider, SidebarTrigger } from '@/components/ui/sidebar.js';
 import { useUserSettings } from '@/hooks/use-user-settings.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { Outlet } from '@tanstack/react-router';
 import { Alerts } from '../shared/alerts.js';
 

+ 1 - 1
packages/dashboard/src/lib/components/layout/channel-switcher.tsx

@@ -11,7 +11,7 @@ import {
     DropdownMenuTrigger,
 } from '@/components/ui/dropdown-menu.js';
 import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from '@/components/ui/sidebar.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useChannel } from '@/hooks/use-channel.js';
 import { Link } from '@tanstack/react-router';
 import { ChannelCodeLabel } from '@/components/shared/channel-code-label.js';

+ 1 - 1
packages/dashboard/src/lib/components/layout/language-dialog.tsx

@@ -1,7 +1,7 @@
 import { CurrencyCode } from '@/constants.js';
 import { useLocalFormat } from '@/hooks/use-local-format.js';
 import { useUserSettings } from '@/hooks/use-user-settings.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useState } from 'react';
 import { uiConfig } from 'virtual:vendure-ui-config';
 import { Button } from '../ui/button.js';

+ 1 - 1
packages/dashboard/src/lib/components/layout/nav-user.tsx

@@ -27,7 +27,7 @@ import { Dialog, DialogTrigger } from '../ui/dialog.js';
 import { LanguageDialog } from './language-dialog.js';
 import { Theme } from '@/providers/theme-provider.js';
 import { Badge } from '../ui/badge.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 
 export function NavUser() {
     const { isMobile } = useSidebar();

+ 7 - 9
packages/dashboard/src/lib/components/login/login-form.tsx

@@ -1,19 +1,17 @@
-import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert.js';
-import { Trans } from '@lingui/react/macro';
-import { cn } from '@/lib/utils.js';
 import { Button } from '@/components/ui/button.js';
 import { Card, CardContent } from '@/components/ui/card.js';
 import { Input } from '@/components/ui/input.js';
-import { Label } from '@/components/ui/label.js';
-import { AlertCircle, Loader2 } from 'lucide-react';
+import { Trans } from '@/lib/trans.js';
+import { cn } from '@/lib/utils.js';
+import { zodResolver } from '@hookform/resolvers/zod';
+import { Loader2 } from 'lucide-react';
 import * as React from 'react';
+import { useForm } from 'react-hook-form';
+import { toast } from 'sonner';
 import { uiConfig } from 'virtual:vendure-ui-config';
-import { LogoMark } from '../shared/logo-mark.js';
 import { z } from 'zod';
-import { useForm } from 'react-hook-form';
-import { zodResolver } from '@hookform/resolvers/zod';
+import { LogoMark } from '../shared/logo-mark.js';
 import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from '../ui/form.js';
-import { toast } from 'sonner';
 
 export interface LoginFormProps extends React.ComponentProps<'div'> {
     loginError?: string;

+ 1 - 1
packages/dashboard/src/lib/components/shared/asset-gallery.tsx

@@ -17,7 +17,7 @@ import { api } from '@/graphql/api.js';
 import { assetFragment, AssetFragment } from '@/graphql/fragments.js';
 import { graphql } from '@/graphql/graphql.js';
 import { formatFileSize } from '@/lib/utils.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
 import { Loader2, Search, Upload, X } from 'lucide-react';
 import { useCallback, useState } from 'react';

+ 1 - 1
packages/dashboard/src/lib/components/shared/channel-code-label.tsx

@@ -1,5 +1,5 @@
 import { DEFAULT_CHANNEL_CODE } from '@/constants.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 
 export function ChannelCodeLabel({ code }: { code: string } | { code: undefined }) {
     return code === DEFAULT_CHANNEL_CODE ? <Trans>Default channel</Trans> : code;

+ 1 - 1
packages/dashboard/src/lib/components/shared/channel-selector.tsx

@@ -1,6 +1,6 @@
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
-import { useLingui } from '@lingui/react/macro';
+import { useLingui } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { MultiSelect } from './multi-select.js';
 import { ChannelCodeLabel } from './channel-code-label.js';

+ 1 - 1
packages/dashboard/src/lib/components/shared/confirmation-dialog.tsx

@@ -9,7 +9,7 @@ import {
     AlertDialogTitle,
     AlertDialogTrigger,
 } from '@/components/ui/alert-dialog.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useState } from 'react';
 
 export function ConfirmationDialog({

+ 1 - 1
packages/dashboard/src/lib/components/shared/country-selector.tsx

@@ -3,7 +3,7 @@ import { Command, CommandEmpty, CommandInput, CommandItem, CommandList } from '@
 import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover.js';
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { Plus, Search } from 'lucide-react';
 import { useState } from 'react';

+ 1 - 1
packages/dashboard/src/lib/components/shared/currency-selector.tsx

@@ -1,7 +1,7 @@
 import { useLocalFormat } from '@/hooks/use-local-format.js';
 import { CurrencyCode } from '@/constants.js';
 import { MultiSelect } from './multi-select.js';
-import { useLingui } from '@lingui/react/macro';
+import { useLingui } from '@/lib/trans.js';
 
 export interface CurrencySelectorProps<T extends boolean> {    
     value: T extends true ? string[] : string;

+ 1 - 1
packages/dashboard/src/lib/components/shared/customer-address-form.tsx

@@ -14,7 +14,7 @@ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@
 import { api } from '@vendure/dashboard';
 import { graphql } from '@vendure/dashboard';
 import { zodResolver } from '@hookform/resolvers/zod';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { useForm } from 'react-hook-form';
 import { z } from 'zod';

+ 1 - 1
packages/dashboard/src/lib/components/shared/customer-group-selector.tsx

@@ -3,7 +3,7 @@ import { Command, CommandItem, CommandList } from '@/components/ui/command.js';
 import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover.js';
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { Plus } from 'lucide-react';
 import { useState } from 'react';

+ 1 - 1
packages/dashboard/src/lib/components/shared/customer-selector.tsx

@@ -3,7 +3,7 @@ import { Command, CommandEmpty, CommandInput, CommandItem, CommandList } from '@
 import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover.js';
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import { Plus, Search } from 'lucide-react';
 import { useState } from 'react';

+ 1 - 1
packages/dashboard/src/lib/components/shared/error-page.tsx

@@ -1,5 +1,5 @@
 import { Page, PageBlock, PageLayout, PageTitle } from '@/framework/layout-engine/page-layout.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { AlertCircle } from 'lucide-react';
 import { Alert, AlertTitle, AlertDescription } from '../ui/alert.js';
 

+ 1 - 1
packages/dashboard/src/lib/components/shared/facet-value-selector.tsx

@@ -4,7 +4,7 @@ import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover
 import { api } from '@/graphql/api.js';
 import { graphql } from '@/graphql/graphql.js';
 import { useDebounce } from '@uidotdev/usehooks';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useInfiniteQuery, useQuery } from '@tanstack/react-query';
 import { ChevronRight, Loader2, Plus } from 'lucide-react';
 import React, { useState } from 'react';

+ 1 - 1
packages/dashboard/src/lib/components/shared/history-timeline/history-entry.tsx

@@ -7,7 +7,7 @@ import {
 } from '@/components/ui/dropdown-menu.js';
 import { Separator } from '@/components/ui/separator.js';
 import { useLocalFormat } from '@/hooks/use-local-format.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { MoreVerticalIcon, PencilIcon, TrashIcon } from 'lucide-react';
 import { useCallback } from 'react';
 import { useHistoryTimeline } from './history-timeline.js';

+ 1 - 1
packages/dashboard/src/lib/components/shared/history-timeline/history-note-checkbox.tsx

@@ -1,5 +1,5 @@
 import { Checkbox } from '@/components/ui/checkbox.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 
 interface HistoryNoteCheckboxProps {
     value: boolean;

+ 1 - 1
packages/dashboard/src/lib/components/shared/history-timeline/history-note-editor.tsx

@@ -8,7 +8,7 @@ import {
     DialogTitle,
 } from '@/components/ui/dialog.js';
 import { Textarea } from '@/components/ui/textarea.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 import { useState } from 'react';
 import { HistoryNoteCheckbox } from './history-note-checkbox.js';
 

+ 1 - 1
packages/dashboard/src/lib/components/shared/language-selector.tsx

@@ -3,7 +3,7 @@ import { graphql } from '@/graphql/graphql.js';
 import { useQuery } from '@tanstack/react-query';
 import { useLocalFormat } from '@/hooks/use-local-format.js';
 import { MultiSelect } from './multi-select.js';
-import { useLingui } from '@lingui/react/macro';
+import { useLingui } from '@/lib/trans.js';
 
 const availableGlobalLanguages = graphql(`
     query AvailableGlobalLanguages {

+ 1 - 1
packages/dashboard/src/lib/components/shared/paginated-list-data-table.tsx

@@ -19,7 +19,7 @@ import {
 import { DisplayComponent } from '@/framework/component-registry/dynamic-component.js';
 import { ResultOf } from '@/graphql/graphql.js';
 import { TypedDocumentNode } from '@graphql-typed-document-node/core';
-import { Trans, useLingui } from '@lingui/react/macro';
+import { Trans, useLingui } from '@/lib/trans.js';
 import { useQuery } from '@tanstack/react-query';
 import {
     ColumnFiltersState,

+ 1 - 1
packages/dashboard/src/lib/components/shared/role-code-label.tsx

@@ -1,5 +1,5 @@
 import { CUSTOMER_ROLE_CODE, SUPER_ADMIN_ROLE_CODE } from '@/constants.js';
-import { Trans } from '@lingui/react/macro';
+import { Trans } from '@/lib/trans.js';
 
 export function RoleCodeLabel({ code }: { code: string } | { code: undefined }) {
     return code === SUPER_ADMIN_ROLE_CODE ? <Trans>Super Admin</Trans> : 

Некоторые файлы не были показаны из-за большого количества измененных файлов