CANCERYS\kw093 2 miesięcy temu
rodzic
commit
edb5521c01
68 zmienionych plików z 1422 dodań i 196 usunięć
  1. +806
    -14
      package-lock.json
  2. +1
    -0
      src/app/(main)/dashboard/page.tsx
  3. +11
    -5
      src/app/(main)/do/page.tsx
  4. +7
    -3
      src/app/(main)/inventory/page.tsx
  5. +2
    -0
      src/app/(main)/layout.tsx
  6. +0
    -1
      src/app/(main)/material/page.tsx
  7. +6
    -3
      src/app/(main)/pickOrder/page.tsx
  8. +3
    -0
      src/app/(main)/po/edit/page.tsx
  9. +9
    -4
      src/app/(main)/po/page.tsx
  10. +10
    -4
      src/app/(main)/production/page.tsx
  11. +5
    -2
      src/app/(main)/projects/create/page.tsx
  12. +8
    -3
      src/app/(main)/projects/page.tsx
  13. +11
    -6
      src/app/(main)/scheduling/detail/edit/page.tsx
  14. +14
    -7
      src/app/(main)/scheduling/detail/page.tsx
  15. +1
    -1
      src/app/(main)/scheduling/rough/edit/page.tsx
  16. +8
    -4
      src/app/(main)/scheduling/rough/page.tsx
  17. +9
    -4
      src/app/(main)/settings/user/edit/page.tsx
  18. +4
    -2
      src/app/api/do/index.tsx
  19. +5
    -2
      src/app/api/mail/actions.ts
  20. +5
    -2
      src/app/api/mail/index.ts
  21. +4
    -2
      src/app/api/pdf/actions.ts
  22. +4
    -2
      src/app/api/pickOrder/index.ts
  23. +4
    -2
      src/app/api/po/actions.ts
  24. +4
    -2
      src/app/api/po/index.ts
  25. +4
    -2
      src/app/api/projects/actions.ts
  26. +4
    -2
      src/app/api/qc/actions.ts
  27. +4
    -2
      src/app/api/qc/index.ts
  28. +4
    -2
      src/app/api/qrcode/index.ts
  29. +5
    -2
      src/app/api/settings/item/index.ts
  30. +4
    -2
      src/app/api/settings/m18ImportTesting/actions.ts
  31. +4
    -2
      src/app/api/settings/qcCheck/actions.ts
  32. +7
    -3
      src/app/api/settings/qcItem/actions.ts
  33. +5
    -2
      src/app/api/settings/qcItem/index.ts
  34. +4
    -2
      src/app/api/settings/uom/index.ts
  35. +4
    -2
      src/app/api/user/actions.ts
  36. +4
    -2
      src/app/layout.tsx
  37. +1
    -1
      src/components/CreateClaim/ClaimInputGrid.tsx
  38. +1
    -1
      src/components/CreateItem/CreateItem.tsx
  39. +8
    -8
      src/components/CreateItem/QcDetails.tsx
  40. +3
    -2
      src/components/DetailSchedule/DetailScheduleSearchView.tsx
  41. +7
    -7
      src/components/DetailScheduleDetail/ViewByBomDetails.tsx
  42. +15
    -15
      src/components/DetailScheduleDetail/ViewByFGDetails.tsx
  43. +1
    -1
      src/components/DoSearch/DoSearch.tsx
  44. +1
    -1
      src/components/EditUser/UserDetail.tsx
  45. +1
    -1
      src/components/M18ImportTesting/M18ImportPo.tsx
  46. +1
    -1
      src/components/NavigationContent/NavigationContent.tsx
  47. +2
    -2
      src/components/PickOrderSearch/PickOrderSearch.tsx
  48. +1
    -1
      src/components/RoughSchedule/RoughSchedileSearchView.tsx
  49. +2
    -2
      src/components/RoughScheduleDetail/RoughScheudleDetailView.tsx
  50. +11
    -14
      src/components/RoughScheduleDetail/ViewByBomDetails.tsx
  51. +13
    -13
      src/components/RoughScheduleDetail/ViewByFGDetails.tsx
  52. +8
    -8
      src/components/RoughScheduleSetting/RoughScheduleSetting.tsx
  53. +4
    -3
      src/components/SearchResults/EditableSearchResults.tsx
  54. +0
    -0
      src/i18n/en/items.json
  55. +6
    -0
      src/i18n/en/project.json
  56. +44
    -2
      src/i18n/zh/common.json
  57. +20
    -0
      src/i18n/zh/detailScheduling.json
  58. +15
    -0
      src/i18n/zh/do.json
  59. +35
    -0
      src/i18n/zh/items.json
  60. +111
    -0
      src/i18n/zh/pickOrder.json
  61. +8
    -0
      src/i18n/zh/project.json
  62. +0
    -1
      src/i18n/zh/projects.json
  63. +2
    -0
      src/i18n/zh/purchaseOrder.json
  64. +78
    -10
      src/i18n/zh/schedule.json
  65. +14
    -0
      src/i18n/zh/settings.json
  66. +4
    -0
      src/i18n/zh/translation.json
  67. +9
    -1
      src/i18n/zh/user.json
  68. +2
    -1
      src/middleware.ts

+ 806
- 14
package-lock.json Wyświetl plik

