diff --git a/package-lock.json b/package-lock.json
index 9a61910..1a206eb 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -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",
diff --git a/src/app/(main)/dashboard/page.tsx b/src/app/(main)/dashboard/page.tsx
index 9d40019..84c79ad 100644
--- a/src/app/(main)/dashboard/page.tsx
+++ b/src/app/(main)/dashboard/page.tsx
@@ -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",
};
diff --git a/src/app/(main)/do/page.tsx b/src/app/(main)/do/page.tsx
index d58862d..9b69e37 100644
--- a/src/app/(main)/do/page.tsx
+++ b/src/app/(main)/do/page.tsx
@@ -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}
>
- }>
-
-
+
+
+ }>
+
+
+
>
)
}
diff --git a/src/app/(main)/inventory/page.tsx b/src/app/(main)/inventory/page.tsx
index 046d56a..4ee9428 100644
--- a/src/app/(main)/inventory/page.tsx
+++ b/src/app/(main)/inventory/page.tsx
@@ -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";
diff --git a/src/app/(main)/layout.tsx b/src/app/(main)/layout.tsx
index 5ad2aeb..61c8ec1 100644
--- a/src/app/(main)/layout.tsx
+++ b/src/app/(main)/layout.tsx
@@ -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,
}: {
diff --git a/src/app/(main)/material/page.tsx b/src/app/(main)/material/page.tsx
index c6a847c..20ad0b9 100644
--- a/src/app/(main)/material/page.tsx
+++ b/src/app/(main)/material/page.tsx
@@ -1,4 +1,3 @@
-
import { SearchParams } from "@/app/utils/fetchUtil";
import { getServerI18n } from "@/i18n";
import Add from "@mui/icons-material/Add";
diff --git a/src/app/(main)/pickOrder/page.tsx b/src/app/(main)/pickOrder/page.tsx
index 740f99a..20f3f10 100644
--- a/src/app/(main)/pickOrder/page.tsx
+++ b/src/app/(main)/pickOrder/page.tsx
@@ -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")}
- }>
-
-
+
+ }>
+
+
+
>
)
}
diff --git a/src/app/(main)/po/edit/page.tsx b/src/app/(main)/po/edit/page.tsx
index 95cd6e3..9a2c637 100644
--- a/src/app/(main)/po/edit/page.tsx
+++ b/src/app/(main)/po/edit/page.tsx
@@ -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";
diff --git a/src/app/(main)/po/page.tsx b/src/app/(main)/po/page.tsx
index e538e16..f031c40 100644
--- a/src/app/(main)/po/page.tsx
+++ b/src/app/(main)/po/page.tsx
@@ -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";
diff --git a/src/app/(main)/production/page.tsx b/src/app/(main)/production/page.tsx
index 59093d2..f391be0 100644
--- a/src/app/(main)/production/page.tsx
+++ b/src/app/(main)/production/page.tsx
@@ -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";
diff --git a/src/app/(main)/projects/create/page.tsx b/src/app/(main)/projects/create/page.tsx
index 60ab586..3af4630 100644
--- a/src/app/(main)/projects/create/page.tsx
+++ b/src/app/(main)/projects/create/page.tsx
@@ -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";
diff --git a/src/app/(main)/projects/page.tsx b/src/app/(main)/projects/page.tsx
index 1fe1800..7a7ba3a 100644
--- a/src/app/(main)/projects/page.tsx
+++ b/src/app/(main)/projects/page.tsx
@@ -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";
diff --git a/src/app/(main)/scheduling/detail/edit/page.tsx b/src/app/(main)/scheduling/detail/edit/page.tsx
index d596030..f27ba0f 100644
--- a/src/app/(main)/scheduling/detail/edit/page.tsx
+++ b/src/app/(main)/scheduling/detail/edit/page.tsx
@@ -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 = async ({ searchParams }) => {
{t("FG Production Schedule")}
-
+
>;
diff --git a/src/app/(main)/scheduling/detail/page.tsx b/src/app/(main)/scheduling/detail/page.tsx
index 3116e8a..e09bca2 100644
--- a/src/app/(main)/scheduling/detail/page.tsx
+++ b/src/app/(main)/scheduling/detail/page.tsx
@@ -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")}
- }>
-
-
+
+ }>
+
+
+
>
);
};
diff --git a/src/app/(main)/scheduling/rough/edit/page.tsx b/src/app/(main)/scheduling/rough/edit/page.tsx
index efaff8f..bf03ef9 100644
--- a/src/app/(main)/scheduling/rough/edit/page.tsx
+++ b/src/app/(main)/scheduling/rough/edit/page.tsx
@@ -39,7 +39,7 @@ const roughSchedulingDetail: React.FC = async () => {
{t("Create product")}
*/}
-
+
}>
diff --git a/src/app/(main)/scheduling/rough/page.tsx b/src/app/(main)/scheduling/rough/page.tsx
index dbefd57..7158396 100644
--- a/src/app/(main)/scheduling/rough/page.tsx
+++ b/src/app/(main)/scheduling/rough/page.tsx
@@ -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 () => {
{t("Demand Forecast")}
+
{/* }
@@ -38,7 +42,7 @@ const roughScheduling: React.FC = async () => {
{t("Create product")}
*/}
-
+
}>
diff --git a/src/app/(main)/settings/user/edit/page.tsx b/src/app/(main)/settings/user/edit/page.tsx
index b45dc04..e489f72 100644
--- a/src/app/(main)/settings/user/edit/page.tsx
+++ b/src/app/(main)/settings/user/edit/page.tsx
@@ -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 = async ({ searchParams }) => {
const { t } = await getServerI18n("user");
diff --git a/src/app/api/do/index.tsx b/src/app/api/do/index.tsx
index 624558c..7834c3f 100644
--- a/src/app/api/do/index.tsx
+++ b/src/app/api/do/index.tsx
@@ -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 {
diff --git a/src/app/api/mail/actions.ts b/src/app/api/mail/actions.ts
index eb0460c..bd5cca4 100644
--- a/src/app/api/mail/actions.ts
+++ b/src/app/api/mail/actions.ts
@@ -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 {
diff --git a/src/app/api/mail/index.ts b/src/app/api/mail/index.ts
index 97fc42e..91ff5e2 100644
--- a/src/app/api/mail/index.ts
+++ b/src/app/api/mail/index.ts
@@ -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";
diff --git a/src/app/api/pdf/actions.ts b/src/app/api/pdf/actions.ts
index 6b2bb05..e57c03c 100644
--- a/src/app/api/pdf/actions.ts
+++ b/src/app/api/pdf/actions.ts
@@ -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 {
diff --git a/src/app/api/pickOrder/index.ts b/src/app/api/pickOrder/index.ts
index 6958b98..a128fc5 100644
--- a/src/app/api/pickOrder/index.ts
+++ b/src/app/api/pickOrder/index.ts
@@ -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 {
diff --git a/src/app/api/po/actions.ts b/src/app/api/po/actions.ts
index fbc48a6..d30135a 100644
--- a/src/app/api/po/actions.ts
+++ b/src/app/api/po/actions.ts
@@ -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";
diff --git a/src/app/api/po/index.ts b/src/app/api/po/index.ts
index 6cb64fa..84ee091 100644
--- a/src/app/api/po/index.ts
+++ b/src/app/api/po/index.ts
@@ -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";
diff --git a/src/app/api/projects/actions.ts b/src/app/api/projects/actions.ts
index ef39406..1e6c216 100644
--- a/src/app/api/projects/actions.ts
+++ b/src/app/api/projects/actions.ts
@@ -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 {
diff --git a/src/app/api/qc/actions.ts b/src/app/api/qc/actions.ts
index 08bb4c1..66fce32 100644
--- a/src/app/api/qc/actions.ts
+++ b/src/app/api/qc/actions.ts
@@ -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 {
diff --git a/src/app/api/qc/index.ts b/src/app/api/qc/index.ts
index fd20cfd..44bf8cb 100644
--- a/src/app/api/qc/index.ts
+++ b/src/app/api/qc/index.ts
@@ -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;
diff --git a/src/app/api/qrcode/index.ts b/src/app/api/qrcode/index.ts
index 04ce08f..5079cf9 100644
--- a/src/app/api/qrcode/index.ts
+++ b/src/app/api/qrcode/index.ts
@@ -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;
diff --git a/src/app/api/settings/item/index.ts b/src/app/api/settings/item/index.ts
index 57caa39..b9893a5 100644
--- a/src/app/api/settings/item/index.ts
+++ b/src/app/api/settings/item/index.ts
@@ -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 = {
diff --git a/src/app/api/settings/m18ImportTesting/actions.ts b/src/app/api/settings/m18ImportTesting/actions.ts
index 97de637..27b6448 100644
--- a/src/app/api/settings/m18ImportTesting/actions.ts
+++ b/src/app/api/settings/m18ImportTesting/actions.ts
@@ -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,
diff --git a/src/app/api/settings/qcCheck/actions.ts b/src/app/api/settings/qcCheck/actions.ts
index 98133ef..90aa38f 100644
--- a/src/app/api/settings/qcCheck/actions.ts
+++ b/src/app/api/settings/qcCheck/actions.ts
@@ -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";
diff --git a/src/app/api/settings/qcItem/actions.ts b/src/app/api/settings/qcItem/actions.ts
index 1c63a19..63b1ce9 100644
--- a/src/app/api/settings/qcItem/actions.ts
+++ b/src/app/api/settings/qcItem/actions.ts
@@ -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;
diff --git a/src/app/api/settings/qcItem/index.ts b/src/app/api/settings/qcItem/index.ts
index 75f2277..d6e0783 100644
--- a/src/app/api/settings/qcItem/index.ts
+++ b/src/app/api/settings/qcItem/index.ts
@@ -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";
diff --git a/src/app/api/settings/uom/index.ts b/src/app/api/settings/uom/index.ts
index 685b012..7f6e81c 100644
--- a/src/app/api/settings/uom/index.ts
+++ b/src/app/api/settings/uom/index.ts
@@ -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
diff --git a/src/app/api/user/actions.ts b/src/app/api/user/actions.ts
index 759bef5..9562e53 100644
--- a/src/app/api/user/actions.ts
+++ b/src/app/api/user/actions.ts
@@ -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";
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 222a275..dde610b 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -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",
diff --git a/src/components/CreateClaim/ClaimInputGrid.tsx b/src/components/CreateClaim/ClaimInputGrid.tsx
index 1231001..7ea37fb 100644
--- a/src/components/CreateClaim/ClaimInputGrid.tsx
+++ b/src/components/CreateClaim/ClaimInputGrid.tsx
@@ -260,7 +260,7 @@ const ClaimInputGrid: React.FC = ({ ...props }) => {
{
field: "actions",
type: "actions",
- headerName: "Actions",
+ headerName: t("Actions"),
width: 100,
cellClassName: "actions",
getActions: ({ id }) => {
diff --git a/src/components/CreateItem/CreateItem.tsx b/src/components/CreateItem/CreateItem.tsx
index ff8d1ea..9525dda 100644
--- a/src/components/CreateItem/CreateItem.tsx
+++ b/src/components/CreateItem/CreateItem.tsx
@@ -43,7 +43,7 @@ const CreateItem: React.FC = ({
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(() => {
diff --git a/src/components/CreateItem/QcDetails.tsx b/src/components/CreateItem/QcDetails.tsx
index 533b6bb..d932ea4 100644
--- a/src/components/CreateItem/QcDetails.tsx
+++ b/src/components/CreateItem/QcDetails.tsx
@@ -33,7 +33,7 @@ const QcDetails: React.FC = ({ apiRef }) => {
const {
t,
i18n: { language },
- } = useTranslation();
+ } = useTranslation("items");
const {
register,
@@ -51,32 +51,32 @@ const QcDetails: React.FC = ({ apiRef }) => {
const qcColumns = useMemo(
() => [
{
- 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 = ({ apiRef }) => {
},
{
field: "upperLimit",
- headerName: "upperLimit",
+ headerName: t("upperLimit"),
flex: 1,
editable: true,
type: "number",
diff --git a/src/components/DetailSchedule/DetailScheduleSearchView.tsx b/src/components/DetailSchedule/DetailScheduleSearchView.tsx
index 9ab167b..a1d16c7 100644
--- a/src/components/DetailSchedule/DetailScheduleSearchView.tsx
+++ b/src/components/DetailSchedule/DetailScheduleSearchView.tsx
@@ -32,7 +32,8 @@ type SearchParamNames = keyof SearchQuery;
const DSOverview: React.FC = ({ records }) => {
const [filteredItems, setFilteredItems] = useState(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 = ({ records }) => {
},
{
name: "scheduledPeriod",
- label: "Demand Forecast Period",
+ label: t("Demand Forecast Period"),
},
{
name: "scheduledAt",
diff --git a/src/components/DetailScheduleDetail/ViewByBomDetails.tsx b/src/components/DetailScheduleDetail/ViewByBomDetails.tsx
index 05df248..2d9ae8a 100644
--- a/src/components/DetailScheduleDetail/ViewByBomDetails.tsx
+++ b/src/components/DetailScheduleDetail/ViewByBomDetails.tsx
@@ -319,7 +319,7 @@ const ViewByBomDetails: React.FC = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
- label: "code",
+ label: t("code"),
type: 'read-only',
// editable: true,
},
@@ -330,7 +330,7 @@ const ViewByBomDetails: React.FC = ({ apiRef, isEdit }) => {
},
{
field: "type",
- label: "type",
+ label: t("type"),
type: 'read-only',
// editable: true,
},
@@ -468,23 +468,23 @@ const ViewByBomDetails: React.FC = ({ 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 = ({ apiRef, isEdit }) => {
},
{
field: "purchaseQty",
- label: "Demand Qty",
+ label: t("Demand Qty"),
type: 'read-only',
style: {
textAlign: "right",
diff --git a/src/components/DetailScheduleDetail/ViewByFGDetails.tsx b/src/components/DetailScheduleDetail/ViewByFGDetails.tsx
index e40cbd2..37c00e8 100644
--- a/src/components/DetailScheduleDetail/ViewByFGDetails.tsx
+++ b/src/components/DetailScheduleDetail/ViewByFGDetails.tsx
@@ -45,7 +45,7 @@ const ViewByFGDetails: React.FC = ({ apiRef, isEdit }) => {
const {
t,
i18n: { language },
- } = useTranslation();
+ } = useTranslation("schedule");
const {
formState: { errors, defaultValues, touchedFields },
@@ -475,24 +475,24 @@ const ViewByFGDetails: React.FC = ({ 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 = ({ apiRef, isEdit }) => {
// },
{
field: "productionQty",
- label: "Demand Qty",
+ label: t("Demand Qty"),
type: 'input',
style: {
textAlign: "right",
@@ -527,7 +527,7 @@ const ViewByFGDetails: React.FC = ({ 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 = ({ 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 = ({ 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 = ({ 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 = ({ 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 = ({ apiRef, isEdit }) => {
},
{
field: "productionQty",
- label: "Demand Qty (7 Days)",
+ label: t("Demand Qty (7 Days)"),
type: 'read-only',
style: {
textAlign: "right",
diff --git a/src/components/DoSearch/DoSearch.tsx b/src/components/DoSearch/DoSearch.tsx
index db94c5b..3b2a802 100644
--- a/src/components/DoSearch/DoSearch.tsx
+++ b/src/components/DoSearch/DoSearch.tsx
@@ -150,7 +150,7 @@ const DoSearch: React.FC = ({ dos }) => {
// },
{
field: "code",
- headerName: "code",
+ headerName: t("code"),
flex: 1,
},
{
diff --git a/src/components/EditUser/UserDetail.tsx b/src/components/EditUser/UserDetail.tsx
index df1581a..42719e5 100644
--- a/src/components/EditUser/UserDetail.tsx
+++ b/src/components/EditUser/UserDetail.tsx
@@ -16,7 +16,7 @@ import { useTranslation } from "react-i18next";
const UserDetail: React.FC = () => {
- const { t } = useTranslation();
+ const { t } = useTranslation("user");
const {
register,
formState: { errors },
diff --git a/src/components/M18ImportTesting/M18ImportPo.tsx b/src/components/M18ImportTesting/M18ImportPo.tsx
index 77303a6..5223300 100644
--- a/src/components/M18ImportTesting/M18ImportPo.tsx
+++ b/src/components/M18ImportTesting/M18ImportPo.tsx
@@ -16,7 +16,7 @@ interface Props {
const M18ImportPo: React.FC = ({
}) => {
- const { t } = useTranslation()
+ const { t } = useTranslation("settings")
const [isLoading, setIsLoading] = useState(false)
const {
control,
diff --git a/src/components/NavigationContent/NavigationContent.tsx b/src/components/NavigationContent/NavigationContent.tsx
index 2c34365..7c2476a 100644
--- a/src/components/NavigationContent/NavigationContent.tsx
+++ b/src/components/NavigationContent/NavigationContent.tsx
@@ -36,7 +36,7 @@ const NavigationContent: React.FC = () => {
const navigationItems: NavigationItem[] = [
{
icon: ,
- label: "Dashboard",
+ label: ("Dashboard"),
path: "/dashboard",
},
{
diff --git a/src/components/PickOrderSearch/PickOrderSearch.tsx b/src/components/PickOrderSearch/PickOrderSearch.tsx
index eb22d9b..747fbb1 100644
--- a/src/components/PickOrderSearch/PickOrderSearch.tsx
+++ b/src/components/PickOrderSearch/PickOrderSearch.tsx
@@ -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 = ({
pickOrders,
}) => {
- const { t } = useTranslation("pickOrders");
+ const { t } = useTranslation("pickOrder");
const [filteredPickOrders, setFilteredPickOrders] = useState(pickOrders)
diff --git a/src/components/RoughSchedule/RoughSchedileSearchView.tsx b/src/components/RoughSchedule/RoughSchedileSearchView.tsx
index 1692a85..aa4096b 100644
--- a/src/components/RoughSchedule/RoughSchedileSearchView.tsx
+++ b/src/components/RoughSchedule/RoughSchedileSearchView.tsx
@@ -89,7 +89,7 @@ const RSOverview: React.FC = ({ records }) => {
},
{
name: "scheduledPeriod",
- label: "Demand Forecast Period",
+ label: t("Demand Forecast Period"),
},
{
name: "scheduledAt",
diff --git a/src/components/RoughScheduleDetail/RoughScheudleDetailView.tsx b/src/components/RoughScheduleDetail/RoughScheudleDetailView.tsx
index e7862f0..4760a7a 100644
--- a/src/components/RoughScheduleDetail/RoughScheudleDetailView.tsx
+++ b/src/components/RoughScheduleDetail/RoughScheudleDetailView.tsx
@@ -173,8 +173,8 @@ const RoughScheduleDetailView: React.FC = ({
-
-
+
+
{serverError && (
diff --git a/src/components/RoughScheduleDetail/ViewByBomDetails.tsx b/src/components/RoughScheduleDetail/ViewByBomDetails.tsx
index 05df248..fa3866d 100644
--- a/src/components/RoughScheduleDetail/ViewByBomDetails.tsx
+++ b/src/components/RoughScheduleDetail/ViewByBomDetails.tsx
@@ -57,11 +57,8 @@ export type FGOverallRecord = {
}
const ViewByBomDetails: React.FC = ({ 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();
@@ -319,7 +316,7 @@ const ViewByBomDetails: React.FC = ({ apiRef, isEdit }) => {
() => [
{
field: "code",
- label: "code",
+ label: t("code"),
type: 'read-only',
// editable: true,
},
@@ -330,7 +327,7 @@ const ViewByBomDetails: React.FC = ({ apiRef, isEdit }) => {
},
{
field: "type",
- label: "type",
+ label: t("type"),
type: 'read-only',
// editable: true,
},
@@ -461,30 +458,30 @@ const ViewByBomDetails: React.FC = ({ apiRef, isEdit }) => {
}
},
],
- []
+ [t]
);
const columns = useMemo[]>(
() => [
{
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 = ({ 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 = ({ apiRef, isEdit }) => {
}
},
],
- []
+ [t]
);
return (
diff --git a/src/components/RoughScheduleDetail/ViewByFGDetails.tsx b/src/components/RoughScheduleDetail/ViewByFGDetails.tsx
index a692f2b..e04434f 100644
--- a/src/components/RoughScheduleDetail/ViewByFGDetails.tsx
+++ b/src/components/RoughScheduleDetail/ViewByFGDetails.tsx
@@ -45,7 +45,7 @@ const ViewByFGDetails: React.FC = ({ apiRef, isEdit }) => {
const {
t,
i18n: { language },
- } = useTranslation();
+ } = useTranslation("schedule");
const {
formState: { errors, defaultValues, touchedFields },
@@ -447,24 +447,24 @@ const ViewByFGDetails: React.FC = ({ 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 = ({ apiRef, isEdit }) => {
},
{
field: "productionQty",
- label: "Demand Qty",
+ label: t("Demand Qty"),
type: 'input',
style: {
textAlign: "right",
@@ -499,24 +499,24 @@ const ViewByFGDetails: React.FC = ({ 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 = ({ 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 = ({ 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 = ({ apiRef, isEdit }) => {
},
{
field: "productionQty",
- label: "Demand Qty (7 Days)",
+ label: t("Demand Qty (7 Days)"),
type: 'read-only',
style: {
textAlign: "right",
diff --git a/src/components/RoughScheduleSetting/RoughScheduleSetting.tsx b/src/components/RoughScheduleSetting/RoughScheduleSetting.tsx
index cc7f881..e078ee4 100644
--- a/src/components/RoughScheduleSetting/RoughScheduleSetting.tsx
+++ b/src/components/RoughScheduleSetting/RoughScheduleSetting.tsx
@@ -23,7 +23,7 @@ type SearchParamNames = keyof SearchQuery;
const RSSOverview: React.FC = ({ items }) => {
const [filteredItems, setFilteredItems] = useState(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 = ({ 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[] = useMemo(
diff --git a/src/components/SearchResults/EditableSearchResults.tsx b/src/components/SearchResults/EditableSearchResults.tsx
index 797f7a1..8e164f6 100644
--- a/src/components/SearchResults/EditableSearchResults.tsx
+++ b/src/components/SearchResults/EditableSearchResults.tsx
@@ -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({
const [rowsPerPage, setRowsPerPage] = useState(10);
const [editingRowId, setEditingRowId] = useState(null);
const [editedItems, setEditedItems] = useState(items);
+ const { t } = useTranslation("project");
console.log(items)
useEffect(() => {
setEditedItems(items)
@@ -272,8 +273,8 @@ function EditableSearchResults({
- Release
- {(isEditable || hasCollapse) && Actions} {/* Action Column Header */}
+ {t("Release")}
+ {(isEditable || hasCollapse) && {t("Actions")}} {/* Action Column Header */}
{columns.map((column, idx) => (
{column.label}
diff --git a/src/i18n/en/projects.json b/src/i18n/en/items.json
similarity index 100%
rename from src/i18n/en/projects.json
rename to src/i18n/en/items.json
diff --git a/src/i18n/en/project.json b/src/i18n/en/project.json
new file mode 100644
index 0000000..45de18e
--- /dev/null
+++ b/src/i18n/en/project.json
@@ -0,0 +1,6 @@
+{
+
+ "FG & Material Demand Forecast Detail": "FG & Material Demand Forecast Detail",
+ "Release": "Release",
+ "Actions": "Actions"
+}
\ No newline at end of file
diff --git a/src/i18n/zh/common.json b/src/i18n/zh/common.json
index c5cf640..3c9e332 100644
--- a/src/i18n/zh/common.json
+++ b/src/i18n/zh/common.json
@@ -5,9 +5,51 @@
"Reset": "重置",
"Search": "搜尋",
"Code": "編號",
+ "code": "編號",
"Name": "名稱",
"Type": "類型",
"Add some entries!": "添加條目",
"Add Record": "新增",
- "Clean Record": "重置"
-}
\ No newline at end of file
+ "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":"排程"
+}
diff --git a/src/i18n/zh/detailScheduling.json b/src/i18n/zh/detailScheduling.json
new file mode 100644
index 0000000..a110f66
--- /dev/null
+++ b/src/i18n/zh/detailScheduling.json
@@ -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": "詳情"
+}
\ No newline at end of file
diff --git a/src/i18n/zh/do.json b/src/i18n/zh/do.json
new file mode 100644
index 0000000..6b28840
--- /dev/null
+++ b/src/i18n/zh/do.json
@@ -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": "新增"
+}
\ No newline at end of file
diff --git a/src/i18n/zh/items.json b/src/i18n/zh/items.json
new file mode 100644
index 0000000..34d1c0a
--- /dev/null
+++ b/src/i18n/zh/items.json
@@ -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": "動作"
+}
\ No newline at end of file
diff --git a/src/i18n/zh/pickOrder.json b/src/i18n/zh/pickOrder.json
new file mode 100644
index 0000000..d22b7c3
--- /dev/null
+++ b/src/i18n/zh/pickOrder.json
@@ -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": "合併"
+}
\ No newline at end of file
diff --git a/src/i18n/zh/project.json b/src/i18n/zh/project.json
new file mode 100644
index 0000000..4555647
--- /dev/null
+++ b/src/i18n/zh/project.json
@@ -0,0 +1,8 @@
+{
+ "code": "編號",
+ "FG & Material Demand Forecast Detail": "FG 及材料需求預測詳情",
+ "Release": "發佈",
+ "Actions": "動作",
+ "Product": "產品",
+ "Details": "詳情"
+}
\ No newline at end of file
diff --git a/src/i18n/zh/projects.json b/src/i18n/zh/projects.json
deleted file mode 100644
index 9e26dfe..0000000
--- a/src/i18n/zh/projects.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
\ No newline at end of file
diff --git a/src/i18n/zh/purchaseOrder.json b/src/i18n/zh/purchaseOrder.json
index 9178773..903132c 100644
--- a/src/i18n/zh/purchaseOrder.json
+++ b/src/i18n/zh/purchaseOrder.json
@@ -87,4 +87,6 @@
"submit": "提交",
"print": "列印",
"bind": "綁定"
+
+
}
\ No newline at end of file
diff --git a/src/i18n/zh/schedule.json b/src/i18n/zh/schedule.json
index 75a38bf..3f089dd 100644
--- a/src/i18n/zh/schedule.json
+++ b/src/i18n/zh/schedule.json
@@ -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)"
-}
\ No newline at end of file
+{ "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": "工單數量"
+
+}
diff --git a/src/i18n/zh/settings.json b/src/i18n/zh/settings.json
new file mode 100644
index 0000000..febef27
--- /dev/null
+++ b/src/i18n/zh/settings.json
@@ -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": "匯入主資料"
+
+}
\ No newline at end of file
diff --git a/src/i18n/zh/translation.json b/src/i18n/zh/translation.json
new file mode 100644
index 0000000..b2b46f8
--- /dev/null
+++ b/src/i18n/zh/translation.json
@@ -0,0 +1,4 @@
+{
+ "Release": "發佈",
+ "Actions": "動作"
+}
\ No newline at end of file
diff --git a/src/i18n/zh/user.json b/src/i18n/zh/user.json
index 2548c90..c7ff70d 100644
--- a/src/i18n/zh/user.json
+++ b/src/i18n/zh/user.json
@@ -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": "移除"
}
\ No newline at end of file
diff --git a/src/middleware.ts b/src/middleware.ts
index 4a01e15..c7a6f42 100644
--- a/src/middleware.ts
+++ b/src/middleware.ts
@@ -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";