@vendure/dashboard 3.7.1-master-202607110305 → 3.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/dist/bundle/chunks/{2SSKDMRQ-BXz8vjrT.js → 2SSKDMRQ-CGPzX7ok.js} +2 -2
  2. package/dist/bundle/chunks/{AP7HFJJL-BcewBvAf.js → AP7HFJJL-BANaC6nc.js} +1 -1
  3. package/dist/bundle/chunks/{WDYDFRGG-Cd364FN_.js → WDYDFRGG-DWwEqh2h.js} +2 -2
  4. package/dist/bundle/chunks/ar-DCEbHB2w.js +4 -0
  5. package/dist/bundle/chunks/bg-Dfcm3H-7.js +4 -0
  6. package/dist/bundle/chunks/cs-CAXaYQpr.js +4 -0
  7. package/dist/bundle/chunks/de-2rMAToGI.js +4 -0
  8. package/dist/bundle/chunks/en-CBy7m12i.js +4 -0
  9. package/dist/bundle/chunks/es-DhcrnvxO.js +4 -0
  10. package/dist/bundle/chunks/fa-BvgI8zZ5.js +4 -0
  11. package/dist/bundle/chunks/fr-B1Aw3cxh.js +4 -0
  12. package/dist/bundle/chunks/he-Dvum09Nk.js +4 -0
  13. package/dist/bundle/chunks/hr-CiUxzJsU.js +4 -0
  14. package/dist/bundle/chunks/hu-nmofxtH_.js +4 -0
  15. package/dist/bundle/chunks/it-CHi8ynGm.js +4 -0
  16. package/dist/bundle/chunks/ja-zasGFj1j.js +4 -0
  17. package/dist/bundle/chunks/ko-CBy7m12i.js +4 -0
  18. package/dist/bundle/chunks/{locale-YfvnivAQ.js → locale--aauL66m.js} +1 -1
  19. package/dist/bundle/chunks/{main-CG6JVORh.js → main-DVt3RsH7.js} +385 -1076
  20. package/dist/bundle/chunks/nb-DL1AcZeO.js +4 -0
  21. package/dist/bundle/chunks/ne-4aOoOw2J.js +4 -0
  22. package/dist/bundle/chunks/nl-Bf1kuLeC.js +4 -0
  23. package/dist/bundle/chunks/pl-Ak_kyBWq.js +4 -0
  24. package/dist/bundle/chunks/pt_BR-DS-J3yJI.js +4 -0
  25. package/dist/bundle/chunks/pt_PT-CQT5peF9.js +4 -0
  26. package/dist/bundle/chunks/ro-BJ2PuiOl.js +4 -0
  27. package/dist/bundle/chunks/ru-Bc_E807P.js +4 -0
  28. package/dist/bundle/chunks/sv-CZhEzelP.js +4 -0
  29. package/dist/bundle/chunks/tr-mdPJPyeZ.js +4 -0
  30. package/dist/bundle/chunks/uk-fAchGf1H.js +4 -0
  31. package/dist/bundle/chunks/{use-job-queue-polling-BESJ2s1g.js → use-job-queue-polling-mUjHlukj.js} +1329 -12523
  32. package/dist/bundle/chunks/uz-B5L-lMAZ.js +4 -0
  33. package/dist/bundle/chunks/zh_Hans-C8s-LcKM.js +4 -0
  34. package/dist/bundle/chunks/zh_Hant-CGwnZIiO.js +4 -0
  35. package/dist/bundle/lib.js +584 -577
  36. package/dist/bundle/main.js +4 -2
  37. package/dist/plugin/service/metrics.service.js +1 -1
  38. package/dist/vite/lib-externals.d.ts +44 -0
  39. package/dist/vite/lib-externals.js +80 -0
  40. package/dist/vite/vite-plugin-config.js +8 -0
  41. package/package.json +4 -3
  42. package/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-bulk-actions.tsx +69 -0
  43. package/src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx +12 -2
  44. package/src/app/routes/_authenticated/_orders/components/edit-order-table.tsx +79 -44
  45. package/src/app/routes/_authenticated/_products/components/force-remove-option-group-dialog.tsx +66 -0
  46. package/src/app/routes/_authenticated/_products/components/product-option-group-badge.tsx +66 -12
  47. package/src/app/routes/_authenticated/_products/hooks/use-remove-option-group.ts +90 -0
  48. package/src/app/routes/_authenticated/_products/products_.$id.tsx +15 -21
  49. package/src/app/routes/_authenticated/_products/products_.$id_.variants.tsx +34 -75
  50. package/src/i18n/locales/ar.po +89 -63
  51. package/src/i18n/locales/bg.po +89 -63
  52. package/src/i18n/locales/cs.po +89 -63
  53. package/src/i18n/locales/de.po +89 -63
  54. package/src/i18n/locales/en.po +89 -63
  55. package/src/i18n/locales/es.po +89 -63
  56. package/src/i18n/locales/fa.po +89 -63
  57. package/src/i18n/locales/fr.po +89 -63
  58. package/src/i18n/locales/he.po +89 -63
  59. package/src/i18n/locales/hr.po +89 -63
  60. package/src/i18n/locales/hu.po +89 -63
  61. package/src/i18n/locales/it.po +89 -63
  62. package/src/i18n/locales/ja.po +89 -63
  63. package/src/i18n/locales/ko.po +16 -0
  64. package/src/i18n/locales/nb.po +89 -63
  65. package/src/i18n/locales/ne.po +89 -63
  66. package/src/i18n/locales/nl.po +89 -63
  67. package/src/i18n/locales/pl.po +89 -63
  68. package/src/i18n/locales/pt_BR.po +89 -63
  69. package/src/i18n/locales/pt_PT.po +89 -63
  70. package/src/i18n/locales/ro.po +89 -63
  71. package/src/i18n/locales/ru.po +89 -63
  72. package/src/i18n/locales/sv.po +89 -63
  73. package/src/i18n/locales/tr.po +89 -63
  74. package/src/i18n/locales/uk.po +89 -63
  75. package/src/i18n/locales/uz.po +89 -63
  76. package/src/i18n/locales/zh_Hans.po +89 -63
  77. package/src/i18n/locales/zh_Hant.po +89 -63
  78. package/src/lib/components/layout/nav-main.tsx +3 -1
  79. package/src/lib/framework/document-introspection/add-custom-fields.ts +2 -2
  80. package/src/lib/framework/document-introspection/include-only-selected-list-fields.ts +4 -1
  81. package/src/lib/framework/extension-api/custom-providers.ts +1 -1
  82. package/dist/bundle/chunks/ar-BGF27StW.js +0 -4
  83. package/dist/bundle/chunks/bg-DkqOGEvG.js +0 -4
  84. package/dist/bundle/chunks/cs-CKnEitnA.js +0 -4
  85. package/dist/bundle/chunks/de-B-hSTdcF.js +0 -4
  86. package/dist/bundle/chunks/en-4EbLSxP4.js +0 -4
  87. package/dist/bundle/chunks/es-BJr_pTZZ.js +0 -4
  88. package/dist/bundle/chunks/fa-NHk9jRAC.js +0 -4
  89. package/dist/bundle/chunks/fr-gP2g5_ht.js +0 -4
  90. package/dist/bundle/chunks/he-Xr8Cx_mh.js +0 -4
  91. package/dist/bundle/chunks/hr-DzjCNMEU.js +0 -4
  92. package/dist/bundle/chunks/hu-CXOlSiP6.js +0 -4
  93. package/dist/bundle/chunks/it-DYujYua2.js +0 -4
  94. package/dist/bundle/chunks/ja-ZaE7h4EQ.js +0 -4
  95. package/dist/bundle/chunks/ko-4EbLSxP4.js +0 -4
  96. package/dist/bundle/chunks/nb-BGkcDLkm.js +0 -4
  97. package/dist/bundle/chunks/ne-DDJwrpmB.js +0 -4
  98. package/dist/bundle/chunks/nl-DaJt2O1a.js +0 -4
  99. package/dist/bundle/chunks/pl-DQ-xjSLt.js +0 -4
  100. package/dist/bundle/chunks/pt_BR-Bv3fwQyM.js +0 -4
  101. package/dist/bundle/chunks/pt_PT-DdlVuwFg.js +0 -4
  102. package/dist/bundle/chunks/ro-CsBx1KAe.js +0 -4
  103. package/dist/bundle/chunks/ru-CfK8XmB-.js +0 -4
  104. package/dist/bundle/chunks/sv-DpW1nyx4.js +0 -4
  105. package/dist/bundle/chunks/tr-iM7XvP3W.js +0 -4
  106. package/dist/bundle/chunks/uk-Cc2aTucO.js +0 -4
  107. package/dist/bundle/chunks/uz-Bp06aVxW.js +0 -4
  108. package/dist/bundle/chunks/zh_Hans-D1qOG21m.js +0 -4
  109. package/dist/bundle/chunks/zh_Hant-C2Tj1zDP.js +0 -4
  110. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/dev-config.js +0 -251
  111. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/package.json +0 -4
  112. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/nav-modifier-plugin/nav-modifier-plugin.js +0 -23
  113. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/api/api-extensions.js +0 -99
  114. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/api/product-entity.resolver.js +0 -73
  115. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/api/product-review-admin.resolver.js +0 -146
  116. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/api/product-review-entity.resolver.js +0 -79
  117. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/api/product-review-shop.resolver.js +0 -79
  118. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/entities/product-review-translation.entity.js +0 -47
  119. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/entities/product-review.entity.js +0 -90
  120. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/generated-admin-types.js +0 -1021
  121. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/generated-shop-types.js +0 -974
  122. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/reviews-plugin.js +0 -46
  123. package/dist/vite/.vendure-dashboard-temp/compiler/4346-7f116ae5-e526-4aad-b671-b514921c7c92/test-plugins/reviews/types.js +0 -2
  124. package/dist/vite/.vendure-dashboard-temp/gql-tada/4346-7f116ae5-e526-4aad-b671-b514921c7c92/schema.graphql +0 -6844
  125. package/dist/vite/.vendure-dashboard-temp/gql-tada/4346-7f116ae5-e526-4aad-b671-b514921c7c92/tsconfig.json +0 -10
  126. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/dev-config.js +0 -0
  127. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/package.json +0 -0
  128. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/nav-modifier-plugin/nav-modifier-plugin.js +0 -0
  129. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/api/api-extensions.js +0 -0
  130. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/api/product-entity.resolver.js +0 -0
  131. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/api/product-review-admin.resolver.js +0 -0
  132. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/api/product-review-entity.resolver.js +0 -0
  133. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/api/product-review-shop.resolver.js +0 -0
  134. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/entities/product-review-translation.entity.js +0 -0
  135. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/entities/product-review.entity.js +0 -0
  136. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/generated-admin-types.js +0 -0
  137. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/generated-shop-types.js +0 -0
  138. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/reviews-plugin.js +0 -0
  139. /package/dist/vite/.vendure-dashboard-temp/compiler/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/test-plugins/reviews/types.js +0 -0
  140. /package/dist/vite/.vendure-dashboard-temp/gql-tada/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/schema.graphql +0 -0
  141. /package/dist/vite/.vendure-dashboard-temp/gql-tada/{3392-6cc5883f-d536-4750-80a8-e56ef4d1f34c → 3313-17d5f23c-1ffd-4e86-b905-7235d2fbfa10}/tsconfig.json +0 -0