@@ -18,7 +18,24 @@
"@mui/material-nextjs": "^5.15.0",
"@mui/x-data-grid": "^6.18.7",
"@mui/x-date-pickers": "^6.18.7",
"@tiptap/react": "^2.12.0",
"@tiptap/core": "^2.14.0",
"@tiptap/extension-color": "^2.14.0",
"@tiptap/extension-document": "^2.14.0",
"@tiptap/extension-gapcursor": "^2.14.0",
"@tiptap/extension-highlight": "^2.14.0",
"@tiptap/extension-list-item": "^2.14.0",
"@tiptap/extension-paragraph": "^2.14.0",
"@tiptap/extension-table": "^2.14.0",
"@tiptap/extension-table-cell": "^2.14.0",
"@tiptap/extension-table-header": "^2.14.0",
"@tiptap/extension-table-row": "^2.14.0",
"@tiptap/extension-text": "^2.14.0",
"@tiptap/extension-text-align": "^2.14.0",
"@tiptap/extension-text-style": "^2.14.0",
"@tiptap/extension-underline": "^2.14.0",
"@tiptap/pm": "^2.14.0",
"@tiptap/react": "^2.14.0",
"@tiptap/starter-kit": "^2.14.0",
"@unly/universal-language-detector": "^2.0.3",
"apexcharts": "^3.45.2",
"axios": "^1.9.0",
@@ -27,6 +44,7 @@
"i18next": "^23.7.11",
"i18next-resources-to-backend": "^1.2.0",
"lodash": "^4.17.21",
"mui-color-input": "^7.0.0",
"next": "14.0.4",
"next-auth": "^4.24.5",
"next-pwa": "^5.6.0",
@@ -1729,6 +1747,15 @@
"node": ">=6.9.0"
}
},
"node_modules/@ctrl/tinycolor": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.1.0.tgz",
"integrity": "sha512-WyOx8cJQ+FQus4Mm4uPIZA64gbk3Wxh0so5Lcii0aJifqwoVOlfFtorjLE0Hen4OYyHZMXDWqMmaQemBhgxFRQ==",
"license": "MIT",
"engines": {
"node": ">=14"
}
},
"node_modules/@emotion/babel-plugin": {
"version": "11.11.0",
"resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz",
@@ -2862,6 +2889,12 @@
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@remirror/core-constants": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz",
"integrity": "sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==",
"license": "MIT"
},
"node_modules/@rollup/plugin-babel": {
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
@@ -2972,10 +3005,50 @@
"tslib": "^2.4.0"
}
},
"node_modules/@tiptap/core": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.22.3.tgz",
"integrity": "sha512-czyBPXZG/ZFyObZEF1kyusGf58Ai3X8TnaxlUUn3gqLLWPy0idXZg85NETCidzi/gAxWxL9j6Pcy+zwS4pbZYQ==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-blockquote": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.22.3.tgz",
"integrity": "sha512-HvTXvqeGaANg0owk0Xxkgyc4lJMO5CZES2Lc3JJp8u5kV+HZIwd78eJ7fbKBMtkpKb4zOk4xQsHQ/TuhghJaeA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-bold": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.22.3.tgz",
"integrity": "sha512-J3GxKwijD42eqCwU1SS7PK5aSgnp0wgQDetLz9izAD0RQBrKj5WZA13GnPoTTlzLU4qwjcPRV+6mvF+llH6b6A==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-bubble-menu": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.13.0.tgz",
"integrity": "sha512-y2PRg7YT8Km1e4+xEvXcKTPfEu/i44eKNjbsKojgs70kuONdhFmhWIXCeGEVAwPH8ZPH+JPam5kcW2vsihoayg==",
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.22.3.tgz",
"integrity": "sha512-8iQLNrRf3iBPKqI3dQnfvMxMfgp6y9TAbO803LihvzbIGqBaX264ES7fHtoyFIIeVjy2xFruVsTZCZofWTupGg==",
"license": "MIT",
"dependencies": {
"tippy.js": "^6.3.7"
},
@@ -2988,10 +3061,92 @@
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-bullet-list": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.22.3.tgz",
"integrity": "sha512-SYvLIxqmuV0kTj4/3ZFlnZ1fr9Y233qX00BKuIpGnczeFsWQmzBJo8vGm3d1IlKPCQN+jTRtDdDE1aSum8Kv2w==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-code": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.22.3.tgz",
"integrity": "sha512-s+W6jHezq+n9cC40xZ3hZF6cGGSl+fBELik1b2x8+cb0WoIlqmcdWin1dgeMNrWlRZUw1aD2DNwy/PdXI5vn2g==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-code-block": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.22.3.tgz",
"integrity": "sha512-twPCBpb/ygNixlSBAXgvfo+t56Ucpb8lvPDiZn+cH8OjmmO0ayBoSfSrjKWgaEWGPcXBrFAfsBRbYHyoHj7pXg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0",
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-color": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-color/-/extension-color-2.22.3.tgz",
"integrity": "sha512-4GewNUnDE16cte85kG0qhMGS1NQUQ1HRObVRGP47RlrSc/6x++DOfkqYbSJ0btyfWHGBahC3QQfyQ3eCdryUxg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0",
"@tiptap/extension-text-style": "^2.7.0"
}
},
"node_modules/@tiptap/extension-document": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.22.3.tgz",
"integrity": "sha512-7MnILbhRZRyROlMUgyntzRZ/EZlqNB8fO761RNjJxR2WMb49R4yc04fz7/+f/QH/hwxoS13bKfsNUDAsDxA5Aw==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-dropcursor": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.22.3.tgz",
"integrity": "sha512-yQxSfTWjdUQS+bh6KiNLR9KIMsn1SElzycQe4XE+0eoaetapGtKqxfwkTbbQdNgQOU5wQG1KOda221mnPvkpAA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0",
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-floating-menu": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.13.0.tgz",
"integrity": "sha512-gF14Nu61QUWWJDxOxzB679uK0W/rWcU7FTn1ll2zGt3NW2P2HheLo6qL1U5Wwxo3YwXloM8KLofdWi6vMN5RQQ==",
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.22.3.tgz",
"integrity": "sha512-GeJRRdulxpwsshxzBkpOf/xJkLD2fa+49o+3FqRCmrm7AioC8oUcZZmzuzjLj5a3ZNGKPuJ9xxDkYWUjH4tE1g==",
"license": "MIT",
"dependencies": {
"tippy.js": "^6.3.7"
},
@@ -3004,13 +3159,295 @@
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-gapcursor": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.22.3.tgz",
"integrity": "sha512-6Q8TLL4PVGcZLn27eQazCC+be8LP8uzuz5Z5e4TpIeswPAju49cerQOdEGNFKkuYv/FelWIhXNtkWFMf4eSmyw==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0",
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-hard-break": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.22.3.tgz",
"integrity": "sha512-tbEji/V4Za3UhxYwB36amYhyonwe5j66iYTNRWzgjNixjrcGDbWk6cfaF9jMAgPgIDBmmtQLJY+moKskwgpnZg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-heading": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.22.3.tgz",
"integrity": "sha512-+MexJD+kXtNwMDbNTFa7jCFipx1DqAdT+n9GgInqebAN9bK+CWjC+SskzZNRqeMrQ0Er7QTsi6YC09M+74sevA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-highlight": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-highlight/-/extension-highlight-2.22.3.tgz",
"integrity": "sha512-cdPSeQ3QcThhJdzkjK9a1871uPQjwmOf0WzTGW33lJyJDQHypWIRNUus56c3pGA7BgV9P59QW7Fm8rDnM8XkbA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-history": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.22.3.tgz",
"integrity": "sha512-F9sC45zPw7vbjKrwSKuSLZ0ODyc/X3bGPeCa6HYLEHKfgqsdt2v2fQLvxjpmlwO2ZMrnkBkg76KDxHfVyrZ2zQ==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0",
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-horizontal-rule": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.22.3.tgz",
"integrity": "sha512-3GvY798p9pCXUBbCebIdSmi1q80l7VZz/B6NN4uUMQ9iwxWopd8yaZ0O7xx2hM2UBzPEtY3M4FAhhpYUTXNFgQ==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0",
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-italic": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.22.3.tgz",
"integrity": "sha512-W/rQDo7qFL7MfwfaYEcdtbk862fOmBv30qIEwVdqElBye7BFJYKtRuWBzNbG2BwKanjwMbVc/tBXF5W1sqfT7Q==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-list-item": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.22.3.tgz",
"integrity": "sha512-B7Fze+eM1sYbGOZtDDAwAivnj1ow2wN5RqaQPC1la3wdTK4Wgp7bdzGjvUbrN6gp3zMFCEWlqP2toc/mRAHCtA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-ordered-list": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.22.3.tgz",
"integrity": "sha512-pHGkuZhV/uAAHI9vzk/lpAkbdpMT4wUR1FI17/GE3zNrogfzx0VopCQrXq4+sQVsLUW4I6Cj6VeBjm9wB6qlIw==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-paragraph": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.22.3.tgz",
"integrity": "sha512-TYvgS7CweNFo/xVxsKWSt0wnm46Y8OtsfDSjnLbSC4Pj4ZNa6PU3zpvDTW+UxYakr+8zIPvI2WgLBkyTHq6oQA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-strike": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.22.3.tgz",
"integrity": "sha512-I+s2Csw2cTHae2vFJiojnHK+NnQjDr6441mSlAd+e7kEly1kjZ4g7J+JMj02ajNQhr/ob8/hb5r6EdIyv2xtoA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-table": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-table/-/extension-table-2.22.3.tgz",
"integrity": "sha512-lYTuDo/3lJsC6g85b5OCfrKi8yID82PnZlngZo4quVHusE/YuXOwXYD4qt3xEOoqdgFoPQl0b7Ck9C5Qyb8AUg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0",
"@tiptap/pm": "^2.7.0"
}
},
"node_modules/@tiptap/extension-table-cell": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-table-cell/-/extension-table-cell-2.22.3.tgz",
"integrity": "sha512-Yj6/bd4QpKoQpNTi/eNnWpT+VMfTBB7SfCPjlMvTK1MFVr60fmbUjJHrjt2WAfTW2JmkQlLsP8UXjR+Bda+uTA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-table-header": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-table-header/-/extension-table-header-2.22.3.tgz",
"integrity": "sha512-bLq/lufV95fp9gXMjOKMuuhpAa2+t0vi8dz4Zxwnrr1dsvkk4TyiKWRyuI3OV+TCNzZ3hZqOlEStS+Ie6lB/Lg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-table-row": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-table-row/-/extension-table-row-2.22.3.tgz",
"integrity": "sha512-PQbrDIyGOHrsN3RmB+J75UJ10lGW7I4PqY+E2HUtx5HvFOEVPlBbcFELMfjy7dOPbKiM+v6KUSbybXW8h745mg==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-text": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.22.3.tgz",
"integrity": "sha512-07cymWkPTfq6nuum88Yf90YYArbowed8nNiu0Tw3jCvwpzf9J9TDaovT+LAKuSKtrOsnNpFB/9IqUwFxZepOGw==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-text-align": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-text-align/-/extension-text-align-2.22.3.tgz",
"integrity": "sha512-UZ8803BOrHLHSNFfooqgkm2AQsaK/7eE1deQGSazxft89KksAv1kZkEKFypOE8yw85Bg2NHH2Lp6n4tyz2n6/g==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-text-style": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-text-style/-/extension-text-style-2.22.3.tgz",
"integrity": "sha512-M3FLOUPcO8fR+rM97mR2gQ54KFkdlAUQtEPKQpO1f312gtcVdBNxgq0WgqTnBY7thWLyqQSKiAsL6y88+JddSA==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/extension-underline": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/extension-underline/-/extension-underline-2.22.3.tgz",
"integrity": "sha512-floLjh1UbQ2pKgdwfw7qCAJ5VojvH1uqj7xW2RCv79aWYUuJCPD6UBpaBOt/jv7gXDJJ9EeV3m2Hga49CXBrEQ==",
"license": "MIT",
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
},
"peerDependencies": {
"@tiptap/core": "^2.7.0"
}
},
"node_modules/@tiptap/pm": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/pm/-/pm-2.22.3.tgz",
"integrity": "sha512-uWPeIScnpQVCYdTnL140XgcvbT1qH288CstMJ6S0Y11lC5PclPK9CxfAipsqgWWrIK7yatxKUVCg6TzfG9zpmA==",
"license": "MIT",
"dependencies": {
"prosemirror-changeset": "^2.3.0",
"prosemirror-collab": "^1.3.1",
"prosemirror-commands": "^1.6.2",
"prosemirror-dropcursor": "^1.8.1",
"prosemirror-gapcursor": "^1.3.2",
"prosemirror-history": "^1.4.1",
"prosemirror-inputrules": "^1.4.0",
"prosemirror-keymap": "^1.2.2",
"prosemirror-markdown": "^1.13.1",
"prosemirror-menu": "^1.2.4",
"prosemirror-model": "^1.23.0",
"prosemirror-schema-basic": "^1.2.3",
"prosemirror-schema-list": "^1.4.1",
"prosemirror-state": "^1.4.3",
"prosemirror-tables": "^1.6.4",
"prosemirror-trailing-node": "^3.0.0",
"prosemirror-transform": "^1.10.2",
"prosemirror-view": "^1.37.0"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
}
},
"node_modules/@tiptap/react": {
"version": "2.13.0",
"resolved": "https://registry.npmjs.org/@tiptap/react/-/react-2.13.0.tgz",
"integrity": "sha512-HxA9M2PdzOszIvv5NG2MNcp7bk+bGUB+sJsUcT7X5fDRSoSn94aBKQ677BONHCV6YHHSY3wLxOtuiNXnO3kkDQ==",
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/react/-/react-2.22.3.tgz",
"integrity": "sha512-Te6e6/carhUAavcJgxC03rffLAZz1or4cjnRDFNF8G4vPOqkNgQd368N47wTMjwh5mQTdMUUI3ToZIpc45Q7Tw==",
"license": "MIT",
"dependencies": {
"@tiptap/extension-bubble-menu": "^2.13.0",
"@tiptap/extension-floating-menu": "^2.13.0",
"@tiptap/extension-bubble-menu": "^2.22.3",
"@tiptap/extension-floating-menu": "^2.22.3",
"@types/use-sync-external-store": "^0.0.6",
"fast-deep-equal": "^3",
"use-sync-external-store": "^1"
@@ -3026,6 +3463,39 @@
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
}
},
"node_modules/@tiptap/starter-kit": {
"version": "2.22.3",
"resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.22.3.tgz",
"integrity": "sha512-GkvheaR2ORnHJ9g9R6xIT38w2uppGja/iAIrXLZ9vY1QuR+0cya/ZZ5vKU6r9C2PeyBs3aKYxRD1/j3HDhuGXw==",
"license": "MIT",
"dependencies": {
"@tiptap/core": "^2.22.3",
"@tiptap/extension-blockquote": "^2.22.3",
"@tiptap/extension-bold": "^2.22.3",
"@tiptap/extension-bullet-list": "^2.22.3",
"@tiptap/extension-code": "^2.22.3",
"@tiptap/extension-code-block": "^2.22.3",
"@tiptap/extension-document": "^2.22.3",
"@tiptap/extension-dropcursor": "^2.22.3",
"@tiptap/extension-gapcursor": "^2.22.3",
"@tiptap/extension-hard-break": "^2.22.3",
"@tiptap/extension-heading": "^2.22.3",
"@tiptap/extension-history": "^2.22.3",
"@tiptap/extension-horizontal-rule": "^2.22.3",
"@tiptap/extension-italic": "^2.22.3",
"@tiptap/extension-list-item": "^2.22.3",
"@tiptap/extension-ordered-list": "^2.22.3",
"@tiptap/extension-paragraph": "^2.22.3",
"@tiptap/extension-strike": "^2.22.3",
"@tiptap/extension-text": "^2.22.3",
"@tiptap/extension-text-style": "^2.22.3",
"@tiptap/pm": "^2.22.3"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/ueberdosis"
}
},
"node_modules/@types/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
@@ -3055,12 +3525,34 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
"node_modules/@types/linkify-it": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
"license": "MIT"
},
"node_modules/@types/lodash": {
"version": "4.14.202",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz",
"integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==",
"dev": true
},
"node_modules/@types/markdown-it": {
"version": "14.1.2",
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
"integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
"license": "MIT",
"dependencies": {
"@types/linkify-it": "^5",
"@types/mdurl": "^2"
}
},
"node_modules/@types/mdurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
"integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
"license": "MIT"
},
"node_modules/@types/minimatch": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
@@ -3514,8 +4006,7 @@
"node_modules/argparse": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
},
"node_modules/aria-query": {
"version": "5.3.0",
@@ -4259,6 +4750,12 @@
"node": ">=10"
}
},
"node_modules/crelt": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
"integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==",
"license": "MIT"
},
"node_modules/cross-spawn": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -4585,6 +5082,18 @@
"node": ">=10.13.0"
}
},
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -6828,6 +7337,15 @@
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
},
"node_modules/linkify-it": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
"license": "MIT",
"dependencies": {
"uc.micro": "^2.0.0"
}
},
"node_modules/loader-utils": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
@@ -6950,6 +7468,23 @@
"semver": "bin/semver.js"
}
},
"node_modules/markdown-it": {
"version": "14.1.0",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
"license": "MIT",
"dependencies": {
"argparse": "^2.0.1",
"entities": "^4.4.0",
"linkify-it": "^5.0.0",
"mdurl": "^2.0.0",
"punycode.js": "^2.3.1",
"uc.micro": "^2.1.0"
},
"bin": {
"markdown-it": "bin/markdown-it.mjs"
}
},
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
@@ -6958,6 +7493,12 @@
"node": ">= 0.4"
}
},
"node_modules/mdurl": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
"license": "MIT"
},
"node_modules/memoize-one": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
@@ -7045,6 +7586,28 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/mui-color-input": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/mui-color-input/-/mui-color-input-7.0.0.tgz",
"integrity": "sha512-b9pHCCoRjD9CDTaw2b5S+UbBhJjAsB1NzdEqjF/9NzRFD0lD8zrlMxMwvI/NqsHkNxj2PteIFh/mzo2gBqnG9g==",
"license": "MIT",
"dependencies": {
"@ctrl/tinycolor": "^4.1.0"
},
"peerDependencies": {
"@emotion/react": "^11.13.0",
"@emotion/styled": "^11.13.0",
"@mui/material": "^7.0.0",
"@types/react": "^18.0.0 || ^19.0.0",
"react": "^18.0.0 || ^19.0.0",
"react-dom": "^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@types/react": {
"optional": true
}
}
},
"node_modules/mz": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
@@ -7396,6 +7959,12 @@
"node": ">= 0.8.0"
}
},
"node_modules/orderedmap": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz",
"integrity": "sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==",
"license": "MIT"
},
"node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -7900,6 +8469,201 @@
"react-is": "^16.13.1"
}
},
"node_modules/prosemirror-changeset": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.3.1.tgz",
"integrity": "sha512-j0kORIBm8ayJNl3zQvD1TTPHJX3g042et6y/KQhZhnPrruO8exkTgG8X+NRpj7kIyMMEx74Xb3DyMIBtO0IKkQ==",
"license": "MIT",
"dependencies": {
"prosemirror-transform": "^1.0.0"
}
},
"node_modules/prosemirror-collab": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz",
"integrity": "sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==",
"license": "MIT",
"dependencies": {
"prosemirror-state": "^1.0.0"
}
},
"node_modules/prosemirror-commands": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz",
"integrity": "sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.0.0",
"prosemirror-state": "^1.0.0",
"prosemirror-transform": "^1.10.2"
}
},
"node_modules/prosemirror-dropcursor": {
"version": "1.8.2",
"resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.2.tgz",
"integrity": "sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==",
"license": "MIT",
"dependencies": {
"prosemirror-state": "^1.0.0",
"prosemirror-transform": "^1.1.0",
"prosemirror-view": "^1.1.0"
}
},
"node_modules/prosemirror-gapcursor": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz",
"integrity": "sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==",
"license": "MIT",
"dependencies": {
"prosemirror-keymap": "^1.0.0",
"prosemirror-model": "^1.0.0",
"prosemirror-state": "^1.0.0",
"prosemirror-view": "^1.0.0"
}
},
"node_modules/prosemirror-history": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.4.1.tgz",
"integrity": "sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==",
"license": "MIT",
"dependencies": {
"prosemirror-state": "^1.2.2",
"prosemirror-transform": "^1.0.0",
"prosemirror-view": "^1.31.0",
"rope-sequence": "^1.3.0"
}
},
"node_modules/prosemirror-inputrules": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.0.tgz",
"integrity": "sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==",
"license": "MIT",
"dependencies": {
"prosemirror-state": "^1.0.0",
"prosemirror-transform": "^1.0.0"
}
},
"node_modules/prosemirror-keymap": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz",
"integrity": "sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==",
"license": "MIT",
"dependencies": {
"prosemirror-state": "^1.0.0",
"w3c-keyname": "^2.2.0"
}
},
"node_modules/prosemirror-markdown": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.2.tgz",
"integrity": "sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==",
"license": "MIT",
"dependencies": {
"@types/markdown-it": "^14.0.0",
"markdown-it": "^14.0.0",
"prosemirror-model": "^1.25.0"
}
},
"node_modules/prosemirror-menu": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.2.5.tgz",
"integrity": "sha512-qwXzynnpBIeg1D7BAtjOusR+81xCp53j7iWu/IargiRZqRjGIlQuu1f3jFi+ehrHhWMLoyOQTSRx/IWZJqOYtQ==",
"license": "MIT",
"dependencies": {
"crelt": "^1.0.0",
"prosemirror-commands": "^1.0.0",
"prosemirror-history": "^1.0.0",
"prosemirror-state": "^1.0.0"
}
},
"node_modules/prosemirror-model": {
"version": "1.25.1",
"resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.1.tgz",
"integrity": "sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==",
"license": "MIT",
"dependencies": {
"orderedmap": "^2.0.0"
}
},
"node_modules/prosemirror-schema-basic": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.4.tgz",
"integrity": "sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.25.0"
}
},
"node_modules/prosemirror-schema-list": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz",
"integrity": "sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.0.0",
"prosemirror-state": "^1.0.0",
"prosemirror-transform": "^1.7.3"
}
},
"node_modules/prosemirror-state": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.3.tgz",
"integrity": "sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.0.0",
"prosemirror-transform": "^1.0.0",
"prosemirror-view": "^1.27.0"
}
},
"node_modules/prosemirror-tables": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.7.1.tgz",
"integrity": "sha512-eRQ97Bf+i9Eby99QbyAiyov43iOKgWa7QCGly+lrDt7efZ1v8NWolhXiB43hSDGIXT1UXgbs4KJN3a06FGpr1Q==",
"license": "MIT",
"dependencies": {
"prosemirror-keymap": "^1.2.2",
"prosemirror-model": "^1.25.0",
"prosemirror-state": "^1.4.3",
"prosemirror-transform": "^1.10.3",
"prosemirror-view": "^1.39.1"
}
},
"node_modules/prosemirror-trailing-node": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-3.0.0.tgz",
"integrity": "sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==",
"license": "MIT",
"dependencies": {
"@remirror/core-constants": "3.0.0",
"escape-string-regexp": "^4.0.0"
},
"peerDependencies": {
"prosemirror-model": "^1.22.1",
"prosemirror-state": "^1.4.2",
"prosemirror-view": "^1.33.8"
}
},
"node_modules/prosemirror-transform": {
"version": "1.10.4",
"resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.10.4.tgz",
"integrity": "sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.21.0"
}
},
"node_modules/prosemirror-view": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.40.0.tgz",
"integrity": "sha512-2G3svX0Cr1sJjkD/DYWSe3cfV5VPVTBOxI9XQEGWJDFEpsZb/gh4MV29ctv+OJx2RFX4BLt09i+6zaGM/ldkCw==",
"license": "MIT",
"dependencies": {
"prosemirror-model": "^1.20.0",
"prosemirror-state": "^1.0.0",
"prosemirror-transform": "^1.1.0"
}
},
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -7913,6 +8677,15 @@
"node": ">=6"
}
},
"node_modules/punycode.js": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/qrcode.react": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-4.2.0.tgz",
@@ -8431,6 +9204,12 @@
"node": ">=8"
}
},
"node_modules/rope-sequence": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz",
"integrity": "sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==",
"license": "MIT"
},
"node_modules/run-parallel": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
@@ -9425,6 +10204,7 @@
"version": "6.3.7",
"resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz",
"integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==",
"license": "MIT",
"dependencies": {
"@popperjs/core": "^2.9.0"
}
@@ -9605,6 +10385,12 @@
"node": ">=14.17"
}
},
"node_modules/uc.micro": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
"license": "MIT"
},
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -9768,6 +10554,12 @@
"node": ">=0.10.0"
}
},
"node_modules/w3c-keyname": {
"version": "2.2.8",
"resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
"integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==",
"license": "MIT"
},
"node_modules/warning": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",


