@semiont/frontend 0.4.7 → 0.4.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/AuthContext-CYne_gJM.js +2 -0
- package/dist/assets/AuthContext-CYne_gJM.js.map +1 -0
- package/dist/assets/{CookiePreferences-L69Zja-8.js → CookiePreferences-DxD0u90z.js} +2 -2
- package/dist/assets/{CookiePreferences-L69Zja-8.js.map → CookiePreferences-DxD0u90z.js.map} +1 -1
- package/dist/assets/KnowledgeBaseContext-CgnF8K-_.js +2 -0
- package/dist/assets/KnowledgeBaseContext-CgnF8K-_.js.map +1 -0
- package/dist/assets/PdfAnnotationCanvas.client-CW6SKH2U-CVmEpRfP.js +2 -0
- package/dist/assets/PdfAnnotationCanvas.client-CW6SKH2U-CVmEpRfP.js.map +1 -0
- package/dist/assets/PlusIcon-qGFPUzg0.js +2 -0
- package/dist/assets/PlusIcon-qGFPUzg0.js.map +1 -0
- package/dist/assets/StreamStatusContext-BuPATpTz.js +2 -0
- package/dist/assets/StreamStatusContext-BuPATpTz.js.map +1 -0
- package/dist/assets/ToolbarPanels-tcvPzqNN.js +2 -0
- package/dist/assets/ToolbarPanels-tcvPzqNN.js.map +1 -0
- package/dist/assets/ar-R4CRNXEF-Ca4TvZQX.js +2 -0
- package/dist/assets/ar-R4CRNXEF-Ca4TvZQX.js.map +1 -0
- package/dist/assets/bn-CZKGRHTA-BYgoliLL.js +2 -0
- package/dist/assets/bn-CZKGRHTA-BYgoliLL.js.map +1 -0
- package/dist/assets/client-87q-RlKa.js +2 -0
- package/dist/assets/{client-Cxt1NUWp.js.map → client-87q-RlKa.js.map} +1 -1
- package/dist/assets/client-BZBaSaZ0.js +2 -0
- package/dist/assets/{client-D1NYe5bc.js.map → client-BZBaSaZ0.js.map} +1 -1
- package/dist/assets/client-CKEJUXXb.js +2 -0
- package/dist/assets/{client-CmvSjN3K.js.map → client-CKEJUXXb.js.map} +1 -1
- package/dist/assets/client-DWcJNpII.js +2 -0
- package/dist/assets/{client-D5mudL5R.js.map → client-DWcJNpII.js.map} +1 -1
- package/dist/assets/cs-4WIB2IHH-C7kYZeeH.js +2 -0
- package/dist/assets/cs-4WIB2IHH-C7kYZeeH.js.map +1 -0
- package/dist/assets/da-JWYEUYPX-ZaU3NHTl.js +2 -0
- package/dist/assets/da-JWYEUYPX-ZaU3NHTl.js.map +1 -0
- package/dist/assets/de-GWUQZGER-DsO9vSRx.js +2 -0
- package/dist/assets/de-GWUQZGER-DsO9vSRx.js.map +1 -0
- package/dist/assets/el-DM2GT7P5-Baqj4u37.js +2 -0
- package/dist/assets/el-DM2GT7P5-Baqj4u37.js.map +1 -0
- package/dist/assets/en-IUV4ZXKH-BjYNERUx.js +135 -0
- package/dist/assets/en-IUV4ZXKH-BjYNERUx.js.map +1 -0
- package/dist/assets/es-6LVQIM3D-iPWrspyh.js +2 -0
- package/dist/assets/es-6LVQIM3D-iPWrspyh.js.map +1 -0
- package/dist/assets/fa-IRUJY3QI-D7jhkhZq.js +2 -0
- package/dist/assets/fa-IRUJY3QI-D7jhkhZq.js.map +1 -0
- package/dist/assets/fi-53FBOEVT-DyL1QG5i.js +2 -0
- package/dist/assets/fi-53FBOEVT-DyL1QG5i.js.map +1 -0
- package/dist/assets/fr-Q5KY7QL6-CGM9feO_.js +2 -0
- package/dist/assets/fr-Q5KY7QL6-CGM9feO_.js.map +1 -0
- package/dist/assets/he-HJNKULBY-CiS3ww0i.js +2 -0
- package/dist/assets/he-HJNKULBY-CiS3ww0i.js.map +1 -0
- package/dist/assets/hi-UYZ4X6CR-Cb3OYOtm.js +2 -0
- package/dist/assets/hi-UYZ4X6CR-Cb3OYOtm.js.map +1 -0
- package/dist/assets/id-UAQMH6U2-CgqnTJaj.js +2 -0
- package/dist/assets/id-UAQMH6U2-CgqnTJaj.js.map +1 -0
- package/dist/assets/{index-IyxbPWuo.js → index-D4SjcYxX.js} +3 -3
- package/dist/assets/index-D4SjcYxX.js.map +1 -0
- package/dist/assets/index-x79a-Q1-.css +1 -0
- package/dist/assets/it-C7QEBNFA-BP64tE9N.js +2 -0
- package/dist/assets/it-C7QEBNFA-BP64tE9N.js.map +1 -0
- package/dist/assets/ja-THS6AOSJ-BlrsrgpZ.js +2 -0
- package/dist/assets/ja-THS6AOSJ-BlrsrgpZ.js.map +1 -0
- package/dist/assets/ko-XKK3TWQG-BnscEkav.js +2 -0
- package/dist/assets/ko-XKK3TWQG-BnscEkav.js.map +1 -0
- package/dist/assets/layout-B-TMNLm1.js +6 -0
- package/dist/assets/layout-B-TMNLm1.js.map +1 -0
- package/dist/assets/layout-C4uWiY4F.js +2 -0
- package/dist/assets/layout-C4uWiY4F.js.map +1 -0
- package/dist/assets/layout-D9y4fNSa.js +2 -0
- package/dist/assets/layout-D9y4fNSa.js.map +1 -0
- package/dist/assets/layout-DYXeBZ7E.js +2 -0
- package/dist/assets/{layout-5_En-vLB.js.map → layout-DYXeBZ7E.js.map} +1 -1
- package/dist/assets/ms-GSK7LIF7-BWJ-3eXy.js +2 -0
- package/dist/assets/ms-GSK7LIF7-BWJ-3eXy.js.map +1 -0
- package/dist/assets/nl-KUBWITGY-DeqIcEFQ.js +2 -0
- package/dist/assets/nl-KUBWITGY-DeqIcEFQ.js.map +1 -0
- package/dist/assets/no-ECWZUHT6-DMgg097w.js +2 -0
- package/dist/assets/no-ECWZUHT6-DMgg097w.js.map +1 -0
- package/dist/assets/{not-found-BjlzlRT_.js → not-found-D39eX95i.js} +2 -2
- package/dist/assets/{not-found-BjlzlRT_.js.map → not-found-D39eX95i.js.map} +1 -1
- package/dist/assets/page-B68iiwby.js +2 -0
- package/dist/assets/page-B68iiwby.js.map +1 -0
- package/dist/assets/{page-B8hAUDzt.js → page-B8rInMTj.js} +2 -2
- package/dist/assets/{page-B8hAUDzt.js.map → page-B8rInMTj.js.map} +1 -1
- package/dist/assets/page-BBEm8LmA.js +2 -0
- package/dist/assets/{page-4vdCvEL0.js.map → page-BBEm8LmA.js.map} +1 -1
- package/dist/assets/{page-D77AjrZW.js → page-BjjPEFxE.js} +2 -2
- package/dist/assets/{page-D77AjrZW.js.map → page-BjjPEFxE.js.map} +1 -1
- package/dist/assets/page-Bs0m7wcI.js +2 -0
- package/dist/assets/page-Bs0m7wcI.js.map +1 -0
- package/dist/assets/page-C2ievByA.js +2 -0
- package/dist/assets/{page-n2Dj9C-v.js.map → page-C2ievByA.js.map} +1 -1
- package/dist/assets/{page-D7qEC0QY.js → page-CEDbSdpB.js} +2 -2
- package/dist/assets/{page-D7qEC0QY.js.map → page-CEDbSdpB.js.map} +1 -1
- package/dist/assets/{page-DwQP9ZTM.js → page-CnBwmYIE.js} +2 -2
- package/dist/assets/{page-DwQP9ZTM.js.map → page-CnBwmYIE.js.map} +1 -1
- package/dist/assets/page-D9kiPafj.js +2 -0
- package/dist/assets/{page-VpcpXQSK.js.map → page-D9kiPafj.js.map} +1 -1
- package/dist/assets/page-DU4gR5Xo.js +2 -0
- package/dist/assets/page-DU4gR5Xo.js.map +1 -0
- package/dist/assets/page-DVuwkaR0.js +2 -0
- package/dist/assets/{page-6Y-lDxnu.js.map → page-DVuwkaR0.js.map} +1 -1
- package/dist/assets/page-DX3FJ71G.js +2 -0
- package/dist/assets/page-DX3FJ71G.js.map +1 -0
- package/dist/assets/{page-kZNdnhdh.js → page-DfClTFD9.js} +2 -2
- package/dist/assets/{page-kZNdnhdh.js.map → page-DfClTFD9.js.map} +1 -1
- package/dist/assets/{page-CPxgvPSe.js → page-KDTjODvy.js} +2 -2
- package/dist/assets/{page-CPxgvPSe.js.map → page-KDTjODvy.js.map} +1 -1
- package/dist/assets/{page-bnSUmwNQ.js → page-eebHZHg3.js} +2 -2
- package/dist/assets/page-eebHZHg3.js.map +1 -0
- package/dist/assets/page-fN3EjI48.js +2 -0
- package/dist/assets/{page-Bb2aSxYZ.js.map → page-fN3EjI48.js.map} +1 -1
- package/dist/assets/page-kM0Ep9uD.js +2 -0
- package/dist/assets/{page-CkeyIRf4.js.map → page-kM0Ep9uD.js.map} +1 -1
- package/dist/assets/page-m23deNER.js +2 -0
- package/dist/assets/{page-CG2brhZf.js.map → page-m23deNER.js.map} +1 -1
- package/dist/assets/pl-PLVWSZWS-B9TKLToJ.js +2 -0
- package/dist/assets/pl-PLVWSZWS-B9TKLToJ.js.map +1 -0
- package/dist/assets/{privacy-D5H-YTl9.js → privacy-QEJYcmMw.js} +2 -2
- package/dist/assets/{privacy-D5H-YTl9.js.map → privacy-QEJYcmMw.js.map} +1 -1
- package/dist/assets/pt-AL74ZTKB-dm40issX.js +2 -0
- package/dist/assets/pt-AL74ZTKB-dm40issX.js.map +1 -0
- package/dist/assets/ro-WTPHLHGS-42q4gQmg.js +2 -0
- package/dist/assets/ro-WTPHLHGS-42q4gQmg.js.map +1 -0
- package/dist/assets/routing-BgsGBuSe.js +2 -0
- package/dist/assets/routing-BgsGBuSe.js.map +1 -0
- package/dist/assets/{routing-tt0MahYa.js → routing-nZgBtxly.js} +2 -2
- package/dist/assets/{routing-tt0MahYa.js.map → routing-nZgBtxly.js.map} +1 -1
- package/dist/assets/sv-QCLI7SG4-KVnre_zY.js +2 -0
- package/dist/assets/sv-QCLI7SG4-KVnre_zY.js.map +1 -0
- package/dist/assets/th-WCKVZU6U-CfRhC_Eg.js +2 -0
- package/dist/assets/th-WCKVZU6U-CfRhC_Eg.js.map +1 -0
- package/dist/assets/tr-2CAFS2XS-425EzbTD.js +2 -0
- package/dist/assets/tr-2CAFS2XS-425EzbTD.js.map +1 -0
- package/dist/assets/uk-TDE4JLCY-BUQpzvxx.js +2 -0
- package/dist/assets/uk-TDE4JLCY-BUQpzvxx.js.map +1 -0
- package/dist/assets/useAuth-CqtZE9nt.js +2 -0
- package/dist/assets/useAuth-CqtZE9nt.js.map +1 -0
- package/dist/assets/vi-KKXZ4PCX-BqlhZbBi.js +2 -0
- package/dist/assets/vi-KKXZ4PCX-BqlhZbBi.js.map +1 -0
- package/dist/assets/zh-VH4XN5PV-TNQ5FOx-.js +2 -0
- package/dist/assets/zh-VH4XN5PV-TNQ5FOx-.js.map +1 -0
- package/dist/index.html +2 -2
- package/dist/messages/ar.json +7 -1
- package/dist/messages/bn.json +7 -1
- package/dist/messages/cs.json +7 -1
- package/dist/messages/da.json +7 -1
- package/dist/messages/de.json +7 -1
- package/dist/messages/el.json +7 -1
- package/dist/messages/en.json +7 -1
- package/dist/messages/es.json +7 -1
- package/dist/messages/fa.json +7 -1
- package/dist/messages/fi.json +7 -1
- package/dist/messages/fr.json +7 -1
- package/dist/messages/he.json +7 -1
- package/dist/messages/hi.json +7 -1
- package/dist/messages/id.json +7 -1
- package/dist/messages/it.json +7 -1
- package/dist/messages/ja.json +7 -1
- package/dist/messages/ko.json +7 -1
- package/dist/messages/ms.json +7 -1
- package/dist/messages/nl.json +7 -1
- package/dist/messages/no.json +7 -1
- package/dist/messages/pl.json +7 -1
- package/dist/messages/pt.json +7 -1
- package/dist/messages/ro.json +7 -1
- package/dist/messages/sv.json +7 -1
- package/dist/messages/th.json +7 -1
- package/dist/messages/tr.json +7 -1
- package/dist/messages/uk.json +7 -1
- package/dist/messages/vi.json +7 -1
- package/dist/messages/zh.json +7 -1
- package/package.json +1 -1
- package/server.js +2 -17
- package/dist/assets/AuthContext-xM132UqD.js +0 -2
- package/dist/assets/AuthContext-xM132UqD.js.map +0 -1
- package/dist/assets/PdfAnnotationCanvas.client-LF6DDTCV-DjnFutDo.js +0 -2
- package/dist/assets/PdfAnnotationCanvas.client-LF6DDTCV-DjnFutDo.js.map +0 -1
- package/dist/assets/ToolbarPanels-Dq0eXjjR.js +0 -2
- package/dist/assets/ToolbarPanels-Dq0eXjjR.js.map +0 -1
- package/dist/assets/ar-3URRW77J-BgHZZOLD.js +0 -2
- package/dist/assets/ar-3URRW77J-BgHZZOLD.js.map +0 -1
- package/dist/assets/bn-DCQD3XZ5-a8MFRoWf.js +0 -2
- package/dist/assets/bn-DCQD3XZ5-a8MFRoWf.js.map +0 -1
- package/dist/assets/client-CmvSjN3K.js +0 -2
- package/dist/assets/client-Cxt1NUWp.js +0 -2
- package/dist/assets/client-D1NYe5bc.js +0 -2
- package/dist/assets/client-D5mudL5R.js +0 -2
- package/dist/assets/cs-23KOZUFE-BKDMuHSJ.js +0 -2
- package/dist/assets/cs-23KOZUFE-BKDMuHSJ.js.map +0 -1
- package/dist/assets/da-OIQ66A42-PSD9x0p6.js +0 -2
- package/dist/assets/da-OIQ66A42-PSD9x0p6.js.map +0 -1
- package/dist/assets/de-FCCLKE2X-D-mIACTN.js +0 -2
- package/dist/assets/de-FCCLKE2X-D-mIACTN.js.map +0 -1
- package/dist/assets/el-3ADITCGI-R9uL01ba.js +0 -2
- package/dist/assets/el-3ADITCGI-R9uL01ba.js.map +0 -1
- package/dist/assets/en-LNW2A3RA-CQBvSBCl.js +0 -136
- package/dist/assets/en-LNW2A3RA-CQBvSBCl.js.map +0 -1
- package/dist/assets/es-POQEEYIW-GYtOr1-U.js +0 -2
- package/dist/assets/es-POQEEYIW-GYtOr1-U.js.map +0 -1
- package/dist/assets/fa-RQPXVELG-CYYoB8V3.js +0 -2
- package/dist/assets/fa-RQPXVELG-CYYoB8V3.js.map +0 -1
- package/dist/assets/fi-UXOVOUGT-CCtELQFh.js +0 -2
- package/dist/assets/fi-UXOVOUGT-CCtELQFh.js.map +0 -1
- package/dist/assets/fr-6W2T3R7G-BHzGzKtv.js +0 -2
- package/dist/assets/fr-6W2T3R7G-BHzGzKtv.js.map +0 -1
- package/dist/assets/he-65UHPZIU-Be0-u6De.js +0 -2
- package/dist/assets/he-65UHPZIU-Be0-u6De.js.map +0 -1
- package/dist/assets/hi-SGJIVPTN-DzNg8bSF.js +0 -2
- package/dist/assets/hi-SGJIVPTN-DzNg8bSF.js.map +0 -1
- package/dist/assets/id-EYJJQCS2-CNqoDHx8.js +0 -2
- package/dist/assets/id-EYJJQCS2-CNqoDHx8.js.map +0 -1
- package/dist/assets/index-CZe1KZuP.css +0 -1
- package/dist/assets/index-IyxbPWuo.js.map +0 -1
- package/dist/assets/it-IZGQEDO7-Fnj60r5j.js +0 -2
- package/dist/assets/it-IZGQEDO7-Fnj60r5j.js.map +0 -1
- package/dist/assets/ja-SR272JSY-CJI0KETh.js +0 -2
- package/dist/assets/ja-SR272JSY-CJI0KETh.js.map +0 -1
- package/dist/assets/ko-YWTXVVXE-C01Ur29L.js +0 -2
- package/dist/assets/ko-YWTXVVXE-C01Ur29L.js.map +0 -1
- package/dist/assets/layout-5_En-vLB.js +0 -2
- package/dist/assets/layout-DF8lLIQx.js +0 -2
- package/dist/assets/layout-DF8lLIQx.js.map +0 -1
- package/dist/assets/layout-DYaEHeqB.js +0 -2
- package/dist/assets/layout-DYaEHeqB.js.map +0 -1
- package/dist/assets/layout-QdxLp1Jq.js +0 -6
- package/dist/assets/layout-QdxLp1Jq.js.map +0 -1
- package/dist/assets/ms-3K2XSJGM-Cy5ruqOy.js +0 -2
- package/dist/assets/ms-3K2XSJGM-Cy5ruqOy.js.map +0 -1
- package/dist/assets/nl-YIGP4SLE-Bd4rMBpn.js +0 -2
- package/dist/assets/nl-YIGP4SLE-Bd4rMBpn.js.map +0 -1
- package/dist/assets/no-IFYIL3ND-BuY6j8M1.js +0 -2
- package/dist/assets/no-IFYIL3ND-BuY6j8M1.js.map +0 -1
- package/dist/assets/page-4vdCvEL0.js +0 -2
- package/dist/assets/page-6Y-lDxnu.js +0 -2
- package/dist/assets/page-BUPqapmo.js +0 -2
- package/dist/assets/page-BUPqapmo.js.map +0 -1
- package/dist/assets/page-Bb2aSxYZ.js +0 -2
- package/dist/assets/page-CG2brhZf.js +0 -2
- package/dist/assets/page-CTn7lGDa.js +0 -2
- package/dist/assets/page-CTn7lGDa.js.map +0 -1
- package/dist/assets/page-CkeyIRf4.js +0 -2
- package/dist/assets/page-DA0znMx6.js +0 -2
- package/dist/assets/page-DA0znMx6.js.map +0 -1
- package/dist/assets/page-MyIklHT7.js +0 -2
- package/dist/assets/page-MyIklHT7.js.map +0 -1
- package/dist/assets/page-VpcpXQSK.js +0 -2
- package/dist/assets/page-bnSUmwNQ.js.map +0 -1
- package/dist/assets/page-n2Dj9C-v.js +0 -2
- package/dist/assets/pl-6MWSASJR-JUc86Y3e.js +0 -2
- package/dist/assets/pl-6MWSASJR-JUc86Y3e.js.map +0 -1
- package/dist/assets/pt-NZNN6WUN-BoRJoxUF.js +0 -2
- package/dist/assets/pt-NZNN6WUN-BoRJoxUF.js.map +0 -1
- package/dist/assets/ro-NF3SMUJS-BolW-qxZ.js +0 -2
- package/dist/assets/ro-NF3SMUJS-BolW-qxZ.js.map +0 -1
- package/dist/assets/routing-CBiIPmyX.js +0 -2
- package/dist/assets/routing-CBiIPmyX.js.map +0 -1
- package/dist/assets/sv-ZHM7GSTD-BJQebEes.js +0 -2
- package/dist/assets/sv-ZHM7GSTD-BJQebEes.js.map +0 -1
- package/dist/assets/th-LX4NO5BJ-PLcdn3k3.js +0 -2
- package/dist/assets/th-LX4NO5BJ-PLcdn3k3.js.map +0 -1
- package/dist/assets/tr-DZ4GDSRR-B9p6aQNC.js +0 -2
- package/dist/assets/tr-DZ4GDSRR-B9p6aQNC.js.map +0 -1
- package/dist/assets/uk-KC5KVVBY-CyfCqBoA.js +0 -2
- package/dist/assets/uk-KC5KVVBY-CyfCqBoA.js.map +0 -1
- package/dist/assets/useAuth-Bw_w8L0H.js +0 -2
- package/dist/assets/useAuth-Bw_w8L0H.js.map +0 -1
- package/dist/assets/vi-KNCR3OXZ-CWlV3YWY.js +0 -2
- package/dist/assets/vi-KNCR3OXZ-CWlV3YWY.js.map +0 -1
- package/dist/assets/zh-M2HV2A27-Pnzhdw9W.js +0 -2
- package/dist/assets/zh-M2HV2A27-Pnzhdw9W.js.map +0 -1
package/dist/messages/fi.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Resurssin tiedot",
|
|
6
6
|
"collaboration": "Yhteistyö",
|
|
7
7
|
"userAccount": "Käyttäjätili",
|
|
8
|
-
"settings": "Asetukset"
|
|
8
|
+
"settings": "Asetukset",
|
|
9
|
+
"knowledgeBase": "Tietokanta"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Resurssin tiedot",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Tilin luominen epäonnistui. Ota yhteyttä tukeen.",
|
|
534
535
|
"errorGeneric": "Tunnistautumisvirhe tapahtui. Yritä uudelleen.",
|
|
535
536
|
"errorGoogleSignIn": "Google-kirjautumisen aloittaminen epäonnistui. Yritä uudelleen.",
|
|
537
|
+
"backendUrlLabel": "Backend-URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Anna backend-URL",
|
|
540
|
+
"errorBackendUrlInvalid": "Anna kelvollinen URL-osoite (esim. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Tähän URL-osoitteeseen ei saada yhteyttä — onko taustajärjestelmä käynnissä?",
|
|
536
542
|
"errorEmailRequired": "Syötä sähköpostiosoitteesi",
|
|
537
543
|
"errorPasswordRequired": "Syötä salasanasi",
|
|
538
544
|
"errorSignInFailed": "Kirjautuminen epäonnistui. Yritä uudelleen.",
|
package/dist/messages/fr.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Informations sur la ressource",
|
|
6
6
|
"collaboration": "Collaboration",
|
|
7
7
|
"userAccount": "Compte utilisateur",
|
|
8
|
-
"settings": "Paramètres"
|
|
8
|
+
"settings": "Paramètres",
|
|
9
|
+
"knowledgeBase": "Base de connaissances"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Informations sur la ressource",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Impossible de créer le compte. Veuillez contacter le support.",
|
|
534
535
|
"errorGeneric": "Une erreur d'authentification s'est produite. Veuillez réessayer.",
|
|
535
536
|
"errorGoogleSignIn": "Impossible de lancer la connexion Google. Veuillez réessayer.",
|
|
537
|
+
"backendUrlLabel": "URL du backend",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Veuillez saisir l'URL du backend",
|
|
540
|
+
"errorBackendUrlInvalid": "Veuillez saisir une URL valide (ex. : http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Impossible d'atteindre cette URL — le backend est-il en cours d'exécution ?",
|
|
536
542
|
"errorEmailRequired": "Veuillez saisir votre adresse e-mail",
|
|
537
543
|
"errorPasswordRequired": "Veuillez saisir votre mot de passe",
|
|
538
544
|
"errorSignInFailed": "La connexion a échoué. Veuillez réessayer.",
|
package/dist/messages/he.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "מידע על המשאב",
|
|
6
6
|
"collaboration": "שיתוף פעולה",
|
|
7
7
|
"userAccount": "חשבון משתמש",
|
|
8
|
-
"settings": "הגדרות"
|
|
8
|
+
"settings": "הגדרות",
|
|
9
|
+
"knowledgeBase": "בסיס ידע"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "מידע על המשאב",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "יצירת החשבון נכשלה. אנא פנו לתמיכה.",
|
|
534
535
|
"errorGeneric": "אירעה שגיאת אימות. אנא נסו שוב.",
|
|
535
536
|
"errorGoogleSignIn": "ההתחברות דרך Google נכשלה. אנא נסו שוב.",
|
|
537
|
+
"backendUrlLabel": "כתובת URL של השרת",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "אנא הזן את כתובת ה-URL של השרת",
|
|
540
|
+
"errorBackendUrlInvalid": "נא להזין כתובת URL תקינה (לדוגמה: http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "לא ניתן להגיע לכתובת URL זו — האם ה-backend פועל?",
|
|
536
542
|
"errorEmailRequired": "אנא הזינו את כתובת הדוא\"ל שלכם",
|
|
537
543
|
"errorPasswordRequired": "אנא הזינו את הסיסמה שלכם",
|
|
538
544
|
"errorSignInFailed": "ההתחברות נכשלה. אנא נסו שוב.",
|
package/dist/messages/hi.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "संसाधन जानकारी",
|
|
6
6
|
"collaboration": "सहयोग",
|
|
7
7
|
"userAccount": "उपयोगकर्ता खाता",
|
|
8
|
-
"settings": "सेटिंग्स"
|
|
8
|
+
"settings": "सेटिंग्स",
|
|
9
|
+
"knowledgeBase": "ज्ञान आधार"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "संसाधन जानकारी",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "खाता बनाने में विफल। कृपया सहायता से संपर्क करें।",
|
|
534
535
|
"errorGeneric": "एक प्रमाणीकरण त्रुटि हुई। कृपया पुनः प्रयास करें।",
|
|
535
536
|
"errorGoogleSignIn": "Google साइन-इन आरंभ करने में विफल। कृपया पुनः प्रयास करें।",
|
|
537
|
+
"backendUrlLabel": "बैकएंड URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "कृपया बैकएंड URL दर्ज करें",
|
|
540
|
+
"errorBackendUrlInvalid": "कृपया एक मान्य URL दर्ज करें (उदा. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "उस URL तक नहीं पहुँचा जा सका — क्या बैकएंड चल रहा है?",
|
|
536
542
|
"errorEmailRequired": "कृपया अपना ईमेल पता दर्ज करें",
|
|
537
543
|
"errorPasswordRequired": "कृपया अपना पासवर्ड दर्ज करें",
|
|
538
544
|
"errorSignInFailed": "साइन इन करने में विफल। कृपया पुनः प्रयास करें।",
|
package/dist/messages/id.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Info Sumber Daya",
|
|
6
6
|
"collaboration": "Kolaborasi",
|
|
7
7
|
"userAccount": "Akun Pengguna",
|
|
8
|
-
"settings": "Pengaturan"
|
|
8
|
+
"settings": "Pengaturan",
|
|
9
|
+
"knowledgeBase": "Basis Pengetahuan"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Info Sumber Daya",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Gagal membuat akun. Silakan hubungi dukungan.",
|
|
534
535
|
"errorGeneric": "Terjadi kesalahan autentikasi. Silakan coba lagi.",
|
|
535
536
|
"errorGoogleSignIn": "Gagal memulai proses masuk Google. Silakan coba lagi.",
|
|
537
|
+
"backendUrlLabel": "URL Backend",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Harap masukkan URL backend",
|
|
540
|
+
"errorBackendUrlInvalid": "Masukkan URL yang valid (mis. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "URL tersebut tidak dapat dijangkau — apakah backend sedang berjalan?",
|
|
536
542
|
"errorEmailRequired": "Silakan masukkan alamat email Anda",
|
|
537
543
|
"errorPasswordRequired": "Silakan masukkan kata sandi Anda",
|
|
538
544
|
"errorSignInFailed": "Gagal masuk. Silakan coba lagi.",
|
package/dist/messages/it.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Info Risorsa",
|
|
6
6
|
"collaboration": "Collaborazione",
|
|
7
7
|
"userAccount": "Account Utente",
|
|
8
|
-
"settings": "Impostazioni"
|
|
8
|
+
"settings": "Impostazioni",
|
|
9
|
+
"knowledgeBase": "Base di conoscenza"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Info Risorsa",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Impossibile creare l'account. Contatta l'assistenza.",
|
|
534
535
|
"errorGeneric": "Si è verificato un errore di autenticazione. Riprova.",
|
|
535
536
|
"errorGoogleSignIn": "Impossibile avviare l'accesso con Google. Riprova.",
|
|
537
|
+
"backendUrlLabel": "URL del backend",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Inserisci l'URL del backend",
|
|
540
|
+
"errorBackendUrlInvalid": "Inserisci un URL valido (es. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Impossibile raggiungere quell'URL — il backend è in esecuzione?",
|
|
536
542
|
"errorEmailRequired": "Inserisci il tuo indirizzo email",
|
|
537
543
|
"errorPasswordRequired": "Inserisci la tua password",
|
|
538
544
|
"errorSignInFailed": "Accesso fallito. Riprova.",
|
package/dist/messages/ja.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "リソース情報",
|
|
6
6
|
"collaboration": "コラボレーション",
|
|
7
7
|
"userAccount": "ユーザーアカウント",
|
|
8
|
-
"settings": "設定"
|
|
8
|
+
"settings": "設定",
|
|
9
|
+
"knowledgeBase": "ナレッジベース"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "リソース情報",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "アカウントの作成に失敗しました。サポートにお問い合わせください。",
|
|
534
535
|
"errorGeneric": "認証エラーが発生しました。もう一度お試しください。",
|
|
535
536
|
"errorGoogleSignIn": "Googleサインインの開始に失敗しました。もう一度お試しください。",
|
|
537
|
+
"backendUrlLabel": "バックエンドURL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "バックエンドURLを入力してください",
|
|
540
|
+
"errorBackendUrlInvalid": "有効なURLを入力してください(例:http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "そのURLに接続できません——バックエンドは起動していますか?",
|
|
536
542
|
"errorEmailRequired": "メールアドレスを入力してください",
|
|
537
543
|
"errorPasswordRequired": "パスワードを入力してください",
|
|
538
544
|
"errorSignInFailed": "サインインに失敗しました。もう一度お試しください。",
|
package/dist/messages/ko.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "리소스 정보",
|
|
6
6
|
"collaboration": "협업",
|
|
7
7
|
"userAccount": "사용자 계정",
|
|
8
|
-
"settings": "설정"
|
|
8
|
+
"settings": "설정",
|
|
9
|
+
"knowledgeBase": "지식 베이스"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "리소스 정보",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "계정 생성에 실패했습니다. 지원팀에 문의해 주세요.",
|
|
534
535
|
"errorGeneric": "인증 오류가 발생했습니다. 다시 시도해 주세요.",
|
|
535
536
|
"errorGoogleSignIn": "Google 로그인을 시작하지 못했습니다. 다시 시도해 주세요.",
|
|
537
|
+
"backendUrlLabel": "백엔드 URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "백엔드 URL을 입력해 주세요",
|
|
540
|
+
"errorBackendUrlInvalid": "유효한 URL을 입력하세요 (예: http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "해당 URL에 연결할 수 없습니다 — 백엔드가 실행 중인가요?",
|
|
536
542
|
"errorEmailRequired": "이메일 주소를 입력해 주세요",
|
|
537
543
|
"errorPasswordRequired": "비밀번호를 입력해 주세요",
|
|
538
544
|
"errorSignInFailed": "로그인에 실패했습니다. 다시 시도해 주세요.",
|
package/dist/messages/ms.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Maklumat Sumber",
|
|
6
6
|
"collaboration": "Kolaborasi",
|
|
7
7
|
"userAccount": "Akaun Pengguna",
|
|
8
|
-
"settings": "Tetapan"
|
|
8
|
+
"settings": "Tetapan",
|
|
9
|
+
"knowledgeBase": "Pangkalan Pengetahuan"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Maklumat Sumber",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Gagal mencipta akaun. Sila hubungi sokongan.",
|
|
534
535
|
"errorGeneric": "Ralat pengesahan telah berlaku. Sila cuba lagi.",
|
|
535
536
|
"errorGoogleSignIn": "Gagal memulakan log masuk Google. Sila cuba lagi.",
|
|
537
|
+
"backendUrlLabel": "URL Backend",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Sila masukkan URL backend",
|
|
540
|
+
"errorBackendUrlInvalid": "Sila masukkan URL yang sah (cth. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "URL tersebut tidak dapat dicapai — adakah backend sedang berjalan?",
|
|
536
542
|
"errorEmailRequired": "Sila masukkan alamat e-mel anda",
|
|
537
543
|
"errorPasswordRequired": "Sila masukkan kata laluan anda",
|
|
538
544
|
"errorSignInFailed": "Gagal log masuk. Sila cuba lagi.",
|
package/dist/messages/nl.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Broninformatie",
|
|
6
6
|
"collaboration": "Samenwerking",
|
|
7
7
|
"userAccount": "Gebruikersaccount",
|
|
8
|
-
"settings": "Instellingen"
|
|
8
|
+
"settings": "Instellingen",
|
|
9
|
+
"knowledgeBase": "Kennisbank"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Broninformatie",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Account aanmaken mislukt. Neem contact op met ondersteuning.",
|
|
534
535
|
"errorGeneric": "Er is een authenticatiefout opgetreden. Probeer het opnieuw.",
|
|
535
536
|
"errorGoogleSignIn": "Google-aanmelding starten mislukt. Probeer het opnieuw.",
|
|
537
|
+
"backendUrlLabel": "Backend URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Voer de backend URL in",
|
|
540
|
+
"errorBackendUrlInvalid": "Voer een geldige URL in (bijv. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Die URL is niet bereikbaar — draait de backend?",
|
|
536
542
|
"errorEmailRequired": "Voer je e-mailadres in",
|
|
537
543
|
"errorPasswordRequired": "Voer je wachtwoord in",
|
|
538
544
|
"errorSignInFailed": "Inloggen mislukt. Probeer het opnieuw.",
|
package/dist/messages/no.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Ressursinfo",
|
|
6
6
|
"collaboration": "Samarbeid",
|
|
7
7
|
"userAccount": "Brukerkonto",
|
|
8
|
-
"settings": "Innstillinger"
|
|
8
|
+
"settings": "Innstillinger",
|
|
9
|
+
"knowledgeBase": "Kunnskapsbase"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Ressursinfo",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Kunne ikke opprette konto. Vennligst kontakt brukersstøtte.",
|
|
534
535
|
"errorGeneric": "Det oppstod en autentiseringsfeil. Vennligst prøv igjen.",
|
|
535
536
|
"errorGoogleSignIn": "Kunne ikke starte Google-innlogging. Vennligst prøv igjen.",
|
|
537
|
+
"backendUrlLabel": "Backend URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Vennligst skriv inn backend URL",
|
|
540
|
+
"errorBackendUrlInvalid": "Skriv inn en gyldig URL (f.eks. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Den URL-en er ikke tilgjengelig — kjører backend?",
|
|
536
542
|
"errorEmailRequired": "Vennligst skriv inn e-postadressen din",
|
|
537
543
|
"errorPasswordRequired": "Vennligst skriv inn passordet ditt",
|
|
538
544
|
"errorSignInFailed": "Innlogging mislyktes. Vennligst prøv igjen.",
|
package/dist/messages/pl.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Informacje o zasobie",
|
|
6
6
|
"collaboration": "Współpraca",
|
|
7
7
|
"userAccount": "Konto użytkownika",
|
|
8
|
-
"settings": "Ustawienia"
|
|
8
|
+
"settings": "Ustawienia",
|
|
9
|
+
"knowledgeBase": "Baza wiedzy"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Informacje o zasobie",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Nie udało się utworzyć konta. Skontaktuj się z pomocą techniczną.",
|
|
534
535
|
"errorGeneric": "Wystąpił błąd uwierzytelniania. Spróbuj ponownie.",
|
|
535
536
|
"errorGoogleSignIn": "Nie udało się zainicjować logowania przez Google. Spróbuj ponownie.",
|
|
537
|
+
"backendUrlLabel": "URL backendu",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Proszę podać URL backendu",
|
|
540
|
+
"errorBackendUrlInvalid": "Wprowadź prawidłowy adres URL (np. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Nie można połączyć się z tym adresem URL — czy backend działa?",
|
|
536
542
|
"errorEmailRequired": "Wprowadź swój adres e-mail",
|
|
537
543
|
"errorPasswordRequired": "Wprowadź hasło",
|
|
538
544
|
"errorSignInFailed": "Logowanie nie powiodło się. Spróbuj ponownie.",
|
package/dist/messages/pt.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Info do Recurso",
|
|
6
6
|
"collaboration": "Colaboracao",
|
|
7
7
|
"userAccount": "Conta do Usuario",
|
|
8
|
-
"settings": "Configuracoes"
|
|
8
|
+
"settings": "Configuracoes",
|
|
9
|
+
"knowledgeBase": "Base de conhecimento"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Info do Recurso",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Falha ao criar conta. Por favor, entre em contato com o suporte.",
|
|
534
535
|
"errorGeneric": "Ocorreu um erro de autenticacao. Por favor, tente novamente.",
|
|
535
536
|
"errorGoogleSignIn": "Falha ao iniciar o login com Google. Por favor, tente novamente.",
|
|
537
|
+
"backendUrlLabel": "URL do backend",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Por favor insira a URL do backend",
|
|
540
|
+
"errorBackendUrlInvalid": "Insira um URL válido (ex.: http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Não é possível aceder a esse URL — o backend está em execução?",
|
|
536
542
|
"errorEmailRequired": "Por favor, digite seu endereco de e-mail",
|
|
537
543
|
"errorPasswordRequired": "Por favor, digite sua senha",
|
|
538
544
|
"errorSignInFailed": "Falha ao entrar. Por favor, tente novamente.",
|
package/dist/messages/ro.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Info resursă",
|
|
6
6
|
"collaboration": "Colaborare",
|
|
7
7
|
"userAccount": "Cont utilizator",
|
|
8
|
-
"settings": "Setări"
|
|
8
|
+
"settings": "Setări",
|
|
9
|
+
"knowledgeBase": "Bază de cunoștințe"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Info resursă",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Crearea contului a eșuat. Vă rugăm să contactați asistența.",
|
|
534
535
|
"errorGeneric": "A apărut o eroare de autentificare. Vă rugăm să încercați din nou.",
|
|
535
536
|
"errorGoogleSignIn": "Nu s-a putut iniția autentificarea cu Google. Vă rugăm să încercați din nou.",
|
|
537
|
+
"backendUrlLabel": "URL backend",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Vă rugăm să introduceți URL-ul backend",
|
|
540
|
+
"errorBackendUrlInvalid": "Introduceți un URL valid (ex. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Acel URL nu este accesibil — rulează backend-ul?",
|
|
536
542
|
"errorEmailRequired": "Vă rugăm să introduceți adresa de e-mail",
|
|
537
543
|
"errorPasswordRequired": "Vă rugăm să introduceți parola",
|
|
538
544
|
"errorSignInFailed": "Autentificarea a eșuat. Vă rugăm să încercați din nou.",
|
package/dist/messages/sv.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Resursinformation",
|
|
6
6
|
"collaboration": "Samarbete",
|
|
7
7
|
"userAccount": "Användarkonto",
|
|
8
|
-
"settings": "Inställningar"
|
|
8
|
+
"settings": "Inställningar",
|
|
9
|
+
"knowledgeBase": "Kunskapsbas"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Resursinformation",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Det gick inte att skapa kontot. Kontakta supporten.",
|
|
534
535
|
"errorGeneric": "Ett autentiseringsfel inträffade. Försök igen.",
|
|
535
536
|
"errorGoogleSignIn": "Det gick inte att starta Google-inloggning. Försök igen.",
|
|
537
|
+
"backendUrlLabel": "Backend-URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Ange backend-URL",
|
|
540
|
+
"errorBackendUrlInvalid": "Ange en giltig URL (t.ex. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Den URL:en går inte att nå — körs backend?",
|
|
536
542
|
"errorEmailRequired": "Vänligen ange din e-postadress",
|
|
537
543
|
"errorPasswordRequired": "Vänligen ange ditt lösenord",
|
|
538
544
|
"errorSignInFailed": "Inloggningen misslyckades. Försök igen.",
|
package/dist/messages/th.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "ข้อมูลทรัพยากร",
|
|
6
6
|
"collaboration": "การทำงานร่วมกัน",
|
|
7
7
|
"userAccount": "บัญชีผู้ใช้",
|
|
8
|
-
"settings": "การตั้งค่า"
|
|
8
|
+
"settings": "การตั้งค่า",
|
|
9
|
+
"knowledgeBase": "ฐานความรู้"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "ข้อมูลทรัพยากร",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "ไม่สามารถสร้างบัญชีได้ กรุณาติดต่อฝ่ายสนับสนุน",
|
|
534
535
|
"errorGeneric": "เกิดข้อผิดพลาดในการยืนยันตัวตน กรุณาลองอีกครั้ง",
|
|
535
536
|
"errorGoogleSignIn": "ไม่สามารถเริ่มการเข้าสู่ระบบด้วย Google ได้ กรุณาลองอีกครั้ง",
|
|
537
|
+
"backendUrlLabel": "URL แบ็กเอนด์",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "กรุณาป้อน URL แบ็กเอนด์",
|
|
540
|
+
"errorBackendUrlInvalid": "กรุณาระบุ URL ที่ถูกต้อง (เช่น http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "ไม่สามารถเข้าถึง URL นั้นได้ — แบ็กเอนด์กำลังทำงานอยู่หรือไม่?",
|
|
536
542
|
"errorEmailRequired": "กรุณากรอกที่อยู่อีเมลของคุณ",
|
|
537
543
|
"errorPasswordRequired": "กรุณากรอกรหัสผ่านของคุณ",
|
|
538
544
|
"errorSignInFailed": "การเข้าสู่ระบบล้มเหลว กรุณาลองอีกครั้ง",
|
package/dist/messages/tr.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Kaynak Bilgisi",
|
|
6
6
|
"collaboration": "İşbirliği",
|
|
7
7
|
"userAccount": "Kullanıcı Hesabı",
|
|
8
|
-
"settings": "Ayarlar"
|
|
8
|
+
"settings": "Ayarlar",
|
|
9
|
+
"knowledgeBase": "Bilgi Tabanı"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Kaynak Bilgisi",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Hesap oluşturulamadı. Lütfen destek ile iletişime geçin.",
|
|
534
535
|
"errorGeneric": "Bir kimlik doğrulama hatası oluştu. Lütfen tekrar deneyin.",
|
|
535
536
|
"errorGoogleSignIn": "Google girişi başlatılamadı. Lütfen tekrar deneyin.",
|
|
537
|
+
"backendUrlLabel": "Backend URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Lütfen backend URL'sini girin",
|
|
540
|
+
"errorBackendUrlInvalid": "Lütfen geçerli bir URL girin (örn. http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Bu URL'ye ulaşılamıyor — backend çalışıyor mu?",
|
|
536
542
|
"errorEmailRequired": "Lütfen e-posta adresinizi girin",
|
|
537
543
|
"errorPasswordRequired": "Lütfen şifrenizi girin",
|
|
538
544
|
"errorSignInFailed": "Giriş yapılamadı. Lütfen tekrar deneyin.",
|
package/dist/messages/uk.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Інформація про ресурс",
|
|
6
6
|
"collaboration": "Співпраця",
|
|
7
7
|
"userAccount": "Обліковий запис",
|
|
8
|
-
"settings": "Налаштування"
|
|
8
|
+
"settings": "Налаштування",
|
|
9
|
+
"knowledgeBase": "База знань"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Інформація про ресурс",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Не вдалося створити обліковий запис. Будь ласка, зверніться до служби підтримки.",
|
|
534
535
|
"errorGeneric": "Виникла помилка автентифікації. Будь ласка, спробуйте ще раз.",
|
|
535
536
|
"errorGoogleSignIn": "Не вдалося розпочати вхід через Google. Будь ласка, спробуйте ще раз.",
|
|
537
|
+
"backendUrlLabel": "URL бекенду",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Будь ласка, введіть URL бекенду",
|
|
540
|
+
"errorBackendUrlInvalid": "Введіть дійсну URL-адресу (наприклад: http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Не вдається досягти цієї URL-адреси — чи запущено бекенд?",
|
|
536
542
|
"errorEmailRequired": "Будь ласка, введіть вашу адресу електронної пошти",
|
|
537
543
|
"errorPasswordRequired": "Будь ласка, введіть ваш пароль",
|
|
538
544
|
"errorSignInFailed": "Не вдалося увійти. Будь ласка, спробуйте ще раз.",
|
package/dist/messages/vi.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "Thông tin tài nguyên",
|
|
6
6
|
"collaboration": "Cộng tác",
|
|
7
7
|
"userAccount": "Tài khoản người dùng",
|
|
8
|
-
"settings": "Cài đặt"
|
|
8
|
+
"settings": "Cài đặt",
|
|
9
|
+
"knowledgeBase": "Cơ sở kiến thức"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "Thông tin tài nguyên",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "Không thể tạo tài khoản. Vui lòng liên hệ bộ phận hỗ trợ.",
|
|
534
535
|
"errorGeneric": "Đã xảy ra lỗi xác thực. Vui lòng thử lại.",
|
|
535
536
|
"errorGoogleSignIn": "Không thể khởi tạo đăng nhập Google. Vui lòng thử lại.",
|
|
537
|
+
"backendUrlLabel": "URL Backend",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "Vui lòng nhập URL backend",
|
|
540
|
+
"errorBackendUrlInvalid": "Vui lòng nhập URL hợp lệ (ví dụ: http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "Không thể kết nối đến URL đó — backend có đang chạy không?",
|
|
536
542
|
"errorEmailRequired": "Vui lòng nhập địa chỉ email của bạn",
|
|
537
543
|
"errorPasswordRequired": "Vui lòng nhập mật khẩu của bạn",
|
|
538
544
|
"errorSignInFailed": "Đăng nhập thất bại. Vui lòng thử lại.",
|
package/dist/messages/zh.json
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
"resourceInfo": "资源信息",
|
|
6
6
|
"collaboration": "协作",
|
|
7
7
|
"userAccount": "用户帐户",
|
|
8
|
-
"settings": "设置"
|
|
8
|
+
"settings": "设置",
|
|
9
|
+
"knowledgeBase": "知识库"
|
|
9
10
|
},
|
|
10
11
|
"ResourceInfoPanel": {
|
|
11
12
|
"title": "资源信息",
|
|
@@ -533,6 +534,11 @@
|
|
|
533
534
|
"errorCreateAccount": "创建帐户失败。请联系支持团队。",
|
|
534
535
|
"errorGeneric": "发生身份验证错误。请重试。",
|
|
535
536
|
"errorGoogleSignIn": "无法启动 Google 登录。请重试。",
|
|
537
|
+
"backendUrlLabel": "后端URL",
|
|
538
|
+
"backendUrlPlaceholder": "https://your-semiont-backend.example.com",
|
|
539
|
+
"errorBackendUrlRequired": "请输入后端URL",
|
|
540
|
+
"errorBackendUrlInvalid": "请输入有效的 URL(例如:http://localhost:4000)",
|
|
541
|
+
"errorBackendUrlUnreachable": "无法连接到该 URL——后端是否正在运行?",
|
|
536
542
|
"errorEmailRequired": "请输入您的电子邮件地址",
|
|
537
543
|
"errorPasswordRequired": "请输入您的密码",
|
|
538
544
|
"errorSignInFailed": "登录失败。请重试。",
|
package/package.json
CHANGED
package/server.js
CHANGED
|
@@ -4,11 +4,7 @@
|
|
|
4
4
|
* Serves the Vite-built dist/ directory with SPA fallback (all routes → index.html).
|
|
5
5
|
*
|
|
6
6
|
* Environment variables:
|
|
7
|
-
* PORT
|
|
8
|
-
* SEMIONT_BACKEND_URL - fallback backend URL if --bus is not passed
|
|
9
|
-
*
|
|
10
|
-
* Arguments:
|
|
11
|
-
* --bus <url> - backend URL injected into index.html as window.__SEMIONT_CONFIG__
|
|
7
|
+
* PORT - port to listen on (default: 3000)
|
|
12
8
|
*/
|
|
13
9
|
'use strict';
|
|
14
10
|
|
|
@@ -18,9 +14,6 @@ const path = require('path');
|
|
|
18
14
|
|
|
19
15
|
const PORT = parseInt(process.env.PORT || '3000', 10);
|
|
20
16
|
|
|
21
|
-
// --bus <url> sets the backend URL injected into the SPA at serve time
|
|
22
|
-
const busArgIndex = process.argv.indexOf('--bus');
|
|
23
|
-
const BUS_URL = busArgIndex !== -1 ? process.argv[busArgIndex + 1] : (process.env.SEMIONT_BACKEND_URL || '');
|
|
24
17
|
|
|
25
18
|
// dist/ is a sibling of this file in the published package
|
|
26
19
|
const DIST_DIR = path.join(__dirname, 'dist');
|
|
@@ -48,14 +41,6 @@ const MIME_TYPES = {
|
|
|
48
41
|
};
|
|
49
42
|
|
|
50
43
|
function serveFile(res, filePath, ext) {
|
|
51
|
-
if (ext === '.html') {
|
|
52
|
-
const html = fs.readFileSync(filePath, 'utf8');
|
|
53
|
-
const configScript = `<script>window.__SEMIONT_CONFIG__=${JSON.stringify({ backendURL: BUS_URL })};</script>`;
|
|
54
|
-
const injected = html.replace('</head>', `${configScript}</head>`);
|
|
55
|
-
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
56
|
-
res.end(injected);
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
44
|
const contentType = MIME_TYPES[ext] || 'application/octet-stream';
|
|
60
45
|
res.writeHead(200, { 'Content-Type': contentType });
|
|
61
46
|
fs.createReadStream(filePath).pipe(res);
|
|
@@ -77,7 +62,7 @@ const server = http.createServer((req, res) => {
|
|
|
77
62
|
return;
|
|
78
63
|
}
|
|
79
64
|
|
|
80
|
-
// SPA fallback: all non-file routes serve index.html
|
|
65
|
+
// SPA fallback: all non-file routes serve index.html
|
|
81
66
|
const indexPath = path.join(DIST_DIR, 'index.html');
|
|
82
67
|
if (!fs.existsSync(indexPath)) {
|
|
83
68
|
res.writeHead(500, { 'Content-Type': 'text/plain' });
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as f}from"./query-ATBhtd3K.js";import{r as e}from"./vendor-EnoIVk-c.js";import{a as E,c as C}from"./en-LNW2A3RA-CQBvSBCl.js";var S={},c;const x=typeof window<"u"&&((c=window.__SEMIONT_CONFIG__)==null?void 0:c.backendURL)||void 0||"",p=S.SEMIONT_GOOGLE_CLIENT_ID,l=e.createContext(void 0);function O({children:t}){const[n,s]=e.useState(null),[o,_]=e.useState(!0);e.useEffect(()=>{new E({baseUrl:C(x)}).getMe().then(a=>{s({token:a.token,user:a})}).catch(()=>{s(null)}).finally(()=>{_(!1)})},[]);const r=e.useCallback(u=>{s(u)},[]),i=e.useCallback(()=>{s(null)},[]),d=e.useMemo(()=>({session:n,isLoading:o,setSession:r,clearSession:i}),[n,o,r,i]);return f.jsx(l.Provider,{value:d,children:t})}function w(){const t=e.useContext(l);if(!t)throw new Error("useAuthContext must be used within AuthProvider");return t}export{O as A,p as S,x as a,w as u};
|
|
2
|
-
//# sourceMappingURL=AuthContext-xM132UqD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthContext-xM132UqD.js","sources":["../../src/lib/env.ts","../../src/contexts/AuthContext.tsx"],"sourcesContent":["// Environment configuration for Semiont Frontend\n// No validation at module load time - values are validated when actually used\n\n// SEMIONT_BACKEND_URL: Client-side backend URL used by the browser to call the API directly.\n// Injected at serve time via window.__SEMIONT_CONFIG__ (from server.js --bus arg).\n// Falls back to the build-time env var, then '' (relative URLs).\ndeclare global { interface Window { __SEMIONT_CONFIG__?: { backendURL?: string } } }\nexport const SEMIONT_BACKEND_URL =\n (typeof window !== 'undefined' && window.__SEMIONT_CONFIG__?.backendURL) ||\n (import.meta.env.SEMIONT_BACKEND_URL as string | undefined) ||\n '';\n\n// Site Configuration\nexport const SEMIONT_SITE_NAME = process.env.SEMIONT_SITE_NAME || 'Semiont';\nexport const SEMIONT_BASE_URL = process.env.SEMIONT_BASE_URL || 'http://localhost:3000';\n\n// OAuth Configuration\nexport const SEMIONT_GOOGLE_CLIENT_ID = process.env.SEMIONT_GOOGLE_CLIENT_ID;\n\n// OAuth allowed domains (comma-separated list)\nexport const SEMIONT_OAUTH_ALLOWED_DOMAINS = process.env.SEMIONT_OAUTH_ALLOWED_DOMAINS || '';\n\n// Environment helpers\nexport const isDevelopment = process.env.NODE_ENV === 'development';\nexport const isProduction = process.env.NODE_ENV === 'production';\n\n// Helper to parse allowed domains from comma-separated string\nexport function getAllowedDomains(): string[] {\n return SEMIONT_OAUTH_ALLOWED_DOMAINS\n .split(',')\n .map(d => d.trim())\n .filter(d => d.length > 0);\n}\n","import React, { createContext, useContext, useState, useEffect, useCallback, useMemo } from 'react';\nimport { SemiontApiClient } from '@semiont/api-client';\nimport type { components } from '@semiont/core';\nimport { baseUrl } from '@semiont/core';\nimport { SEMIONT_BACKEND_URL } from '@/lib/env';\n\ntype UserInfo = components['schemas']['UserResponse'];\n\nexport interface AuthSession {\n token: string;\n user: UserInfo;\n}\n\ninterface AuthContextValue {\n session: AuthSession | null;\n isLoading: boolean;\n setSession: (session: AuthSession) => void;\n clearSession: () => void;\n}\n\nconst AuthContext = createContext<AuthContextValue | undefined>(undefined);\n\nexport function AuthProvider({ children }: { children: React.ReactNode }) {\n const [session, setSessionState] = useState<AuthSession | null>(null);\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n const client = new SemiontApiClient({ baseUrl: baseUrl(SEMIONT_BACKEND_URL) });\n client.getMe()\n .then((data) => {\n setSessionState({ token: data.token, user: data });\n })\n .catch(() => {\n setSessionState(null);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, []);\n\n const setSession = useCallback((s: AuthSession) => {\n setSessionState(s);\n }, []);\n\n const clearSession = useCallback(() => {\n setSessionState(null);\n }, []);\n\n const value = useMemo(\n () => ({ session, isLoading, setSession, clearSession }),\n [session, isLoading, setSession, clearSession]\n );\n\n return <AuthContext.Provider value={value}>{children}</AuthContext.Provider>;\n}\n\nexport function useAuthContext(): AuthContextValue {\n const ctx = useContext(AuthContext);\n if (!ctx) throw new Error('useAuthContext must be used within AuthProvider');\n return ctx;\n}\n"],"names":["SEMIONT_BACKEND_URL","_a","SEMIONT_GOOGLE_CLIENT_ID","define_process_env_default","AuthContext","createContext","AuthProvider","children","session","setSessionState","useState","isLoading","setIsLoading","useEffect","SemiontApiClient","baseUrl","data","setSession","useCallback","s","clearSession","value","useMemo","jsx","useAuthContext","ctx","useContext"],"mappings":"iJAOO,MAAMA,EACV,OAAO,OAAW,OAAeC,EAAA,OAAO,qBAAP,YAAAA,EAA2B,aAC5D,QACD,GAOWC,EAA2BC,EAAY,yBCG9CC,EAAcC,EAAAA,cAA4C,MAAS,EAElE,SAASC,EAAa,CAAE,SAAAC,GAA2C,CACxE,KAAM,CAACC,EAASC,CAAe,EAAIC,EAAAA,SAA6B,IAAI,EAC9D,CAACC,EAAWC,CAAY,EAAIF,EAAAA,SAAS,EAAI,EAE/CG,EAAAA,UAAU,IAAM,CACC,IAAIC,EAAiB,CAAE,QAASC,EAAQf,CAAmB,EAAG,EACtE,MAAA,EACJ,KAAMgB,GAAS,CACdP,EAAgB,CAAE,MAAOO,EAAK,MAAO,KAAMA,EAAM,CACnD,CAAC,EACA,MAAM,IAAM,CACXP,EAAgB,IAAI,CACtB,CAAC,EACA,QAAQ,IAAM,CACbG,EAAa,EAAK,CACpB,CAAC,CACL,EAAG,CAAA,CAAE,EAEL,MAAMK,EAAaC,cAAaC,GAAmB,CACjDV,EAAgBU,CAAC,CACnB,EAAG,CAAA,CAAE,EAECC,EAAeF,EAAAA,YAAY,IAAM,CACrCT,EAAgB,IAAI,CACtB,EAAG,CAAA,CAAE,EAECY,EAAQC,EAAAA,QACZ,KAAO,CAAE,QAAAd,EAAS,UAAAG,EAAW,WAAAM,EAAY,aAAAG,CAAA,GACzC,CAACZ,EAASG,EAAWM,EAAYG,CAAY,CAAA,EAG/C,OAAOG,EAAAA,IAACnB,EAAY,SAAZ,CAAqB,MAAAiB,EAAe,SAAAd,CAAA,CAAS,CACvD,CAEO,SAASiB,GAAmC,CACjD,MAAMC,EAAMC,EAAAA,WAAWtB,CAAW,EAClC,GAAI,CAACqB,EAAK,MAAM,IAAI,MAAM,iDAAiD,EAC3E,OAAOA,CACT"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{M as dt,N as ut}from"./en-LNW2A3RA-CQBvSBCl.js";import{r as l}from"./vendor-EnoIVk-c.js";import{j as u}from"./query-ATBhtd3K.js";import"./index-IyxbPWuo.js";import"./i18n-BYxb14hm.js";function ht(t,i,n,s,o=1){const w=Math.min(t.startX,t.endX),k=Math.min(t.startY,t.endY),X=Math.max(t.startX,t.endX),D=Math.max(t.startY,t.endY),M=w/o,E=(X-w)/o,j=s-D/o,N=(D-k)/o;return{page:i,x:Math.round(M),y:Math.round(j),width:Math.round(E),height:Math.round(N)}}function J(t,i,n=1){const s=t.x*n,o=t.width*n,w=(i-t.y-t.height)*n,k=t.height*n;return{x:s,y:w,width:o,height:k}}function ft(t){return`page=${t.page}&viewrect=${t.x},${t.y},${t.width},${t.height}`}function K(t){try{const i=t.match(/page=(\d+)/);if(!i)return null;const n=parseInt(i[1],10),s=t.match(/viewrect=([\d.]+),([\d.]+),([\d.]+),([\d.]+)/);return s?{page:n,x:parseFloat(s[1]),y:parseFloat(s[2]),width:parseFloat(s[3]),height:parseFloat(s[4])}:null}catch{return null}}function gt(t){const i=t.match(/page=(\d+)/);return i?parseInt(i[1],10):null}async function pt(){return typeof window<"u"&&window.pdfjsLib?window.pdfjsLib:new Promise((t,i)=>{const n=document.createElement("script");n.src="/pdfjs/pdf.min.mjs",n.type="module",n.onload=()=>{const s=window.pdfjsLib;if(!s){i(new Error("PDF.js loaded but pdfjsLib not available"));return}s.GlobalWorkerOptions.workerSrc="/pdfjs/pdf.worker.min.mjs",t(s)},n.onerror=()=>{i(new Error("Failed to load PDF.js from /pdfjs/pdf.min.mjs"))},document.head.appendChild(n)})}async function mt(t){const i=await pt();if(typeof t=="string"){const n=await fetch(t,{credentials:"include",headers:{Accept:"application/pdf"}});if(!n.ok)throw new Error(`Failed to fetch PDF: ${n.status} ${n.statusText}`);const s=await n.arrayBuffer();return i.getDocument({data:s}).promise}else return i.getDocument({data:t}).promise}async function wt(t,i=1){const n=t.getViewport({scale:i}),s=document.createElement("canvas"),o=s.getContext("2d");if(!o)throw new Error("Failed to get 2D context");return s.width=n.width,s.height=n.height,await t.render({canvasContext:o,viewport:n}).promise,{dataUrl:s.toDataURL("image/png"),width:n.width,height:n.height}}function Q(t){if(!t)return{stroke:"rgb(156, 163, 175)",fill:"rgba(156, 163, 175, 0.2)"};switch(t){case"highlighting":return{stroke:"rgb(250, 204, 21)",fill:"rgba(250, 204, 21, 0.3)"};case"linking":return{stroke:"rgb(59, 130, 246)",fill:"rgba(59, 130, 246, 0.2)"};case"assessing":return{stroke:"rgb(239, 68, 68)",fill:"rgba(239, 68, 68, 0.2)"};case"commenting":return{stroke:"rgb(255, 255, 255)",fill:"rgba(255, 255, 255, 0.2)"};default:return{stroke:"rgb(156, 163, 175)",fill:"rgba(156, 163, 175, 0.2)"}}}function Dt({resourceUri:t,existingAnnotations:i=[],drawingMode:n,selectedMotivation:s,eventBus:o,hoveredAnnotationId:w,selectedAnnotationId:k,hoverDelayMs:X=150}){const D=l.useMemo(()=>`/api/resources/${t}`,[t]),[M,E]=l.useState(null),[j,N]=l.useState(0),[g,W]=l.useState(1),[C,Z]=l.useState(null),[H,L]=l.useState(!0),[$,T]=l.useState(null),[h,B]=l.useState(null),[p,U]=l.useState(null),[z]=l.useState(1.5),[S,y]=l.useState(!1),[a,b]=l.useState(null),tt=l.useRef(null),f=l.useRef(null);l.useEffect(()=>{let e=!1;async function r(){try{L(!0),T(null);const d=await mt(D);if(e)return;E(d),N(d.numPages),L(!1)}catch(d){if(e)return;console.error("Error loading PDF:",d),T("Failed to load PDF"),L(!1)}}return r(),()=>{e=!0}},[D]),l.useEffect(()=>{if(!M)return;let e=!1;const r=M;async function d(){try{const c=await r.getPage(g);if(e)return;const m=c.getViewport({scale:1});B({width:m.width,height:m.height});const{dataUrl:v}=await wt(c,z);if(e)return;Z(v)}catch(c){if(e)return;console.error("Error loading page:",c),T("Failed to load page")}}return d(),()=>{e=!0}},[M,g,z]),l.useEffect(()=>{const e=()=>{f.current&&U({width:f.current.clientWidth,height:f.current.clientHeight})};e();let r=null;try{r=new ResizeObserver(e),f.current&&r.observe(f.current)}catch{console.warn("ResizeObserver not supported, falling back to window resize listener"),window.addEventListener("resize",e)}return()=>{r?r.disconnect():window.removeEventListener("resize",e)}},[C]);const et=l.useCallback(e=>{if(!n||!f.current)return;const r=f.current.getBoundingClientRect(),d=e.clientX-r.left,c=e.clientY-r.top;y(!0),b({startX:d,startY:c,endX:d,endY:c})},[n]),nt=l.useCallback(e=>{if(!S||!a||!f.current)return;const r=f.current.getBoundingClientRect();b({...a,endX:e.clientX-r.left,endY:e.clientY-r.top})},[S,a]),rt=l.useCallback(()=>{if(!S||!a||!h||!p||!o){y(!1),b(null);return}if(Math.sqrt(Math.pow(a.endX-a.startX,2)+Math.pow(a.endY-a.startY,2))<10){if(i.length>0){const x=R.find(A=>{const F=I(A.target);if(!F)return!1;const P=K(F.value);if(!P)return!1;const _=J(P,h.height,1),q=p.width/h.width,O=p.height/h.height,G=_.x*q,V=_.y*O,ct=_.width*q,lt=_.height*O;return a.endX>=G&&a.endX<=G+ct&&a.endY>=V&&a.endY<=V+lt});if(x){o==null||o.get("browse:click").next({annotationId:x.id,motivation:x.motivation}),y(!1),b(null);return}}y(!1),b(null);return}const d=h.width/p.width,c=h.height/p.height,m={startX:a.startX*d,startY:a.startY*c,endX:a.endX*d,endY:a.endY*c},v=ht(m,g,h.width,h.height,1),Y=ft(v);s&&o.get("mark:requested").next({selector:{type:"FragmentSelector",conformsTo:"http://tools.ietf.org/rfc/rfc3778",value:Y},motivation:s}),y(!1)},[S,a,g,h,p,s,i]),I=e=>{const r=dt(e);if(!r)return null;const c=(Array.isArray(r)?r:[r]).find(m=>m.type==="FragmentSelector");return!c||c.type!=="FragmentSelector"?null:c},R=i.filter(e=>{const r=I(e.target);return r?gt(r.value)===g:!1}),{handleMouseEnter:at,handleMouseLeave:st}=l.useMemo(()=>ut(e=>o==null?void 0:o.get("beckon:hover").next({annotationId:e}),X),[o,X]),{stroke:ot,fill:it}=Q(s??null);return $?u.jsx("div",{className:"semiont-pdf-annotation-canvas__error",children:$}):u.jsxs("div",{className:"semiont-pdf-annotation-canvas",children:[H&&u.jsx("div",{className:"semiont-pdf-annotation-canvas__loading",children:"Loading PDF..."}),u.jsxs("div",{ref:tt,className:"semiont-pdf-annotation-canvas__container",style:{display:H?"none":void 0},onMouseDown:et,onMouseMove:nt,onMouseUp:rt,onMouseLeave:()=>{S&&(y(!1),b(null))},"data-drawing-mode":n||"none",children:[C&&u.jsx("img",{ref:f,src:C,alt:`PDF page ${g}`,className:"semiont-pdf-annotation-canvas__image",draggable:!1,style:{pointerEvents:"none"},onLoad:()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{f.current&&U({width:f.current.clientWidth,height:f.current.clientHeight})})})}}),p&&h&&u.jsx("div",{className:"semiont-pdf-annotation-canvas__overlay-container",children:u.jsx("div",{className:"semiont-pdf-annotation-canvas__overlay",children:u.jsxs("svg",{className:"semiont-pdf-annotation-canvas__svg",width:p.width,height:p.height,children:[R.map(e=>{const r=I(e.target);if(!r)return null;const d=K(r.value);if(!d)return null;const c=J(d,h.height,1),m=p.width/h.width,v=p.height/h.height,Y=e.id===w,x=e.id===k,A=e.motivation,{stroke:F,fill:P}=Q(A);return u.jsx("rect",{x:c.x*m,y:c.y*v,width:c.width*m,height:c.height*v,stroke:F,strokeWidth:x?4:Y?3:2,fill:P,style:{pointerEvents:"auto",cursor:"pointer",opacity:x?1:Y?.9:.7},onClick:()=>o==null?void 0:o.get("browse:click").next({annotationId:e.id,motivation:e.motivation}),onMouseEnter:()=>at(e.id),onMouseLeave:st},e.id)}),a&&(()=>{const e=Math.min(a.startX,a.endX),r=Math.min(a.startY,a.endY),d=Math.abs(a.endX-a.startX),c=Math.abs(a.endY-a.startY);return u.jsx("rect",{x:e,y:r,width:d,height:c,stroke:ot,strokeWidth:2,strokeDasharray:"5,5",fill:it,pointerEvents:"none"})})()]})})})]}),j>0&&u.jsxs("div",{className:"semiont-pdf-annotation-canvas__controls",children:[u.jsx("button",{disabled:g<=1,onClick:()=>W(g-1),className:"semiont-pdf-annotation-canvas__button",children:"Previous"}),u.jsxs("span",{className:"semiont-pdf-annotation-canvas__page-info",children:["Page ",g," of ",j]}),u.jsx("button",{disabled:g>=j,onClick:()=>W(g+1),className:"semiont-pdf-annotation-canvas__button",children:"Next"})]})]})}export{Dt as PdfAnnotationCanvas};
|
|
2
|
-
//# sourceMappingURL=PdfAnnotationCanvas.client-LF6DDTCV-DjnFutDo.js.map
|