@@ -295,7 +295,7 @@ msgstr "選擇角色"
295
295
  msgid "Successfully created role"
296
296
  msgstr "已成功建立角色"
297
297
 
298
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:459
298
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:434
299
299
  msgid "Are you sure you want to delete this variant?"
300
300
  msgstr "確定要刪除此變體嗎?"
301
301
 
@@ -319,7 +319,7 @@ msgstr "已成功更新商品變體"
319
319
  msgid "Failed to delete {failed} {entityName}: {allErrors}"
320
320
  msgstr "刪除 {failed} {entityName} 失敗:{allErrors}"
321
321
 
322
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:160
322
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:159
323
323
  msgid "Successfully updated product"
324
324
  msgstr "已成功更新商品"
325
325
 
@@ -359,8 +359,10 @@ msgstr "已成功建立庫存位置"
359
359
  #: src/app/routes/_authenticated/_products/components/add-option-group-dialog.tsx:120
360
360
  #: src/app/routes/_authenticated/_products/components/add-product-variant-dialog.tsx:166
361
361
  #: src/app/routes/_authenticated/_products/components/generate-variants-panel.tsx:185
362
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:113
363
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:204
362
+ #: src/app/routes/_authenticated/_products/hooks/use-remove-option-group.ts:55
363
+ #: src/app/routes/_authenticated/_products/hooks/use-remove-option-group.ts:73
364
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:105
365
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:197
364
366
  #: src/lib/components/shared/asset/asset-preview.tsx:127