+ 1
- 0
src/app/(main)/dashboard/page.tsx Wyświetl plik

@@ -5,6 +5,7 @@ import { getServerI18n } from "@/i18n";
import DashboardPage from "@/components/DashboardPage";
import { SearchParams } from "@/app/utils/fetchUtil";


export const metadata: Metadata = {
title: "Dashboard",
};


+ 11
- 5
src/app/(main)/do/page.tsx Wyświetl plik

@@ -1,6 +1,9 @@
import DoSearch from "@/components/DoSearch";
import { getServerI18n } from "@/i18n"
// import DoSearch from "@/components/DoSearch";
// import { getServerI18n } from "@/i18n"
import DoSearch from "../../../components/DoSearch";
import { getServerI18n } from "../../../i18n"
import { Stack, Typography } from "@mui/material";
import { I18nProvider } from "@/i18n";
import { Metadata } from "next";
import { Suspense } from "react";

@@ -20,9 +23,12 @@ const DeliveryOrder: React.FC = async () => {
rowGap={2}
>
</Stack>
<Suspense fallback={<DoSearch.Loading />}>
<DoSearch />
</Suspense>

<I18nProvider namespaces={["do", "common"]}>
<Suspense fallback={<DoSearch.Loading />}>
<DoSearch />
</Suspense>
</I18nProvider>
</>
)
}