365
367
  msgid "Unknown error"
366
368
  msgstr "未知錯誤"
@@ -413,7 +415,7 @@ msgstr "退回庫存"
413
415
  msgid "Visibility"
414
416
  msgstr "可見性"
415
417
 
416
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:288
418
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:281
417
419
  msgid "Product variants"
418
420
  msgstr "產品變體"
419
421
 
@@ -574,7 +576,7 @@ msgstr "載入客戶歷程時發生錯誤:{0}"
574
576
  msgid "Successfully removed {selectionLength} {entityType} from channel"
575
577
  msgstr "已成功從通路中移除 {selectionLength} {entityType}"
576
578
 
577
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:159
579
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:151
578
580
  msgid "Add option value"
579
581
  msgstr "新增選項值"
580
582
 
@@ -769,7 +771,7 @@ msgstr "完成草稿"
769
771
  #: src/app/routes/_authenticated/_option-groups/option-groups_.$id.tsx:170
770
772
  #: src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx:158
771
773
  #: src/app/routes/_authenticated/_products/components/add-product-variant-dialog.tsx:286
772
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:353
774
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:328
773
775
  #: src/app/routes/_authenticated/_promotions/promotions_.$id.tsx:165
774
776
  #: src/app/routes/_authenticated/_sellers/sellers_.$id.tsx:89
775
777
  #: src/app/routes/_authenticated/_shipping-methods/shipping-methods_.$id.tsx:148
@@ -885,7 +887,7 @@ msgstr "建立集合失敗"
885
887
  msgid "Go to first page"
886
888
  msgstr "前往第一頁"
887
889
 
888
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:168
890
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:167
889
891
  msgid "Failed to create product"
890
892
  msgstr "建立商品失敗"
891
893
 
@@ -910,7 +912,7 @@ msgstr "訂單已設定配送地址"
910
912
  msgid "Focal Point"
911
913
  msgstr "焦點"
912
914
 
913
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:99
915
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:98
914
916
  msgid "Single variant, no options"
915
917
  msgstr "單一變體,無選項"
916
918
 
@@ -1343,7 +1345,7 @@ msgstr "沒有符合目前篩選條件的變體。"
1343
1345
  msgid "Addresses"
1344
1346
  msgstr "地址"
1345
1347
 
1346
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:144
1348
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:136
1347
1349
  msgid "Add a new option value to the {groupName} option group"
1348
1350
  msgstr "向 {groupName} 選項群組新增選項值"
1349
1351
 
@@ -1469,7 +1471,7 @@ msgstr "用作預設帳單地址"
1469
1471
 
1470
1472
  #: src/app/common/delete-bulk-action.tsx:139
1471
1473
  #: src/app/routes/_authenticated/_assets/components/asset-bulk-actions.tsx:41
1472
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:362
1474
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:337
1473
1475
  #: src/lib/components/data-table/use-generated-columns.tsx:407
1474
1476
  #: src/lib/components/data-table/use-generated-columns.tsx:437
1475
1477
  #: src/lib/components/data-table/views-sheet.tsx:270
@@ -1607,7 +1609,7 @@ msgstr "前往最後一頁"
1607
1609
  #: src/app/routes/_authenticated/_orders/components/refund-order-dialog.tsx:363
1608
1610
  #: src/app/routes/_authenticated/_orders/components/settle-refund-dialog.tsx:71
1609
1611
  #: src/app/routes/_authenticated/_products/components/assign-facet-values-dialog.tsx:273
1610
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:498
1612
+ #: src/app/routes/_authenticated/_products/components/force-remove-option-group-dialog.tsx:48
1611
1613
  #: src/app/routes/_authenticated/_system/settings-store.tsx:140
1612
1614
  #: src/lib/components/data-input/product-multi-selector-input.tsx:470
1613
1615
  #: src/lib/components/data-table/data-table-bulk-action-item.tsx:122
@@ -1675,7 +1677,7 @@ msgstr "集合"
1675
1677
  msgid "Select Shipping Eligibility Checker"
1676
1678
  msgstr ""
1677
1679
 
1678
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:458
1680
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:433
1679
1681
  msgid "Delete variant"
1680
1682
  msgstr "刪除變體"
1681
1683
 
@@ -1717,7 +1719,7 @@ msgid "Private collections are not visible in the shop"
1717
1719
  msgstr "私人集合在商店中不可見"
1718
1720
 
1719
1721
  #: src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx:262
1720
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:229
1722
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:222
1721
1723
  msgid "When enabled, a product is available in the shop"
1722
1724
  msgstr "啟用後,商品在商店中可用"
1723
1725
 
@@ -1778,7 +1780,7 @@ msgstr "無屬性值"
1778
1780
  msgid "A reason for the refund is required"
1779
1781
  msgstr "需要提供退款原因"
1780
1782
 
1781
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:194
1783
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:187
1782
1784
  msgid "Could not remove option group"
1783
1785
  msgstr "無法移除選項群組"
1784
1786
 
@@ -1807,7 +1809,7 @@ msgstr "退款已成功完成"
1807
1809
  #: src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx:138
1808
1810
  #: src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx:252
1809
1811
  #: src/app/routes/_authenticated/_products/components/assign-facet-values-dialog.tsx:279
1810
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:219
1812
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:212
1811
1813
  #: src/app/routes/_authenticated/_profile/profile.tsx:92
1812
1814
  #: src/app/routes/_authenticated/_promotions/promotions_.$id.tsx:144
1813
1815
  #: src/app/routes/_authenticated/_roles/roles_.$id.tsx:84
@@ -1850,7 +1852,7 @@ msgstr "付款方式"
1850
1852
  msgid "Edit"
1851
1853
  msgstr "編輯"
1852
1854
 
1853
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:188
1855
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:180
1854
1856
  msgid "Variant updated successfully"
1855
1857
  msgstr "變體已成功更新"
1856
1858
 
@@ -1904,7 +1906,7 @@ msgstr "欄設定"
1904
1906
  msgid "Code"
1905
1907
  msgstr "代碼"
1906
1908
 
1907
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:203
1909
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:196
1908
1910
  msgid "Failed to remove option groups"
1909
1911
  msgstr "移除選項群組失敗"
1910
1912
 
@@ -1995,7 +1997,7 @@ msgid "Test Shipping Method"
1995
1997
  msgstr "測試配送方式"
1996
1998
 
1997
1999
  #: src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx:491
1998
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:333
2000
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:327
1999
2001
  msgid "Facet Values"
2000
2002
  msgstr "屬性值"
2001
2003
 
@@ -2408,7 +2410,7 @@ msgstr "第 {0} 頁,共 {1} 頁"
2408
2410
  msgid "Rate"
2409
2411
  msgstr "費率"
2410
2412
 
2411
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:114
2413
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:113
2412
2414
  msgid "Size, colour, etc."
2413
2415
  msgstr "大小、顏色等"
2414
2416
 
@@ -2487,6 +2489,10 @@ msgstr "訂單已設定客戶"
2487
2489
  msgid "Facets"
2488
2490
  msgstr "屬性"
2489
2491
 
2492
+ #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-bulk-actions.tsx:58
2493
+ msgid "{count, plural, one {Are you sure you want to remove {count} customer from this group?} other {Are you sure you want to remove {count} customers from this group?}}"
2494
+ msgstr "{count, plural, other {您確定要從此群組中移除{count}位客戶嗎?}}"
2495
+
2490
2496
  #: src/app/routes/_authenticated/_products/components/generate-variants-panel.tsx:293
2491
2497
  msgid "Stock on Hand"
2492
2498
  msgstr "現有庫存"
@@ -2641,11 +2647,11 @@ msgstr "重新計算運費"
2641
2647
  #: src/app/routes/_authenticated/_assets/assets.tsx:40
2642
2648
  #: src/app/routes/_authenticated/_collections/collections_.$id.tsx:225
2643
2649
  #: src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx:508
2644
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:366
2650
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:360
2645
2651
  msgid "Assets"
2646
2652
  msgstr "資源"
2647
2653
 
2648
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:307
2654
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:300
2649
2655
  msgid "This will remove all option groups from this product and return to the variant setup choice."
2650
2656
  msgstr "這將移除此產品的所有選項群組並返回變體設定選擇。"
2651
2657
 
@@ -2691,7 +2697,7 @@ msgstr "所有類型"
2691
2697
  msgid "Only draft orders can be completed"