+ 7
- 3
src/app/(main)/inventory/page.tsx Wyświetl plik

@@ -1,6 +1,10 @@
import { preloadInventory } from "@/app/api/inventory";
import InventorySearch from "@/components/InventorySearch";
import { I18nProvider, getServerI18n } from "@/i18n";
// import { preloadInventory } from "@/app/api/inventory";
// import InventorySearch from "@/components/InventorySearch";
// import { I18nProvider, getServerI18n } from "@/i18n";

import { preloadInventory } from "../../../app/api/inventory";
import InventorySearch from "../../../components/InventorySearch";
import { I18nProvider, getServerI18n } from "../../../i18n";
import { Stack, Typography } from "@mui/material";
import { Metadata } from "next";
import { Suspense } from "react";


+ 2
- 0
src/app/(main)/layout.tsx Wyświetl plik

@@ -1,3 +1,4 @@

import AppBar from "@/components/AppBar";
import { AuthOptions, getServerSession } from "next-auth";
import { authOptions, SessionWithTokens } from "@/config/authConfig";
@@ -14,6 +15,7 @@ import SessionProviderWrapper from "@/components/SessionProviderWrapper/SessionP
import QrCodeScannerProvider from "@/components/QrCodeScannerProvider/QrCodeScannerProvider";
import { I18nProvider } from "@/i18n";