2692
2698
  msgstr "只有草稿訂單可以完成"
2693
2699
 
2694
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:168
2700
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:167
2695
2701
  msgid "Failed to update product"
2696
2702
  msgstr "更新商品失敗"
2697
2703
 
@@ -2746,7 +2752,7 @@ msgid "Successfully created administrator"
2746
2752
  msgstr "成功建立管理員"
2747
2753
 
2748
2754
  #: src/app/routes/_authenticated/_option-groups/option-groups_.$id.tsx:198
2749
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:315
2755
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:308
2750
2756
  msgid "Product Options"
2751
2757
  msgstr "商品選項"
2752
2758
 
@@ -2762,7 +2768,7 @@ msgstr "正在建立..."
2762
2768
  msgid "Are you sure you want to delete this global view? This action cannot be undone and will affect all users."
2763
2769
  msgstr "確定要刪除此全域檢視嗎?此動作無法復原,將影響所有使用者。"
2764
2770
 
2765
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:491
2771
+ #: src/app/routes/_authenticated/_products/components/force-remove-option-group-dialog.tsx:37
2766
2772
  msgid "Force remove option group"
2767
2773
  msgstr "強制移除選項群組"
2768
2774
 
@@ -2826,7 +2832,7 @@ msgstr "刪除全域檢視"
2826
2832
  #: src/app/routes/_authenticated/_option-groups/option-groups_.$id.tsx:160
2827
2833
  #: src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx:138
2828
2834
  #: src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx:252
2829
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:219
2835
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:212
2830
2836
  #: src/app/routes/_authenticated/_promotions/promotions_.$id.tsx:144
2831
2837
  #: src/app/routes/_authenticated/_roles/roles_.$id.tsx:84
2832
2838
  #: src/app/routes/_authenticated/_sellers/sellers_.$id.tsx:78
@@ -2862,7 +2868,7 @@ msgstr "建立客戶失敗"
2862
2868
  msgid "Focal point updated"
2863
2869
  msgstr "焦點已更新"
2864
2870
 
2865
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:303
2871
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:279
2866
2872
  msgid "Option values"
2867
2873
  msgstr "選項值"
2868
2874
 
@@ -2987,7 +2993,7 @@ msgstr "深色"
2987
2993
  msgid "Test Results"
2988
2994
  msgstr "測試結果"
2989
2995
 
2990
- #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx:127
2996
+ #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx:137
2991
2997
  msgid "Add customer"
2992
2998
  msgstr "新增客戶"
2993
2999
 
@@ -3090,7 +3096,7 @@ msgstr "切換標題欄"
3090
3096
  msgid "New Promotion"
3091
3097
  msgstr "新增促銷"
3092
3098
 
3093
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:152
3099
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:144
3094
3100
  msgid "Option value name"
3095
3101
  msgstr "選項值名稱"
3096
3102
 
@@ -3141,7 +3147,7 @@ msgstr "設定 {columnId} 欄的篩選條件"
3141
3147
  msgid "Country"
3142
3148
  msgstr "國家"
3143
3149
 
3144
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:97
3150
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:96
3145
3151
  msgid "Simple product"
3146
3152
  msgstr "簡單產品"
3147
3153
 
@@ -3321,7 +3327,7 @@ msgstr "配送"
3321
3327
  msgid "useWidgetDimensions must be used within a DashboardBaseWidget"
3322
3328
  msgstr "useWidgetDimensions 必須在 DashboardBaseWidget 中使用"
3323
3329
 
3324
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:493
3330
+ #: src/app/routes/_authenticated/_products/components/force-remove-option-group-dialog.tsx:40
3325
3331
  msgid "This option group is in use by existing variants. Force removing it may affect those variants. Are you sure?"
3326
3332
  msgstr "此選項群組正被現有變體使用。強制移除可能會影響這些變體。您確定嗎?"
3327
3333
 
@@ -3372,7 +3378,7 @@ msgid "Yes"
3372
3378
  msgstr "是"
3373
3379
 
3374
3380
  #: src/app/routes/_authenticated/_collections/collections_.$id.tsx:175
3375
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:246
3381
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:239
3376
3382
  msgid "Slug"
3377
3383
  msgstr "Slug"
3378
3384
 
@@ -3438,7 +3444,7 @@ msgstr "完成付款"
3438
3444
  #: src/app/routes/_authenticated/_channels/channels.tsx:15
3439
3445
  #: src/app/routes/_authenticated/_channels/channels.tsx:23
3440
3446
  #: src/app/routes/_authenticated/_option-groups/option-groups_.$id.tsx:216
3441
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:343
3447
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:337
3442
3448
  #: src/app/routes/_authenticated/_roles/roles_.$id.tsx:111
3443
3449
  #: src/lib/components/layout/channel-switcher.tsx:146
3444
3450
  msgid "Channels"
@@ -3464,8 +3470,8 @@ msgstr "失敗前已退還 {successfulRefundCount} 筆付款。請查看訂單
3464
3470
  msgid "Select item"
3465
3471
  msgstr "選取項目"
3466
3472
 
3467
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:57
3468
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:212
3473
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:56
3474
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:205
3469
3475
  msgid "New product"
3470
3476
  msgstr "新增商品"
3471
3477
 
@@ -3490,6 +3496,10 @@ msgstr "新增動作"
3490
3496
  msgid "Duplicate {0}s"