export default async function MainLayout({
children,
}: {


+ 0
- 1
src/app/(main)/material/page.tsx Wyświetl plik

@@ -1,4 +1,3 @@

import { SearchParams } from "@/app/utils/fetchUtil";
import { getServerI18n } from "@/i18n";
import Add from "@mui/icons-material/Add";


+ 6
- 3
src/app/(main)/pickOrder/page.tsx Wyświetl plik

@@ -1,6 +1,7 @@
import { PreloadPickOrder } from "@/app/api/pickOrder";
import PickOrderSearch from "@/components/PickOrderSearch";
import { getServerI18n } from "@/i18n";
import { I18nProvider } from "@/i18n";
import { Stack, Typography } from "@mui/material";
import { Metadata } from "next";
import { Suspense } from "react";
@@ -26,9 +27,11 @@ const PickOrder: React.FC = async () => {
{t("Pick Order")}
</Typography>
</Stack>
<Suspense fallback={<PickOrderSearch.Loading />}>
<PickOrderSearch />
</Suspense>
<I18nProvider namespaces={["pickOrder", "common"]}>
<Suspense fallback={<PickOrderSearch.Loading />}>
<PickOrderSearch />
</Suspense>
</I18nProvider>
</>
)
}


+ 3
- 0
src/app/(main)/po/edit/page.tsx Wyświetl plik

@@ -3,6 +3,9 @@ import { TypeEnum } from "@/app/utils/typeEnum";
import CreateProductMaterial from "@/components/CreateItem";
import PoDetail from "@/components/PoDetail";
import { I18nProvider, getServerI18n } from "@/i18n";



import { Typography } from "@mui/material";
import isString from "lodash/isString";
import { notFound } from "next/navigation";


+ 9
- 4
src/app/(main)/po/page.tsx Wyświetl plik

@@ -1,7 +1,12 @@
import { preloadClaims } from "@/app/api/claims";
import ClaimSearch from "@/components/ClaimSearch";
import PoSearch from "@/components/PoSearch";
import { getServerI18n, I18nProvider } from "@/i18n";
//import { preloadClaims } from "@/app/api/claims";
// import ClaimSearch from "@/components/ClaimSearch";
// import PoSearch from "@/components/PoSearch";
// import { getServerI18n, I18nProvider } from "@/i18n";

import { preloadClaims } from "../../../app/api/claims";
import ClaimSearch from "../../../components/ClaimSearch";
import PoSearch from "../../../components/PoSearch";
import { getServerI18n, I18nProvider } from "../../../i18n";
import Add from "@mui/icons-material/Add";
import Button from "@mui/material/Button";
import Stack from "@mui/material/Stack";


+ 10
- 4
src/app/(main)/production/page.tsx Wyświetl plik

@@ -1,7 +1,13 @@
import { preloadClaims } from "@/app/api/claims";
import ClaimSearch from "@/components/ClaimSearch";
import ProductionProcess from "@/components/ProductionProcess";
import { getServerI18n } from "@/i18n";
// import { preloadClaims } from "@/app/api/claims";
// import ClaimSearch from "@/components/ClaimSearch";
// import ProductionProcess from "@/components/ProductionProcess";
//import { getServerI18n } from "@/i18n";

import { preloadClaims } from "../../../app/api/claims";
import ClaimSearch from "../../../components/ClaimSearch";
import ProductionProcess from "../../../components/ProductionProcess";
import { getServerI18n } from "../../../i18n";

import Add from "@mui/icons-material/Add";
import Button from "@mui/material/Button";
import Stack from "@mui/material/Stack";


+ 5
- 2
src/app/(main)/projects/create/page.tsx Wyświetl plik

@@ -1,5 +1,8 @@
import CreateProject from "@/components/CreateProject";
import { I18nProvider, getServerI18n } from "@/i18n";
// import CreateProject from "@/components/CreateProject";
// import { I18nProvider, getServerI18n } from "@/i18n";
import CreateProject from "../../../../components/CreateProject";
import { I18nProvider, getServerI18n } from "../../../../i18n";

import Typography from "@mui/material/Typography";
import { Metadata } from "next";



+ 8
- 3
src/app/(main)/projects/page.tsx Wyświetl plik

@@ -1,6 +1,11 @@
import { preloadProjects } from "@/app/api/projects";
import ProjectSearch from "@/components/ProjectSearch";
import { getServerI18n } from "@/i18n";
// import { preloadProjects } from "@/app/api/projects";
// import ProjectSearch from "@/components/ProjectSearch";
// import { getServerI18n } from "@/i18n";

import { preloadProjects } from "../../../app/api/projects";
import ProjectSearch from "../../../components/ProjectSearch";
import { getServerI18n } from "../../../i18n";

import Add from "@mui/icons-material/Add";
import Button from "@mui/material/Button";
import Stack from "@mui/material/Stack";


+ 11
- 6
src/app/(main)/scheduling/detail/edit/page.tsx Wyświetl plik

@@ -1,12 +1,17 @@
import { Metadata } from "next";
import { getServerI18n, I18nProvider } from "@/i18n";
// import { getServerI18n, I18nProvider } from "@/i18n";
import { getServerI18n, I18nProvider } from "../../../../../i18n";
import Typography from "@mui/material/Typography";
import { fetchQcItemDetails, preloadQcItem } from "@/app/api/settings/qcItem";
import QcItemSave from "@/components/QcItemSave";
// import { fetchQcItemDetails, preloadQcItem } from "@/app/api/settings/qcItem";
// import QcItemSave from "@/components/QcItemSave";
import { fetchQcItemDetails, preloadQcItem } from "../../../../../app/api/settings/qcItem";
import QcItemSave from "../../../../../components/QcItemSave";
import { isArray } from "lodash";
import { notFound } from "next/navigation";
import { ServerFetchError } from "@/app/utils/fetchUtil";
import DetailScheduleDetail from "@/components/DetailScheduleDetail";
// import { ServerFetchError } from "@/app/utils/fetchUtil";
// import DetailScheduleDetail from "@/components/DetailScheduleDetail";
import { ServerFetchError } from "../../../../../app/utils/fetchUtil";
import DetailScheduleDetail from "../../../../../components/DetailScheduleDetail";

export const metadata: Metadata = {
title: "Qc Item",
@@ -38,7 +43,7 @@ const DetailScheduling: React.FC<Props> = async ({ searchParams }) => {
<Typography variant="h4" marginInlineEnd={2}>
{t("FG Production Schedule")}
</Typography>
<I18nProvider namespaces={["schedule"]}>
<I18nProvider namespaces={["schedule", "common", "project"]}>
<DetailScheduleDetail id={id}/>
</I18nProvider>
</>;


+ 14
- 7
src/app/(main)/scheduling/detail/page.tsx Wyświetl plik

@@ -1,6 +1,11 @@
import { TypeEnum } from "@/app/utils/typeEnum";
import DetailSchedule from "@/components/DetailSchedule";
import { getServerI18n } from "@/i18n";
// import { TypeEnum } from "@/app/utils/typeEnum";
// import DetailSchedule from "@/components/DetailSchedule";
// import { getServerI18n } from "@/i18n";

import { TypeEnum } from "../../../../app/utils/typeEnum";
import DetailSchedule from "../../../../components/DetailSchedule";
import { getServerI18n } from "../../../../i18n";
import { I18nProvider } from "@/i18n";
import Stack from "@mui/material/Stack";
import Typography from "@mui/material/Typography";
import { Metadata } from "next";
@@ -12,7 +17,7 @@ export const metadata: Metadata = {

const DetailScheduling: React.FC = async () => {
const project = TypeEnum.PRODUCT
const { t } = await getServerI18n(project);
const { t } = await getServerI18n("detailScheduling");
// preloadClaims();

return (
@@ -27,9 +32,11 @@ const DetailScheduling: React.FC = async () => {
{t("Detail Scheduling")}
</Typography>
</Stack>
<Suspense fallback={<DetailSchedule.Loading />}>
<DetailSchedule />
</Suspense>
<I18nProvider namespaces={["detailScheduling", "items", "common","schedule"]}>
<Suspense fallback={<DetailSchedule.Loading />}>
<DetailSchedule />
</Suspense>
</I18nProvider>
</>
);
};


+ 1
- 1
src/app/(main)/scheduling/rough/edit/page.tsx Wyświetl plik

@@ -39,7 +39,7 @@ const roughSchedulingDetail: React.FC = async () => {
{t("Create product")}
</Button> */}
</Stack>
<I18nProvider namespaces={["schedule"]}>
<I18nProvider namespaces={["schedule","project","common"]}>
<Suspense fallback={<RoughScheduleDetailView.Loading />}>
<RoughScheduleDetailView />
</Suspense>


+ 8
- 4
src/app/(main)/scheduling/rough/page.tsx Wyświetl plik

@@ -1,6 +1,9 @@
import { TypeEnum } from "@/app/utils/typeEnum";
import RoughSchedule from "@/components/RoughSchedule";
import { getServerI18n, I18nProvider } from "@/i18n";
// import { TypeEnum } from "@/app/utils/typeEnum";
// import RoughSchedule from "@/components/RoughSchedule";
// import { getServerI18n, I18nProvider } from "@/i18n";
import { TypeEnum } from "../../../../app/utils/typeEnum";
import RoughSchedule from "../../../../components/RoughSchedule";
import { getServerI18n, I18nProvider } from "../../../../i18n";
import Add from "@mui/icons-material/Add";
import Button from "@mui/material/Button";
import Stack from "@mui/material/Stack";
@@ -29,6 +32,7 @@ const roughScheduling: React.FC = async () => {
<Typography variant="h4" marginInlineEnd={2}>
{t("Demand Forecast")}
</Typography>
{/* <Button
variant="contained"
startIcon={<Add />}
@@ -38,7 +42,7 @@ const roughScheduling: React.FC = async () => {
{t("Create product")}
</Button> */}
</Stack>
<I18nProvider namespaces={["schedule"]}>
<I18nProvider namespaces={["schedule", "common","items","project"]}>
<Suspense fallback={<RoughSchedule.Loading />}>
<RoughSchedule />
</Suspense>


+ 9
- 4
src/app/(main)/settings/user/edit/page.tsx Wyświetl plik

@@ -1,11 +1,16 @@
import { Edit } from "@mui/icons-material";
import { Metadata } from "next";
import { I18nProvider, getServerI18n } from "@/i18n";
import EditUser from "@/components/EditUser";
// import { I18nProvider, getServerI18n } from "@/i18n";
// import EditUser from "@/components/EditUser";

import { I18nProvider, getServerI18n } from "../../../../../i18n";
import EditUser from "../../../../../components/EditUser";
import { Typography } from "@mui/material";
import { Suspense } from "react";
import { preloadUser } from "@/app/api/user";
import { searchParamsProps } from "@/app/utils/fetchUtil";
// import { preloadUser } from "@/app/api/user";
// import { searchParamsProps } from "@/app/utils/fetchUtil";
import { preloadUser } from "../../../../../app/api/user";
import { searchParamsProps } from "../../../../../app/utils/fetchUtil";

const User: React.FC<searchParamsProps> = async ({ searchParams }) => {
const { t } = await getServerI18n("user");


+ 4
- 2
src/app/api/do/index.tsx Wyświetl plik

@@ -1,5 +1,7 @@
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";
import { cache } from "react";

export interface DoResult {


+ 5
- 2
src/app/api/mail/actions.ts Wyświetl plik

@@ -1,7 +1,10 @@
"use server";

import { serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson, serverFetchWithNoContent } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";

import { MailSetting, MailTemplate } from ".";

export interface MailSave {


+ 5
- 2
src/app/api/mail/index.ts Wyświetl plik

@@ -1,5 +1,8 @@
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";

import { cache } from "react";
import "server-only";



+ 4
- 2
src/app/api/pdf/actions.ts Wyświetl plik

@@ -1,7 +1,9 @@
"use server";

import { serverFetchBlob } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchBlob } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchBlob } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";


export interface FileResponse {


+ 4
- 2
src/app/api/pickOrder/index.ts Wyświetl plik

@@ -1,6 +1,8 @@
import "server-only";
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";
import { cache } from "react";

interface PickOrderItemInfo {


+ 4
- 2
src/app/api/po/actions.ts Wyświetl plik

@@ -1,10 +1,12 @@
"use server";
import { BASE_API_URL } from "@/config/api";
// import { BASE_API_URL } from "@/config/api";
import { BASE_API_URL } from "../../../config/api";
// import { ServerFetchError, serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
import { revalidateTag } from "next/cache";
import { cache } from "react";
import { PoResult, StockInLine } from ".";
import { serverFetchJson } from "@/app/utils/fetchUtil";
//import { serverFetchJson } from "@/app/utils/fetchUtil";
import { serverFetchJson } from "../../utils/fetchUtil";
import { QcItemResult } from "../settings/qcItem";
import { RecordsRes } from "../utils";
// import { BASE_API_URL } from "@/config/api";


+ 4
- 2
src/app/api/po/index.ts Wyświetl plik

@@ -1,7 +1,9 @@
import { cache } from "react";
import "server-only";
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";
import { Uom } from "../settings/uom";
import { RecordsRes } from "../utils";



+ 4
- 2
src/app/api/projects/actions.ts Wyświetl plik

@@ -1,7 +1,9 @@
"use server";

import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";
import { Task, TaskGroup } from "../tasks";

export interface CreateProjectInputs {


+ 4
- 2
src/app/api/qc/actions.ts Wyświetl plik

@@ -1,8 +1,10 @@
"use server";
import { BASE_API_URL } from "@/config/api";
//import { BASE_API_URL } from "@/config/api";
import { BASE_API_URL } from "../../../config/api";
import { revalidateTag } from "next/cache";
import { cache } from "react";
import { serverFetchJson } from "@/app/utils/fetchUtil";
//import { serverFetchJson } from "@/app/utils/fetchUtil";
import { serverFetchJson } from "../../utils/fetchUtil";
import { QcItemWithChecks } from ".";

export interface QcResult {


+ 4
- 2
src/app/api/qc/index.ts Wyświetl plik

@@ -1,7 +1,9 @@
import { cache } from "react";
import "server-only";
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";

export interface QcItemWithChecks {
id: number;


+ 4
- 2
src/app/api/qrcode/index.ts Wyświetl plik

@@ -1,7 +1,9 @@
import { cache } from "react";
import "server-only";
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";

export interface QrCodeInfo {
stockInLineId?: number;


+ 5
- 2
src/app/api/settings/item/index.ts Wyświetl plik

@@ -1,7 +1,10 @@
import { cache } from "react";
import "server-only";
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../../utils/fetchUtil";
import { BASE_API_URL } from "../../../../config/api";

// import { TypeInputs, UomInputs, WeightUnitInputs } from "./actions";

export type ItemQc = {


+ 4
- 2
src/app/api/settings/m18ImportTesting/actions.ts Wyświetl plik

@@ -1,7 +1,9 @@
"use server";

import { serverFetchWithNoContent } from '@/app/utils/fetchUtil';
import { BASE_API_URL } from "@/config/api";
// import { serverFetchWithNoContent } from '@/app/utils/fetchUtil';
// import { BASE_API_URL } from "@/config/api";
import { serverFetchWithNoContent } from "../../../utils/fetchUtil";
import { BASE_API_URL } from "../../../../config/api";

export interface M18ImportPoForm {
modifiedDateFrom: string,


+ 4
- 2
src/app/api/settings/qcCheck/actions.ts Wyświetl plik

@@ -1,7 +1,9 @@
"use server";
import { ServerFetchError, serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
// import { ServerFetchError, serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
import { serverFetchJson } from "../../../utils/fetchUtil";
import { revalidateTag } from "next/cache";
import { BASE_API_URL } from "@/config/api";
//import { BASE_API_URL } from "@/config/api";
import { BASE_API_URL } from "../../../../config/api";
import { CreateItemResponse } from "../../utils";
import { ItemQc } from "../item";



+ 7
- 3
src/app/api/settings/qcItem/actions.ts Wyświetl plik

@@ -1,9 +1,13 @@
"use server"

import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../../utils/fetchUtil";
import { BASE_API_URL } from "../../../../config/api";

import { revalidatePath, revalidateTag } from "next/cache";
import { QcItemResult } from '@/app/api/settings/qcItem';
//import { QcItemResult } from '@/app/api/settings/qcItem';
import { QcItemResult } from '../../../api/settings/qcItem';

export interface SaveQcItemInputs {
id?: number;


+ 5
- 2
src/app/api/settings/qcItem/index.ts Wyświetl plik

@@ -1,5 +1,8 @@
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../../utils/fetchUtil";
import { BASE_API_URL } from "../../../../config/api";

import { cache } from "react";
import "server-only";
import { SaveQcItemInputs } from "./actions";


+ 4
- 2
src/app/api/settings/uom/index.ts Wyświetl plik

@@ -1,7 +1,9 @@
import { cache } from "react";
import "server-only";
import { serverFetchJson } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson } from "../../../utils/fetchUtil";
import { BASE_API_URL } from "../../../../config/api";

export interface Uom {
id: number


+ 4
- 2
src/app/api/user/actions.ts Wyświetl plik

@@ -1,7 +1,9 @@
"use server";

import { serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
import { BASE_API_URL } from "@/config/api";
// import { serverFetchJson, serverFetchWithNoContent } from "@/app/utils/fetchUtil";
// import { BASE_API_URL } from "@/config/api";
import { serverFetchJson, serverFetchWithNoContent } from "../../utils/fetchUtil";
import { BASE_API_URL } from "../../../config/api";
import { revalidateTag } from "next/cache";
import { UserDetail, UserResult } from ".";
import { cache } from "react";


+ 4
- 2
src/app/layout.tsx Wyświetl plik

@@ -1,6 +1,8 @@
import type { Metadata } from "next";
import { detectLanguage } from "@/i18n";
import ThemeRegistry from "@/theme/ThemeRegistry";
// import { detectLanguage } from "@/i18n";
// import ThemeRegistry from "@/theme/ThemeRegistry";
import { detectLanguage } from "../i18n";
import ThemeRegistry from "../theme/ThemeRegistry";

export const metadata: Metadata = {
title: "FPSMS",


+ 1
- 1
src/components/CreateClaim/ClaimInputGrid.tsx Wyświetl plik

@@ -260,7 +260,7 @@ const ClaimInputGrid: React.FC<ClaimInputGridProps> = ({ ...props }) => {
{
field: "actions",
type: "actions",
headerName: "Actions",
headerName: t("Actions"),
width: 100,
cellClassName: "actions",
getActions: ({ id }) => {


+ 1
- 1
src/components/CreateItem/CreateItem.tsx Wyświetl plik

@@ -43,7 +43,7 @@ const CreateItem: React.FC<Props> = ({
console.log(params.get("id"))
const [serverError, setServerError] = useState("");
const [tabIndex, setTabIndex] = useState(0);
const { t } = useTranslation();
const { t } = useTranslation("items");
const router = useRouter();
const title = "Product / Material"
const [mode, redirPath] = useMemo(() => {


+ 8
- 8
src/components/CreateItem/QcDetails.tsx Wyświetl plik

@@ -33,7 +33,7 @@ const QcDetails: React.FC<Props> = ({ apiRef }) => {
const {
t,
i18n: { language },
} = useTranslation();
} = useTranslation("items");

const {
register,
@@ -51,32 +51,32 @@ const QcDetails: React.FC<Props> = ({ apiRef }) => {
const qcColumns = useMemo<GridColDef[]>(
() => [
{
field: "name",
headerName: "name",
field:"name",
headerName: t("name"),
flex: 1,
// editable: true,
},
{
field: "code",
headerName: "code",
headerName: t("code"),
flex: 1,
// editable: true,
},
{
field: "description",
headerName: "Description",
headerName: t("description"),
flex: 1,
// editable: true,
},
{
field: "instruction",
headerName: "Instruction",
headerName: t("instruction"),
flex: 1,
editable: true,
},
{
field: "lowerLimit",
headerName: "lowerLimit",
headerName: t("lowerLimit"),
flex: 1,
editable: true,
type: "number",
@@ -99,7 +99,7 @@ const QcDetails: React.FC<Props> = ({ apiRef }) => {
},
{
field: "upperLimit",
headerName: "upperLimit",
headerName: t("upperLimit"),
flex: 1,
editable: true,
type: "number",


+ 3
- 2
src/components/DetailSchedule/DetailScheduleSearchView.tsx Wyświetl plik

@@ -32,7 +32,8 @@ type SearchParamNames = keyof SearchQuery;

const DSOverview: React.FC<Props> = ({ records }) => {
const [filteredItems, setFilteredItems] = useState<RecordStructure[]>(records ?? []);
const { t } = useTranslation("items");
const { t } = useTranslation("detailScheduling");
const router = useRouter();
const [filterObj, setFilterObj] = useState({});
const [tempSelectedValue, setTempSelectedValue] = useState({});
@@ -91,7 +92,7 @@ const DSOverview: React.FC<Props> = ({ records }) => {
},
{
name: "scheduledPeriod",
label: "Demand Forecast Period",
label: t("Demand Forecast Period"),
},
{
name: "scheduledAt",


+ 7
- 7
src/components/DetailScheduleDetail/ViewByBomDetails.tsx Wyświetl plik

@@ -319,7 +319,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
@@ -330,7 +330,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
// editable: true,
},
@@ -468,23 +468,23 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
{
field: "name",
label: "name",
label: t("name"),
type: 'read-only',
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
},
{
field: "inStockQty",
label: "Available Qty",
label: t("Available Qty"),
type: 'read-only',
// editable: true,
style: {
@@ -499,7 +499,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "purchaseQty",
label: "Demand Qty",
label: t("Demand Qty"),
type: 'read-only',
style: {
textAlign: "right",


+ 15
- 15
src/components/DetailScheduleDetail/ViewByFGDetails.tsx Wyświetl plik

@@ -45,7 +45,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
const {
t,
i18n: { language },
} = useTranslation();
} = useTranslation("schedule");

const {
formState: { errors, defaultValues, touchedFields },
@@ -475,24 +475,24 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
() => [
{
field: "jobNo",
label: "Job No.",
label: t("Job No."),
type: 'read-only',
// editable: true,
},
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
{
field: "name",
label: "name",
label: t("name"),
type: 'read-only',
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
// editable: true,
},
@@ -513,7 +513,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
// },
{
field: "productionQty",
label: "Demand Qty",
label: t("Demand Qty"),
type: 'input',
style: {
textAlign: "right",
@@ -527,7 +527,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "estimatedProductionTime",
label: "Estimated Production Time",
label: t("Estimated Production Time"),
type: "read-only",
style: {
textAlign: "right",
@@ -535,7 +535,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "priority",
label: "Production Priority",
label: t("Production Priority"),
type: 'read-only',
style: {
textAlign: "right",
@@ -550,24 +550,24 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
{
field: "name",
label: "name",
label: t("name"),
type: 'read-only',
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
// editable: true,
},
{
field: "lastMonthAvgStock",
label: "Last Month Average Stock",
label: t("Last Month Average Stock"),
type: 'read-only',
style: {
textAlign: "right",
@@ -582,7 +582,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "safetyStock",
label: "Safety Stock",
label: t("Safety Stock"),
type: 'read-only',
style: {
textAlign: "right",
@@ -597,7 +597,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "inStockQty",
label: "Available Qty",
label: t("Available Qty"),
type: 'read-only',
style: {
textAlign: "right",
@@ -612,7 +612,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "productionQty",
label: "Demand Qty (7 Days)",
label: t("Demand Qty (7 Days)"),
type: 'read-only',
style: {
textAlign: "right",


+ 1
- 1
src/components/DoSearch/DoSearch.tsx Wyświetl plik

@@ -150,7 +150,7 @@ const DoSearch: React.FC<Props> = ({ dos }) => {
// },
{
field: "code",
headerName: "code",
headerName: t("code"),
flex: 1,
},
{


+ 1
- 1
src/components/EditUser/UserDetail.tsx Wyświetl plik

@@ -16,7 +16,7 @@ import { useTranslation } from "react-i18next";

const UserDetail: React.FC = () => {

const { t } = useTranslation();
const { t } = useTranslation("user");
const {
register,
formState: { errors },


+ 1
- 1
src/components/M18ImportTesting/M18ImportPo.tsx Wyświetl plik

@@ -16,7 +16,7 @@ interface Props {
const M18ImportPo: React.FC<Props> = ({
}) => {

const { t } = useTranslation()
const { t } = useTranslation("settings")
const [isLoading, setIsLoading] = useState(false)
const {
control,


+ 1
- 1
src/components/NavigationContent/NavigationContent.tsx Wyświetl plik

@@ -36,7 +36,7 @@ const NavigationContent: React.FC = () => {
const navigationItems: NavigationItem[] = [
{
icon: <Dashboard />,
label: "Dashboard",
label: ("Dashboard"),
path: "/dashboard",
},
{


+ 2
- 2
src/components/PickOrderSearch/PickOrderSearch.tsx Wyświetl plik

@@ -10,7 +10,7 @@ import { arrayToDateString, arrayToDayjs, dateStringToDayjs } from "@/app/utils/
import dayjs from "dayjs";
import { Button, Grid, Stack, Tab, Tabs, TabsProps } from "@mui/material";
import PickOrders from "./PickOrders";
import { getServerI18n } from "@/i18n";
interface Props {
pickOrders: PickOrderResult[];
}
@@ -25,7 +25,7 @@ type SearchParamNames = keyof SearchQuery;
const PickOrderSearch: React.FC<Props> = ({
pickOrders,
}) => {
const { t } = useTranslation("pickOrders");
const { t } = useTranslation("pickOrder");

const [filteredPickOrders, setFilteredPickOrders] = useState(pickOrders)



+ 1
- 1
src/components/RoughSchedule/RoughSchedileSearchView.tsx Wyświetl plik

@@ -89,7 +89,7 @@ const RSOverview: React.FC<Props> = ({ records }) => {
},
{
name: "scheduledPeriod",
label: "Demand Forecast Period",
label: t("Demand Forecast Period"),
},
{
name: "scheduledAt",


+ 2
- 2
src/components/RoughScheduleDetail/RoughScheudleDetailView.tsx Wyświetl plik

@@ -173,8 +173,8 @@ const RoughScheduleDetailView: React.FC<Props> = ({


<Tabs value={tabIndex} onChange={handleTabChange} variant="scrollable">
<Tab label={t("View By FG") + (tabIndex === 0 ? " (Selected)" : "")} iconPosition="end"/>
<Tab label={t("View By Material") + (tabIndex === 1 ? " (Selected)" : "")} iconPosition="end" />
<Tab label={t("View By FG") + (tabIndex === 0 ? t(" (Selected)") : "")} iconPosition="end"/>
<Tab label={t("View By Material") + (tabIndex === 1 ? t(" (Selected)") : "")} iconPosition="end" />
</Tabs>
{serverError && (
<Typography variant="body2" color="error" alignSelf="flex-end">


+ 11
- 14
src/components/RoughScheduleDetail/ViewByBomDetails.tsx Wyświetl plik

@@ -57,11 +57,8 @@ export type FGOverallRecord = {
}

const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
const {
t,
i18n: { language },
} = useTranslation("schedule");

const {t,i18n: { language },} = useTranslation("schedule");
console.log("lang:", i18n.language, "t(code):", t("code"));
const {
formState: { errors, defaultValues, touchedFields },
} = useFormContext<CreateItemInputs>();
@@ -319,7 +316,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
@@ -330,7 +327,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
// editable: true,
},
@@ -461,30 +458,30 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
}
},
],
[]
[t]
);

const columns = useMemo<Column<any>[]>(
() => [
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
{
field: "name",
label: "name",
label: t("name"),
type: 'read-only',
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
},
{
field: "inStockQty",
label: "Available Qty",
label: t("Available Qty"),
type: 'read-only',
// editable: true,
style: {
@@ -499,7 +496,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "purchaseQty",
label: "Demand Qty",
label: t("Demand Qty"),
type: 'read-only',
style: {
textAlign: "right",
@@ -512,7 +509,7 @@ const ViewByBomDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
}
},
],
[]
[t]
);

return (


+ 13
- 13
src/components/RoughScheduleDetail/ViewByFGDetails.tsx Wyświetl plik

@@ -45,7 +45,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
const {
t,
i18n: { language },
} = useTranslation();
} = useTranslation("schedule");

const {
formState: { errors, defaultValues, touchedFields },
@@ -447,24 +447,24 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
{
field: "name",
label: "name",
label: t("name"),
type: 'read-only',
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
// editable: true,
},
{
field: "inStockQty",
label: "Available Qty",
label: t("Available Qty"),
type: 'read-only',
style: {
textAlign: "right",
@@ -479,7 +479,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "productionQty",
label: "Demand Qty",
label: t("Demand Qty"),
type: 'input',
style: {
textAlign: "right",
@@ -499,24 +499,24 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
label: "code",
label: t("code"),
type: 'read-only',
// editable: true,
},
{
field: "name",
label: "name",
label: t("name"),
type: 'read-only',
},
{
field: "type",
label: "type",
label: t("type"),
type: 'read-only',
// editable: true,
},
{
field: "lastMonthAvgStock",
label: "Last Month Average Stock",
label: t("Last Month Average Stock"),
type: 'read-only',
style: {
textAlign: "right",
@@ -531,7 +531,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "safetyStock",
label: "Safety Stock",
label: t("Safety Stock"),
type: 'read-only',
style: {
textAlign: "right",
@@ -546,7 +546,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "inStockQty",
label: "Available Qty",
label: t("Available Qty"),
type: 'read-only',
style: {
textAlign: "right",
@@ -561,7 +561,7 @@ const ViewByFGDetails: React.FC<Props> = ({ apiRef, isEdit }) => {
},
{
field: "productionQty",
label: "Demand Qty (7 Days)",
label: t("Demand Qty (7 Days)"),
type: 'read-only',
style: {
textAlign: "right",


+ 8
- 8
src/components/RoughScheduleSetting/RoughScheduleSetting.tsx Wyświetl plik

@@ -23,7 +23,7 @@ type SearchParamNames = keyof SearchQuery;

const RSSOverview: React.FC<Props> = ({ items }) => {
const [filteredItems, setFilteredItems] = useState<ItemsResult[]>(items ?? []);
const { t } = useTranslation("items");
const { t } = useTranslation();
const router = useRouter();
const [filterObj, setFilterObj] = useState({});
const [tempSelectedValue, setTempSelectedValue] = useState({});
@@ -51,13 +51,13 @@ const RSSOverview: React.FC<Props> = ({ items }) => {
};

const dayOptions = [
{label: "Mon", value: 1},
{label: "Tue", value: 2},
{label: "Wed", value: 3},
{label: "Thu", value: 4},
{label: "Fri", value: 5},
{label: "Sat", value: 6},
{label: "Sun", value: 7},
{label: t("Mon"), value: 1},
{label: t("Tue"), value: 2},
{label: t("Wed"), value: 3},
{label: t("Thu"), value: 4},
{label: t("Fri"), value: 5},
{label: t("Sat"), value: 6},
{label: t("Sun"), value: 7},
];

const searchCriteria: Criterion<SearchParamNames>[] = useMemo(


+ 4
- 3
src/components/SearchResults/EditableSearchResults.tsx Wyświetl plik

@@ -22,7 +22,7 @@ import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
import KeyboardArrowUpIcon from "@mui/icons-material/KeyboardArrowUp";
import { decimalFormatter, integerFormatter } from "@/app/utils/formatUtil";
import PlayCircleOutlineIcon from '@mui/icons-material/PlayCircleOutline';
import { useTranslation } from "react-i18next";
export interface ResultWithId {
id: string | number;
}
@@ -71,6 +71,7 @@ function EditableSearchResults<T extends ResultWithId>({
const [rowsPerPage, setRowsPerPage] = useState(10);
const [editingRowId, setEditingRowId] = useState<number | null>(null);
const [editedItems, setEditedItems] = useState<T[]>(items);
const { t } = useTranslation("project");
console.log(items)
useEffect(() => {
setEditedItems(items)
@@ -272,8 +273,8 @@ function EditableSearchResults<T extends ResultWithId>({
<Table stickyHeader>
<TableHead>
<TableRow>
<TableCell>Release</TableCell>
{(isEditable || hasCollapse) && <TableCell>Actions</TableCell>} {/* Action Column Header */}
<TableCell>{t("Release")}</TableCell>
{(isEditable || hasCollapse) && <TableCell>{t("Actions")}</TableCell>} {/* Action Column Header */}
{columns.map((column, idx) => (
<TableCell style={column.style} key={`${column.field.toString()}${idx}`}>
{column.label}


src/i18n/en/projects.json → src/i18n/en/items.json Wyświetl plik


+ 6
- 0
src/i18n/en/project.json Wyświetl plik

@@ -0,0 +1,6 @@
{

"FG & Material Demand Forecast Detail": "FG & Material Demand Forecast Detail",
"Release": "Release",
"Actions": "Actions"
}

+ 44
- 2
src/i18n/zh/common.json Wyświetl plik

@@ -5,9 +5,51 @@
"Reset": "重置",
"Search": "搜尋",
"Code": "編號",
"code": "編號",
"Name": "名稱",
"Type": "類型",
"Add some entries!": "添加條目",
"Add Record": "新增",
"Clean Record": "重置"
}
"Clean Record": "重置",
"Dashboard": "儀表板",
"Raw Material": "原材料",
"Delivery": "交貨單",
"Scheduling": "排程",
"Settings": "設定",
"User": "用戶",
"User Group": "用戶群組",
"Items": "物料",
"Demand Forecast Setting": "需求預測設定",
"Equipment Type": "設備類型",
"Equipment": "設備",
"Warehouse": "倉庫",
"Supplier": "供應商",
"Purchase Order":"採購單",
"Demand Forecast":"需求預測",
"Purchase Order":"採購單",
"Pick Order":"挑選貨單",
"Deliver Order":"交貨單",
"Project":"專案",
"Product":"產品",
"Material":"材料",
"FG":"成品",
"FG & Material Demand Forecast Detail":"成品及材料需求預測詳情",
"View item In-out And inventory Ledger":"查看物料出入庫及庫存日誌",
"Delivery Order":"交貨單",
"Detail Scheduling":"詳細排程",
"Customer":"客戶",
"QC Check Item":"QC檢查項目",
"QC Category":"QC分類",
"QC Check Template":"QC檢查模板",
"Mail":"郵件",
"Import Testing":"匯入測試",
"Overview": "總覽",
"Projects": "專案",
"Create Project": "新增專案",
"Task Template": "任務範本",
"Create Task Template": "新增任務範本",
"Qc Item": "QC 項目",
"FG Production Schedule": "FG 生產排程",
"Inventory": "庫存",
"scheduling":"排程"
}

+ 20
- 0
src/i18n/zh/detailScheduling.json Wyświetl plik

@@ -0,0 +1,20 @@
{
"Detail Scheduling": "詳細排程",
"Search Criteria": "搜尋條件",
"Search": "搜尋",
"Reset": "重置",
"Search by Project Code or Project Name or Client Name or Project Category or Project Type or Project Status or Project Start Date or Project End Date": "搜尋專案編號、專案名稱、客戶名稱、專案類別、專案類型、專案狀態、專案開始日期、專案結束日期",
"Project Code": "專案編號",
"Project Name": "專案名稱",
"Client Name": "客戶名稱",
"Project Category": "專案類別",
"Project Type": "專案類型",
"Project Status": "專案狀態",
"Demand Forecast Period": "需求預測期",
"Scheduled At": "預定時間",
"Product Count(s)": "產品數量",
"Product Count": "產品數量",
"Schedule Period": "排程期間",
"Product": "產品",
"Details": "詳情"
}

+ 15
- 0
src/i18n/zh/do.json Wyświetl plik

@@ -0,0 +1,15 @@
{
"Delivery Order": "交貨單",
"Shop Name": "店鋪名稱",
"Delivery Order No.": "交貨單編號",
"Delivery Order Date": "交貨單日期",
"Delivery Order Status": "交貨單狀態",
"Order Date": "訂單日期",
"Estimated Arrival": "預計到貨日期",
"Status": "狀態",
"Order Date From": "訂單日期從",
"Order Date To": "訂單日期到",
"Code": "編號",
"code": "編號",
"Create": "新增"
}

+ 35
- 0
src/i18n/zh/items.json Wyświetl plik

@@ -0,0 +1,35 @@
{"Demand Forecast Period": "需求預測期",
"Scheduled At": "預定時間",
"Product Count(s)": "產品數量",
"Product Count": "產品數量",
"Schedule Period": "排程期間",
"Product": "產品",
"Details": "詳情",
"Product Details": "產品詳情",
"Edit Product / Material": "編輯產品 / 材料",
"Product / Material": "產品 / 材料",
"Product / Material Details": "產品 / 材料詳情",
"Qc items": "QC 項目",
"Name": "名稱",
"name": "名稱",
"description": "描述",
"Type": "類型",
"shelfLife": "保存期限",
"remarks": "備註",
"countryOfOrigin": "原產地",
"maxQty": "最大數量",
"Code": "編號",
"code": "編號",
"instruction": "說明",
"lowerLimit": "下限",
"upperLimit": "上限",
"no rows": "沒有資料",
"Save": "儲存",
"Confirm": "確認",
"Cancel": "取消",
"Finished Goods Name": "成品名稱",
"Reset": "重置",
"Search": "搜尋",
"Release": "發佈",
"Actions": "動作"
}

+ 111
- 0
src/i18n/zh/pickOrder.json Wyświetl plik

@@ -0,0 +1,111 @@
{
"Purchase Order": "採購訂單",
"Code": "編號",
"OrderDate": "下單日期",
"Details": "詳情",
"Supplier": "供應商",
"Status": "狀態",
"Escalated": "已上報",
"NotEscalated": "無上報",

"Do you want to start?": "確定開始嗎?",
"Start": "開始",
"Start Success": "開始成功",
"Start Fail": "開始失敗",
"Start PO": "開始採購訂單",
"Do you want to complete?": "確定完成嗎?",
"Complete": "完成",
"Complete Success": "完成成功",
"Complete Fail": "完成失敗",
"Complete PO": "完成採購訂單",
"General": "一般",
"Bind Storage": "綁定倉位",
"itemNo": "項目編號",
"itemName": "項目名稱",
"qty": "數量",
"uom": "計量單位",
"total weight": "總重量",
"weight unit": "重量單位",
"price": "價格",
"processed": "已入倉",
"expiryDate": "到期日",
"acceptedQty": "接受數量",
"weight": "重量",
"status": "狀態",
"start": "開始",
"qc": "質量控制",
"escalation": "上報",
"stock in": "入庫",
"putaway": "上架",
"delete": "刪除",
"qty cannot be greater than remaining qty": "數量不能大於剩餘數量",
"Record pol": "記錄採購訂單",
"Add some entries!": "添加條目!",
"draft": "草稿",
"pending": "待處理",
"determine1": "上報1",
"determine2": "上報2",
"determine3": "上報3",
"receiving": "收貨中",
"received": "已收貨",
"completed": "已完成",
"rejected": "已拒絕",

"acceptedQty must not greater than": "接受數量不得大於",
"minimal value is 1": "最小值為1",
"value must be a number": "值必須是數字",
"qc Check": "質量控制檢查",
"Please select QC": "請選擇質量控制",
"failQty": "失敗數量",
"select qc": "選擇質量控制",
"enter a failQty": "請輸入失敗數量",
"qty too big": "數量過大",
"sampleRate": "抽樣率",
"sampleWeight": "樣本重量",
"totalWeight": "總重量",

"Escalation": "上報",
"to be processed": "待處理",

"Stock In Detail": "入庫詳情",
"productLotNo": "產品批號",
"receiptDate": "收貨日期",
"acceptedWeight": "接受重量",
"productionDate": "生產日期",

"reportQty": "上報數量",

"Default Warehouse": "預設倉庫",
"Select warehouse": "選擇倉庫",
"Putaway Detail": "上架詳情",
"LotNo": "批號",
"Po Code": "採購訂單編號",
"No Warehouse": "沒有倉庫",
"Please scan warehouse qr code.": "請掃描倉庫 QR 碼。",

"Reject": "拒絕",
"submit": "提交",
"print": "列印",
"bind": "綁定",



"Pick Order": "挑選貨單",
"Type": "類型",
"Reset": "重置",
"Search": "搜尋",
"Pick Orders": "挑選貨單",
"Consolidated Pick Orders": "合併挑選貨單",
"Pick Order No.": "挑選貨單編號",
"Pick Order Date": "挑選貨單日期",
"Pick Order Status": "挑選貨單狀態",
"Pick Order Type": "挑選貨單類型",
"Consolidated Code": "合併編號",
"type": "類型",
"Items": "項目",
"Target Date": "目標日期",
"Released By": "發佈者",
"Target Date From": "目標日期從",
"Target Date To": "目標日期到",
"Consolidate": "合併"
}

+ 8
- 0
src/i18n/zh/project.json Wyświetl plik

@@ -0,0 +1,8 @@
{
"code": "編號",
"FG & Material Demand Forecast Detail": "FG 及材料需求預測詳情",
"Release": "發佈",
"Actions": "動作",
"Product": "產品",
"Details": "詳情"
}

+ 0
- 1
src/i18n/zh/projects.json Wyświetl plik

@@ -1 +0,0 @@
{}

+ 2
- 0
src/i18n/zh/purchaseOrder.json Wyświetl plik

@@ -87,4 +87,6 @@
"submit": "提交",
"print": "列印",
"bind": "綁定"


}

+ 78
- 10
src/i18n/zh/schedule.json Wyświetl plik

@@ -1,10 +1,78 @@
{
"Total Demand Qty": "Total Demand Qty",
"Demand Qty (Day1)": "Demand Qty (Day1)",
"Demand Qty (Day2)": "Demand Qty (Day2)",
"Demand Qty (Day3)": "Demand Qty (Day3)",
"Demand Qty (Day4)": "Demand Qty (Day4)",
"Demand Qty (Day5)": "Demand Qty (Day5)",
"Demand Qty (Day6)": "Demand Qty (Day6)",
"Demand Qty (Day7)": "Demand Qty (Day7)"
}
{ "Demand Forecast": "需求預測",
"Total Demand Qty": "總需求量",
"Demand Qty (Day1)": "需求數量(第 1 天)",
"Demand Qty (Day2)": "需求數量(第 2 天)",
"Demand Qty (Day3)": "需求數量(第 3 天)",
"Demand Qty (Day4)": "需求數量(第 4 天)",
"Demand Qty (Day5)": "需求數量(第 5 天)",
"Demand Qty (Day6)": "需求數量(第 6 天)",
"Demand Qty (Day7)": "需求數量(第 7 天)",
"Demand Forecast Detail": "需求預測詳情",
"Details": "詳情",
"Schedule": "排程",
"Schedule Period": "排程期間",
"Schedule Detail": "排程詳情",
"Schedule At": "排程時間",
"Search": "搜尋",
"Reset": "重置",
"name": "名稱",
"type": "類型",
"code": "編號",
"Product Count": "產品數量",
"Scheduled At": "排程時間",
"Demand Forecast Period": "需求預測期間",
"FG & Material Demand Forecast Detail": "FG 及材料需求預測詳情",
"FG & Material Demand Forecast": "FG 及材料需求預測",
"Total Estimated Demand Qty": "總預估需求量",
"View By FG": "依 FG 分類",
"View By Material": "依材料分類",
" (Selected)": " (已選擇)",
"Total FG Item": "總 FG 項目",
"Release": "發佈",
"Actions": "動作",
"FG Demand List (7 Days)": "FG 需求列表(7 天)",
"FG Demand Date": "FG 需求日期",
"FG Demand Qty": "FG 需求數量",
"Material Demand Date": "材料需求日期",
"Material Demand List": "材料需求列表",
"Available Qty": "可用數量",
"Demand Qty": "需求數量",
"Confirm": "確認",
"Cancel": "取消",
"Edit": "編輯",
"Delete": "刪除",
"Save": "儲存",
"Close": "關閉",
"Add": "新增",
"Selected": "已選擇",
"Unselected": "未選擇",
"status": "狀態",
"Material Demand List (7 Days)": "材料需求列表(7 天)",
"Mon": "週一",
"Tue": "週二",
"Wed": "週三",
"Thu": "週四",
"Fri": "週五",
"Sat": "週六",
"Sun": "週日",
"Last Month Average Stock": "上個月平均庫存",
"Safety Stock": "安全庫存",
"Demand Qty (7 Days)": "需求數量(7 天)",
"Estimated Production Time": "預估生產時間",
"Production Priority": "生產優先順序",
"View BoM": "查看 BoM",
"Date": "日期",
"Detail Scheduling": "詳細排程",
"FG Production Schedule": "FG 生產排程",
"Production Date": "生產日期",
"Total Job Order": "總工單數量",
"Total Production Qty": "總生產數量",
"Job No.": "工單編號",
"Job Name": "工單名稱",
"Job Type": "工單類型",
"Job Status": "工單狀態",
"Job Priority": "工單優先順序",
"Job Date": "工單日期",
"Job Qty": "工單數量"

}

+ 14
- 0
src/i18n/zh/settings.json Wyświetl plik

@@ -0,0 +1,14 @@
{
"Demand Forecast Setting": "需求預測設定",
"QC Check Template": "QC 檢查模板",
"QC Check Template Details": "QC 檢查模板詳情",
"QC Check Template Name": "QC 檢查模板名稱",
"QC Check Template Description": "QC 檢查模板描述",
"QC Check Template Status": "QC 檢查模板狀態",
"QC Check Template Created At": "QC 檢查模板建立時間",
"QC Check Template Updated At": "QC 檢查模板更新時間",
"Ready to import": "準備匯入",
"Import Po": "匯入PO",
"Import Master Data": "匯入主資料"

}

+ 4
- 0
src/i18n/zh/translation.json Wyświetl plik

@@ -0,0 +1,4 @@
{
"Release": "發佈",
"Actions": "動作"
}

+ 9
- 1
src/i18n/zh/user.json Wyświetl plik

@@ -5,6 +5,7 @@
"Authority Pool": "權限池",
"Allocated Authority": "已分配權限",
"username": "用戶名稱",
"Username": "用戶名稱",
"password": "密碼",
"Confirm Password": "確認密碼",
"Reset": "重置",
@@ -14,5 +15,12 @@
"User ID": "用戶ID",
"User Name": "用戶名稱",
"User Group": "用戶群組",
"Authority": "權限"
"Authority": "權限",
"Edit": "編輯",
"Delete": "刪除",
"Add": "新增",
"authority": "權限",
"description": "描述",
"Search by Authority or description or position.": "搜尋權限、描述或職位。",
"Remove": "移除"
}

+ 2
- 1
src/middleware.ts Wyświetl plik

@@ -1,5 +1,6 @@
import { NextRequestWithAuth, withAuth } from "next-auth/middleware";
import { authOptions } from "@/config/authConfig";
// import { authOptions } from "@/config/authConfig";
import { authOptions } from "./config/authConfig";
import { NextFetchEvent, NextResponse } from "next/server";
import { PRIVATE_ROUTES } from "./routes";



Ładowanie…
Anuluj
Zapisz