3491
3497
  msgstr "複製 {0}"
3492
3498
 
3499
+ #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-bulk-actions.tsx:56
3500
+ msgid "Remove from group"
3501
+ msgstr "從群組中移除"
3502
+
3493
3503
  #: src/app/routes/_authenticated/_orders/components/fulfillment-details.tsx:52
3494
3504
  #: src/app/routes/_authenticated/_orders/components/fulfillment-details.tsx:56
3495
3505
  msgid "Failed to update fulfillment state"
@@ -3642,7 +3652,7 @@ msgstr "無法從活動頻道中移除"
3642
3652
  msgid "Not set"
3643
3653
  msgstr "未設定"
3644
3654
 
3645
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:509
3655
+ #: src/app/routes/_authenticated/_products/components/force-remove-option-group-dialog.tsx:60
3646
3656
  msgid "Force remove"
3647
3657
  msgstr "強制移除"
3648
3658
 
@@ -3666,7 +3676,7 @@ msgstr "建立客戶群組失敗"
3666
3676
  msgid "Failed to create role"
3667
3677
  msgstr "建立角色失敗"
3668
3678
 
3669
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:240
3679
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:233
3670
3680
  msgid "Product name"
3671
3681
  msgstr "商品名稱"
3672
3682
 
@@ -3679,8 +3689,8 @@ msgstr "履行狀態已成功更新"
3679
3689
  #: src/app/routes/_authenticated/_option-groups/option-groups_.$id.tsx:211
3680
3690
  #: src/app/routes/_authenticated/_option-groups/option-groups.tsx:38
3681
3691
  #: src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx:66
3682
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:67
3683
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:56
3692
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:59
3693
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:55
3684
3694
  #: src/app/routes/_authenticated/_products/products.tsx:24
3685
3695
  #: src/app/routes/_authenticated/_products/products.tsx:47
3686
3696
  msgid "Products"
@@ -3853,7 +3863,9 @@ msgstr "返回搜尋"
3853
3863
  msgid "View duplicated successfully"
3854
3864
  msgstr "檢視已成功複製"
3855
3865
 
3856
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:320
3866
+ #: src/app/routes/_authenticated/_products/components/product-option-group-badge.tsx:50
3867
+ #: src/app/routes/_authenticated/_products/components/product-option-group-badge.tsx:56
3868
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:297
3857
3869
  msgid "Remove option group"
3858
3870
  msgstr "移除選項群組"
3859
3871
 
@@ -3861,7 +3873,7 @@ msgstr "移除選項群組"
3861
3873
  #: src/app/routes/_authenticated/_orders/components/add-surcharge-form.tsx:76
3862
3874
  #: src/app/routes/_authenticated/_orders/components/order-tax-summary.tsx:14
3863
3875
  #: src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx:171
3864
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:262
3876
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:255
3865
3877
  #: src/app/routes/_authenticated/_promotions/promotions_.$id.tsx:174
3866
3878
  #: src/app/routes/_authenticated/_roles/roles_.$id.tsx:94
3867
3879
  #: src/app/routes/_authenticated/_shipping-methods/shipping-methods_.$id.tsx:162
@@ -4006,7 +4018,7 @@ msgstr "您的訂單摘要"
4006
4018
  msgid "Upload"
4007
4019
  msgstr "上傳"
4008
4020
 
4009
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:112
4021
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:111
4010
4022
  msgid "Product with options"
4011
4023
  msgstr "帶選項的產品"
4012
4024
 
@@ -4395,7 +4407,7 @@ msgstr "隱藏密碼"
4395
4407
  msgid "New seller"
4396
4408
  msgstr "新增賣家"
4397
4409
 
4398
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:154
4410
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:146
4399
4411
  msgid "e.g., Red, Large, Cotton"
4400
4412
  msgstr "例如:紅色、大號、棉質"
4401
4413
 
@@ -4740,7 +4752,7 @@ msgstr "州/省"
4740
4752
  #: src/app/routes/_authenticated/_payment-methods/payment-methods_.$id.tsx:147
4741
4753
  #: src/app/routes/_authenticated/_payment-methods/payment-methods.tsx:42
4742
4754
  #: src/app/routes/_authenticated/_product-variants/product-variants_.$id.tsx:261
4743
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:228
4755
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:221
4744
4756
  #: src/app/routes/_authenticated/_promotions/promotions_.$id.tsx:153
4745
4757
  #: src/app/routes/_authenticated/_system/scheduled-tasks.tsx:115
4746
4758
  #: src/app/routes/_authenticated/_system/scheduled-tasks.tsx:119
@@ -4789,7 +4801,7 @@ msgstr "預覽變更"
4789
4801
  msgid "Failed to remove {entityType} from channel"
4790
4802
  msgstr "從頻道中移除 {entityType} 失敗"
4791
4803
 
4792
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:196
4804
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:188
4793
4805
  msgid "Variant deleted successfully"
4794
4806
  msgstr "變體已成功刪除"
4795
4807
 
@@ -4819,7 +4831,7 @@ msgstr "排程任務"
4819
4831
  msgid "Are you sure you want to delete this item? This action cannot be undone."
4820
4832
  msgstr "確定要刪除此項目嗎?此動作無法復原。"
4821
4833
 
4822
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:347
4834
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:322
4823
4835
  msgid "Variants"
4824
4836
  msgstr "變體"
4825
4837
 
@@ -4977,7 +4989,7 @@ msgstr "移除"
4977
4989
  msgid "Failed to update customer"
4978
4990
  msgstr "更新客戶失敗"
4979
4991
 
4980
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:306
4992
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:299
4981
4993
  msgid "Remove option groups?"
4982
4994
  msgstr "移除選項群組?"
4983
4995
 
@@ -4985,6 +4997,10 @@ msgstr "移除選項群組?"
4985
4997
  msgid "This is a preview of the collection contents based on the current filter settings. Once you save the collection, the contents will be updated to reflect the new filter settings."
4986
4998
  msgstr "這是基於目前篩選器設定的集合內容預覽。儲存集合後,內容將更新以反映新的篩選器設定。"
4987
4999
 
5000
+ #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-bulk-actions.tsx:31
5001
+ msgid "{count, plural, one {Removed {count} customer from group} other {Removed {count} customers from group}}"
5002
+ msgstr "{count, plural, other {已從群組中移除{count}位客戶}}"
5003
+
4988
5004
  #. js-lingui-explicit-id
4989
5005
  #: src/lib/framework/defaults.ts:223
4990
5006
  msgid "Tax Categories"
@@ -4995,6 +5011,10 @@ msgstr "稅務類別"
4995
5011
  msgid "Tax Rates"
4996
5012
  msgstr "稅率"
4997
5013
 
5014
+ #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-bulk-actions.tsx:40
5015
+ msgid "Failed to remove customers from group"
5016
+ msgstr "從群組中移除客戶失敗"
5017
+
4998
5018
  #: src/lib/components/layout/manage-languages-dialog.tsx:273
4999
5019
  msgid "Failed to load global settings"
5000
5020
  msgstr "載入全域設定失敗"
@@ -5115,7 +5135,7 @@ msgstr "我已儲存此 API Key"
5115
5135
  msgid "Configure available languages for your store and channels"
5116
5136
  msgstr "為您的商店和通路設定可用語言"
5117
5137
 
5118
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:160
5138
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:159
5119
5139
  msgid "Successfully created product"
5120
5140
  msgstr "已成功建立商品"
5121
5141
 
@@ -5213,7 +5233,7 @@ msgstr "不含稅:"
5213
5233
  #~ msgid "Add Stock to Location"
5214
5234
  #~ msgstr "向位置新增庫存"
5215
5235
 
5216
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:106
5236
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:98
5217
5237
  msgid "Successfully added option value"
5218
5238
  msgstr "已成功新增選項值"
5219
5239
 
@@ -5221,8 +5241,8 @@ msgstr "已成功新增選項值"
5221
5241
  msgid "Collection moved to new parent"
5222
5242
  msgstr "集合已移至新的父級"
5223
5243
 
5224
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:211
5225
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:220
5244
+ #: src/app/routes/_authenticated/_products/hooks/use-remove-option-group.ts:51
5245
+ #: src/app/routes/_authenticated/_products/hooks/use-remove-option-group.ts:67
5226
5246
  msgid "Option group removed"
5227
5247
  msgstr "選項群組已移除"
5228
5248
 
@@ -5309,6 +5329,11 @@ msgstr "找不到選項群組"
5309
5329
  msgid "No items found"
5310
5330
  msgstr "找不到項目"
5311
5331
 
5332
+ #: src/app/routes/_authenticated/_products/hooks/use-remove-option-group.ts:54
5333
+ #: src/app/routes/_authenticated/_products/hooks/use-remove-option-group.ts:72
5334
+ msgid "Failed to remove option group"
5335
+ msgstr ""
5336
+
5312
5337
  #: src/app/routes/_authenticated/_orders/components/order-table-totals.tsx:52
5313
5338
  msgid "Sub total"
5314
5339
  msgstr "小計"
@@ -5386,7 +5411,7 @@ msgstr "已成功從頻道中移除 {entityType}"
5386
5411
  #: src/app/routes/_authenticated/_option-groups/option-groups_.$id.tsx:81
5387
5412
  #: src/app/routes/_authenticated/_option-groups/option-groups.tsx:17
5388
5413
  #: src/app/routes/_authenticated/_option-groups/option-groups.tsx:24
5389
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:283
5414
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:259
5390
5415
  msgid "Option Groups"
5391
5416
  msgstr "選項群組"
5392
5417
 
@@ -5551,7 +5576,8 @@ msgstr "賣家訂單"
5551
5576
  msgid "New facet"
5552
5577
  msgstr "新增屬性"
5553
5578
 
5554
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:321
5579
+ #: src/app/routes/_authenticated/_products/components/product-option-group-badge.tsx:51
5580
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:298
5555
5581
  msgid "Are you sure you want to remove this option group from the product?"
5556
5582
  msgstr "您確定要從產品中移除此選項群組嗎?"
5557
5583
 
@@ -5734,7 +5760,7 @@ msgstr "新增賣家"
5734
5760
  msgid "Edit image"
5735
5761
  msgstr "編輯圖片"
5736
5762
 
5737
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:69
5763
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:61
5738
5764
  msgid "Manage Variants"
5739
5765
  msgstr "管理變體"
5740
5766
 
@@ -5786,7 +5812,7 @@ msgstr "新增資源"
5786
5812
  #~ msgid "Save changes"
5787
5813
  #~ msgstr "儲存變更"
5788
5814
 
5789
- #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx:55
5815
+ #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx:61
5790
5816
  msgid "Customer added to group"
5791
5817
  msgstr "客戶已新增至群組"
5792
5818
 
@@ -5794,11 +5820,11 @@ msgstr "客戶已新增至群組"
5794
5820
  msgid "Seller orders"
5795
5821
  msgstr "賣家訂單"
5796
5822
 
5797
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:112
5823
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:104
5798
5824
  msgid "Failed to add option value"
5799
5825
  msgstr "新增選項值失敗"
5800
5826
 
5801
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:141
5827
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:133
5802
5828
  msgid "Add option value to {groupName}"
5803
5829
  msgstr "向 {groupName} 新增選項值"
5804
5830
 
@@ -5813,7 +5839,7 @@ msgstr ""
5813
5839
  #: src/app/routes/_authenticated/_products/components/add-product-variant-dialog.tsx:292
5814
5840
  #: src/app/routes/_authenticated/_products/components/assign-facet-values-dialog.tsx:198
5815
5841
  #: src/app/routes/_authenticated/_products/components/generate-variants-panel.tsx:287
5816
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:356
5842
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:331
5817
5843
  msgid "SKU"
5818
5844
  msgstr "SKU"
5819
5845
 
@@ -5821,7 +5847,7 @@ msgstr "SKU"
5821
5847
  msgid "{totalQuantity} item(s) refunded"
5822
5848
  msgstr "{totalQuantity}件商品已退款"
5823
5849
 
5824
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:287
5850
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:263
5825
5851
  msgid "No option groups defined yet. Add option groups to create different variants of your product (e.g., Size, Color, Material)"
5826
5852
  msgstr "尚未定義選項群組。新增選項群組以建立商品的不同變體(例如:尺寸、顏色、材質)"
5827
5853
 
@@ -5995,13 +6021,13 @@ msgstr "完成退款"
5995
6021
  msgid "Payment method is required"
5996
6022
  msgstr "付款方式為必填欄位"
5997
6023
 
5998
- #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx:61
6024
+ #: src/app/routes/_authenticated/_customer-groups/components/customer-group-members-table.tsx:67
5999
6025
  #: src/app/routes/_authenticated/_customers/customers_.$id.tsx:134
6000
6026
  msgid "Failed to add customer to group"
6001
6027
  msgstr "將客戶新增至群組失敗"
6002
6028
 
6003
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:280
6004
- #: src/app/routes/_authenticated/_products/products_.$id.tsx:279
6029
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:256
6030
+ #: src/app/routes/_authenticated/_products/products_.$id.tsx:272
6005
6031
  msgid "Manage variants"
6006
6032
  msgstr "管理變體"
6007
6033
 
@@ -6026,7 +6052,7 @@ msgstr "搜尋賣家..."
6026
6052
  msgid "Successfully created promotion"
6027
6053
  msgstr "已成功建立促銷"
6028
6054
 
6029
- #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:297
6055
+ #: src/app/routes/_authenticated/_products/products_.$id_.variants.tsx:273
6030
6056
  msgid "Option"
6031
6057
  msgstr "選項"
6032
6058
 
@@ -184,7 +184,9 @@ export function NavMain({ items }: Readonly<{ items: Array<NavMenuSection | NavM
184
184
  .map(section => {
185
185
  if ('items' in section) {
186
186
  // Filter items based on permissions
187
- const allowedItems = (section.items ?? []).filter(isItemAllowed).sort(sortByOrder);
187
+ const allowedItems = (section.items ?? [])
188
+ .filter(item => isItemAllowed(item))
189
+ .sort(sortByOrder);
188
190
  return { ...section, items: allowedItems };
189
191
  }
190
192
  return section;
@@ -50,11 +50,11 @@ function createOptionsKey(options?: {
50
50
  }
51
51
 
52
52
  if (options.includeCustomFields) {
53
- parts.push(`include:${[...options.includeCustomFields].sort().join(',')}`);
53
+ parts.push(`include:${[...options.includeCustomFields].sort((a, b) => a.localeCompare(b)).join(',')}`);
54
54
  }
55
55
 
56
56
  if (options.includeNestedFragments) {
57
- parts.push(`nested:${[...options.includeNestedFragments].sort().join(',')}`);
57
+ parts.push(`nested:${[...options.includeNestedFragments].sort((a, b) => a.localeCompare(b)).join(',')}`);
58
58
  }
59
59
 
60
60
  return parts.join('|') || 'default';
@@ -73,7 +73,10 @@ function createCacheKey(
73
73
  }
74
74
 
75
75
  function sortJoin<T>(arr: T[], separator: string): string {
76
- return arr.slice(0).sort().join(separator);
76
+ return arr
77
+ .slice(0)
78
+ .sort((a, b) => String(a).localeCompare(String(b)))
79
+ .join(separator);
77
80
  }
78
81
 
79
82
  /**
@@ -85,7 +85,7 @@ export function registerDashboardCustomProviders(providers: DashboardCustomProvi
85
85
  }
86
86
 
87
87
  if (duplicateIds.size) {
88
- const duplicates = Array.from(duplicateIds).sort();
88
+ const duplicates = Array.from(duplicateIds).sort((a, b) => a.localeCompare(b));
89
89
  throw new Error(
90
90
  `Duplicate dashboard custom provider ids detected: ` +
91
91
  `${duplicates.map(id => `"${id}"`).join(', ')}. ` +