@semiont/cli 0.4.14 → 0.4.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/cli.mjs +15470 -4962
  2. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-CMDe963r.js → ArrowsRightLeftIcon-BzLgl5o9.js} +2 -2
  3. package/dist/frontend/dist/assets/{ArrowsRightLeftIcon-CMDe963r.js.map → ArrowsRightLeftIcon-BzLgl5o9.js.map} +1 -1
  4. package/dist/frontend/dist/assets/{ChevronLeftIcon-CMXd_XZQ.js → ChevronLeftIcon-BLyRNZuL.js} +2 -2
  5. package/dist/frontend/dist/assets/{ChevronLeftIcon-CMXd_XZQ.js.map → ChevronLeftIcon-BLyRNZuL.js.map} +1 -1
  6. package/dist/frontend/dist/assets/{CommandLineIcon-BBerq9Nd.js → CommandLineIcon-Ba4gpk8e.js} +2 -2
  7. package/dist/frontend/dist/assets/{CommandLineIcon-BBerq9Nd.js.map → CommandLineIcon-Ba4gpk8e.js.map} +1 -1
  8. package/dist/frontend/dist/assets/{CookiePreferences-Cbur0STI.js → CookiePreferences-CO_BNHwm.js} +2 -2
  9. package/dist/frontend/dist/assets/{CookiePreferences-Cbur0STI.js.map → CookiePreferences-CO_BNHwm.js.map} +1 -1
  10. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CHDCGQBR-BLaEAPe0.js +2 -0
  11. package/dist/frontend/dist/assets/{PdfAnnotationCanvas.client-CW6SKH2U-DIkAGn7X.js.map → PdfAnnotationCanvas.client-CHDCGQBR-BLaEAPe0.js.map} +1 -1
  12. package/dist/frontend/dist/assets/StreamStatusContext-BNiTXRfJ.js +2 -0
  13. package/dist/frontend/dist/assets/{StreamStatusContext-BuPATpTz.js.map → StreamStatusContext-BNiTXRfJ.js.map} +1 -1
  14. package/dist/frontend/dist/assets/ToolbarPanels-DRHyLUHl.js +2 -0
  15. package/dist/frontend/dist/assets/ToolbarPanels-DRHyLUHl.js.map +1 -0
  16. package/dist/frontend/dist/assets/{XMarkIcon-6m9KVFaj.js → XMarkIcon-KMKD47CF.js} +2 -2
  17. package/dist/frontend/dist/assets/{XMarkIcon-6m9KVFaj.js.map → XMarkIcon-KMKD47CF.js.map} +1 -1
  18. package/dist/frontend/dist/assets/{browser-ponyfill-DkbQZCyF.js → browser-ponyfill-D2ngVqWO.js} +2 -2
  19. package/dist/frontend/dist/assets/{browser-ponyfill-DkbQZCyF.js.map → browser-ponyfill-D2ngVqWO.js.map} +1 -1
  20. package/dist/frontend/dist/assets/client-RpFyflU_.js +2 -0
  21. package/dist/frontend/dist/assets/{client-BiL3eI7d.js.map → client-RpFyflU_.js.map} +1 -1
  22. package/dist/frontend/dist/assets/{client-BnL1es01.js → client-bqO7W1Xj.js} +2 -2
  23. package/dist/frontend/dist/assets/{client-BnL1es01.js.map → client-bqO7W1Xj.js.map} +1 -1
  24. package/dist/frontend/dist/assets/{client-DrQUcCJy.js → client-ekxuarKC.js} +2 -2
  25. package/dist/frontend/dist/assets/{client-DrQUcCJy.js.map → client-ekxuarKC.js.map} +1 -1
  26. package/dist/frontend/dist/assets/{client-BPbsU2tc.js → client-xJTgSko3.js} +2 -2
  27. package/dist/frontend/dist/assets/{client-BPbsU2tc.js.map → client-xJTgSko3.js.map} +1 -1
  28. package/dist/frontend/dist/assets/{i18n-BYxb14hm.js → i18n-BbpF47i1.js} +2 -2
  29. package/dist/frontend/dist/assets/{i18n-BYxb14hm.js.map → i18n-BbpF47i1.js.map} +1 -1
  30. package/dist/frontend/dist/assets/{index-CNb3PHS7.css → index-BUe9tsov.css} +1 -1
  31. package/dist/frontend/dist/assets/index-XWcEpo5a.js +159 -0
  32. package/dist/frontend/dist/assets/index-XWcEpo5a.js.map +1 -0
  33. package/dist/frontend/dist/assets/layout-BFanPfv_.js +2 -0
  34. package/dist/frontend/dist/assets/layout-BFanPfv_.js.map +1 -0
  35. package/dist/frontend/dist/assets/layout-BN0UEIdX.js +2 -0
  36. package/dist/frontend/dist/assets/layout-BN0UEIdX.js.map +1 -0
  37. package/dist/frontend/dist/assets/layout-ChyKFPPP.js +2 -0
  38. package/dist/frontend/dist/assets/layout-ChyKFPPP.js.map +1 -0
  39. package/dist/frontend/dist/assets/layout-DmjP6diV.js +2 -0
  40. package/dist/frontend/dist/assets/layout-DmjP6diV.js.map +1 -0
  41. package/dist/frontend/dist/assets/{not-found-CwWw1pZc.js → not-found-BboGygIW.js} +2 -2
  42. package/dist/frontend/dist/assets/{not-found-CwWw1pZc.js.map → not-found-BboGygIW.js.map} +1 -1
  43. package/dist/frontend/dist/assets/page-8F47gNEm.js +2 -0
  44. package/dist/frontend/dist/assets/page-8F47gNEm.js.map +1 -0
  45. package/dist/frontend/dist/assets/page-8x98ZAYe.js +2 -0
  46. package/dist/frontend/dist/assets/{page-iSL5E639.js.map → page-8x98ZAYe.js.map} +1 -1
  47. package/dist/frontend/dist/assets/page-BaqIbrus.js +2 -0
  48. package/dist/frontend/dist/assets/{page-Deep7E5d.js.map → page-BaqIbrus.js.map} +1 -1
  49. package/dist/frontend/dist/assets/page-BfhPRgzq.js +2 -0
  50. package/dist/frontend/dist/assets/{page-ZBwMTeR-.js.map → page-BfhPRgzq.js.map} +1 -1
  51. package/dist/frontend/dist/assets/page-Bht4dePL.js +5 -0
  52. package/dist/frontend/dist/assets/{page-CelRTchO.js.map → page-Bht4dePL.js.map} +1 -1
  53. package/dist/frontend/dist/assets/page-BtqPeWyh.js +2 -0
  54. package/dist/frontend/dist/assets/page-BtqPeWyh.js.map +1 -0
  55. package/dist/frontend/dist/assets/{page-Dv386AZD.js → page-CG7C0ib3.js} +3 -3
  56. package/dist/frontend/dist/assets/{page-Dv386AZD.js.map → page-CG7C0ib3.js.map} +1 -1
  57. package/dist/frontend/dist/assets/page-CJnfSnRg.js +2 -0
  58. package/dist/frontend/dist/assets/page-CJnfSnRg.js.map +1 -0
  59. package/dist/frontend/dist/assets/page-Cct5hwIU.js +8 -0
  60. package/dist/frontend/dist/assets/{page-E99MPOn5.js.map → page-Cct5hwIU.js.map} +1 -1
  61. package/dist/frontend/dist/assets/page-CnJVZMgv.js +2 -0
  62. package/dist/frontend/dist/assets/page-CnJVZMgv.js.map +1 -0
  63. package/dist/frontend/dist/assets/page-CpbZG7nR.js +2 -0
  64. package/dist/frontend/dist/assets/{page-C5bIvv1V.js.map → page-CpbZG7nR.js.map} +1 -1
  65. package/dist/frontend/dist/assets/{page-D_nHe9FT.js → page-CzvERJKF.js} +2 -2
  66. package/dist/frontend/dist/assets/{page-D_nHe9FT.js.map → page-CzvERJKF.js.map} +1 -1
  67. package/dist/frontend/dist/assets/page-DB8grXzl.js +2 -0
  68. package/dist/frontend/dist/assets/{page-Zq6ARIvg.js.map → page-DB8grXzl.js.map} +1 -1
  69. package/dist/frontend/dist/assets/page-DI1MUp4X.js +2 -0
  70. package/dist/frontend/dist/assets/{page-xdXYx3nl.js.map → page-DI1MUp4X.js.map} +1 -1
  71. package/dist/frontend/dist/assets/{page-CslYhbgz.js → page-Dhi8hP-S.js} +2 -2
  72. package/dist/frontend/dist/assets/{page-CslYhbgz.js.map → page-Dhi8hP-S.js.map} +1 -1
  73. package/dist/frontend/dist/assets/{page-BmHLf-7O.js → page-FovvpNWp.js} +2 -2
  74. package/dist/frontend/dist/assets/{page-BmHLf-7O.js.map → page-FovvpNWp.js.map} +1 -1
  75. package/dist/frontend/dist/assets/{page-KtkB4tEv.js → page-T424mvNp.js} +2 -2
  76. package/dist/frontend/dist/assets/{page-KtkB4tEv.js.map → page-T424mvNp.js.map} +1 -1
  77. package/dist/frontend/dist/assets/{page-1BwlyTUj.js → page-knhbwxzQ.js} +2 -2
  78. package/dist/frontend/dist/assets/{page-1BwlyTUj.js.map → page-knhbwxzQ.js.map} +1 -1
  79. package/dist/frontend/dist/assets/privacy-B5TeXaed.js +2 -0
  80. package/dist/frontend/dist/assets/{privacy-DO1oxJpM.js.map → privacy-B5TeXaed.js.map} +1 -1
  81. package/dist/frontend/dist/assets/{query-ATBhtd3K.js → query-B6BuIB0M.js} +3 -3
  82. package/dist/frontend/dist/assets/{query-ATBhtd3K.js.map → query-B6BuIB0M.js.map} +1 -1
  83. package/dist/frontend/dist/assets/{routing-DMdXWYXo.js → routing-By_4TZHr.js} +2 -2
  84. package/dist/frontend/dist/assets/{routing-DMdXWYXo.js.map → routing-By_4TZHr.js.map} +1 -1
  85. package/dist/frontend/dist/assets/{routing-tJ_HbFRP.js → routing-vcvYfuPO.js} +2 -2
  86. package/dist/frontend/dist/assets/{routing-tJ_HbFRP.js.map → routing-vcvYfuPO.js.map} +1 -1
  87. package/dist/frontend/dist/assets/{vendor-EnoIVk-c.js → vendor-DJo4KD8w.js} +2 -2
  88. package/dist/frontend/dist/assets/{vendor-EnoIVk-c.js.map → vendor-DJo4KD8w.js.map} +1 -1
  89. package/dist/frontend/dist/index.html +5 -5
  90. package/dist/frontend/package.json +1 -1
  91. package/package.json +9 -9
  92. package/dist/frontend/dist/assets/PdfAnnotationCanvas.client-CW6SKH2U-DIkAGn7X.js +0 -2
  93. package/dist/frontend/dist/assets/StreamStatusContext-BuPATpTz.js +0 -2
  94. package/dist/frontend/dist/assets/ToolbarPanels-rN1MIRTV.js +0 -2
  95. package/dist/frontend/dist/assets/ToolbarPanels-rN1MIRTV.js.map +0 -1
  96. package/dist/frontend/dist/assets/client-BiL3eI7d.js +0 -2
  97. package/dist/frontend/dist/assets/en-IUV4ZXKH-BY1RKeLS.js +0 -135
  98. package/dist/frontend/dist/assets/en-IUV4ZXKH-BY1RKeLS.js.map +0 -1
  99. package/dist/frontend/dist/assets/index-DA31r_0s.js +0 -27
  100. package/dist/frontend/dist/assets/index-DA31r_0s.js.map +0 -1
  101. package/dist/frontend/dist/assets/layout-B8IinUdt.js +0 -2
  102. package/dist/frontend/dist/assets/layout-B8IinUdt.js.map +0 -1
  103. package/dist/frontend/dist/assets/layout-BjpW078f.js +0 -2
  104. package/dist/frontend/dist/assets/layout-BjpW078f.js.map +0 -1
  105. package/dist/frontend/dist/assets/layout-CDIjxs5a.js +0 -6
  106. package/dist/frontend/dist/assets/layout-CDIjxs5a.js.map +0 -1
  107. package/dist/frontend/dist/assets/layout-DKm9XdRr.js +0 -2
  108. package/dist/frontend/dist/assets/layout-DKm9XdRr.js.map +0 -1
  109. package/dist/frontend/dist/assets/page-BQ00VxR5.js +0 -2
  110. package/dist/frontend/dist/assets/page-BQ00VxR5.js.map +0 -1
  111. package/dist/frontend/dist/assets/page-C5bIvv1V.js +0 -2
  112. package/dist/frontend/dist/assets/page-CelRTchO.js +0 -5
  113. package/dist/frontend/dist/assets/page-Cf9cnqhC.js +0 -2
  114. package/dist/frontend/dist/assets/page-Cf9cnqhC.js.map +0 -1
  115. package/dist/frontend/dist/assets/page-DEjlNEY0.js +0 -2
  116. package/dist/frontend/dist/assets/page-DEjlNEY0.js.map +0 -1
  117. package/dist/frontend/dist/assets/page-DLtwpo78.js +0 -2
  118. package/dist/frontend/dist/assets/page-DLtwpo78.js.map +0 -1
  119. package/dist/frontend/dist/assets/page-Deep7E5d.js +0 -2
  120. package/dist/frontend/dist/assets/page-E99MPOn5.js +0 -8
  121. package/dist/frontend/dist/assets/page-ZBwMTeR-.js +0 -2
  122. package/dist/frontend/dist/assets/page-Zq6ARIvg.js +0 -2
  123. package/dist/frontend/dist/assets/page-iSL5E639.js +0 -2
  124. package/dist/frontend/dist/assets/page-xdXYx3nl.js +0 -2
  125. package/dist/frontend/dist/assets/privacy-DO1oxJpM.js +0 -2
  126. package/dist/frontend/dist/assets/useAuth-yUx5lBP5.js +0 -2
  127. package/dist/frontend/dist/assets/useAuth-yUx5lBP5.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import{j as e}from"./query-ATBhtd3K.js";import{r as m}from"./vendor-EnoIVk-c.js";import{P as u}from"./en-IUV4ZXKH-BY1RKeLS.js";import{C as T}from"./CookiePreferences-Cbur0STI.js";import{K as f}from"./privacy-DO1oxJpM.js";import{r as g,L as k}from"./routing-tJ_HbFRP.js";import{u as c}from"./i18n-BYxb14hm.js";import"./index-DA31r_0s.js";import"./XMarkIcon-6m9KVFaj.js";import"./routing-DMdXWYXo.js";function I(){const{t:r}=c(),s=(t,i)=>r(`Privacy.${t}`,i),{t:o}=c(),l=(t,i)=>o(`Footer.${t}`,i),{t:a}=c(),d=(t,i)=>a(`Navigation.${t}`,i),{t:h}=c(),x=(t,i)=>h(`Home.${t}`,i),n=m.useContext(f);return e.jsx(u,{Link:k,routes:g,t:l,tNav:d,tHome:x,CookiePreferences:T,...(n==null?void 0:n.openKeyboardHelp)&&{onOpenKeyboardHelp:n.openKeyboardHelp},className:"semiont-static-page",children:e.jsx("div",{className:"semiont-static-container",children:e.jsxs("div",{className:"semiont-static-content",children:[e.jsx("header",{className:"semiont-static-header",children:e.jsx("h1",{className:"semiont-static-title",children:s("pageTitle")})}),e.jsxs("article",{className:"semiont-static-article",children:[e.jsxs("section",{children:[e.jsx("h2",{children:s("introTitle")}),s("intro").split(`
1
+ import{j as e}from"./query-B6BuIB0M.js";import{r as m}from"./vendor-DJo4KD8w.js";import{P as u}from"./index-XWcEpo5a.js";import{C as T}from"./CookiePreferences-CO_BNHwm.js";import{K as f}from"./privacy-B5TeXaed.js";import{r as g,L as k}from"./routing-vcvYfuPO.js";import{u as c}from"./i18n-BbpF47i1.js";import"./XMarkIcon-KMKD47CF.js";import"./routing-By_4TZHr.js";function b(){const{t:r}=c(),s=(t,i)=>r(`Privacy.${t}`,i),{t:l}=c(),o=(t,i)=>l(`Footer.${t}`,i),{t:a}=c(),d=(t,i)=>a(`Navigation.${t}`,i),{t:h}=c(),x=(t,i)=>h(`Home.${t}`,i),n=m.useContext(f);return e.jsx(u,{Link:k,routes:g,t:o,tNav:d,tHome:x,CookiePreferences:T,...(n==null?void 0:n.openKeyboardHelp)&&{onOpenKeyboardHelp:n.openKeyboardHelp},className:"semiont-static-page",children:e.jsx("div",{className:"semiont-static-container",children:e.jsxs("div",{className:"semiont-static-content",children:[e.jsx("header",{className:"semiont-static-header",children:e.jsx("h1",{className:"semiont-static-title",children:s("pageTitle")})}),e.jsxs("article",{className:"semiont-static-article",children:[e.jsxs("section",{children:[e.jsx("h2",{children:s("introTitle")}),s("intro").split(`
2
2
 
3
3
  `).map((t,i)=>e.jsx("p",{children:t},i))]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("infoCollectTitle")}),e.jsx("h3",{children:s("personalInfoTitle")}),e.jsx("ul",{children:s("personalInfo").split(`
4
4
  `).map((t,i)=>e.jsx("li",{children:t},i))}),e.jsx("h3",{children:s("autoCollectTitle")}),e.jsx("ul",{children:s("autoCollect").split(`
@@ -16,5 +16,5 @@ import{j as e}from"./query-ATBhtd3K.js";import{r as m}from"./vendor-EnoIVk-c.js"
16
16
  `).map((t,i)=>e.jsx("li",{children:t},i))})]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("dataSecurityTitle")}),s("dataSecurity").split(`
17
17
 
18
18
  `).map((t,i)=>i===0?e.jsx("p",{children:t},i):e.jsx("ul",{children:t.split(`
19
- `).map((j,p)=>e.jsx("li",{children:j},p))},i))]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("dataRetentionTitle")}),e.jsx("p",{children:s("dataRetention")})]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("internationalTransfersTitle")}),e.jsx("p",{children:s("internationalTransfers")})]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("contactTitle")}),e.jsx("p",{children:s("contactIntro")}),e.jsx("div",{className:"semiont-static-info-box",children:e.jsxs("p",{children:[e.jsx("strong",{children:s("contactEmail")})," privacy@semiont.com",e.jsx("br",{}),e.jsx("strong",{children:s("contactAddress")})," [Your Company Address]"]})})]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("updatesTitle")}),e.jsx("p",{children:s("updates")}),e.jsx("footer",{className:"semiont-static-footer",children:e.jsx("p",{children:e.jsx("strong",{children:s("lastUpdated",{date:new Date().toLocaleDateString()})})})})]})]})]})})})}export{I as default};
20
- //# sourceMappingURL=page-Dv386AZD.js.map
19
+ `).map((j,p)=>e.jsx("li",{children:j},p))},i))]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("dataRetentionTitle")}),e.jsx("p",{children:s("dataRetention")})]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("internationalTransfersTitle")}),e.jsx("p",{children:s("internationalTransfers")})]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("contactTitle")}),e.jsx("p",{children:s("contactIntro")}),e.jsx("div",{className:"semiont-static-info-box",children:e.jsxs("p",{children:[e.jsx("strong",{children:s("contactEmail")})," privacy@semiont.com",e.jsx("br",{}),e.jsx("strong",{children:s("contactAddress")})," [Your Company Address]"]})})]}),e.jsxs("section",{children:[e.jsx("h2",{children:s("updatesTitle")}),e.jsx("p",{children:s("updates")}),e.jsx("footer",{className:"semiont-static-footer",children:e.jsx("p",{children:e.jsx("strong",{children:s("lastUpdated",{date:new Date().toLocaleDateString()})})})})]})]})]})})})}export{b as default};
20
+ //# sourceMappingURL=page-CG7C0ib3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-Dv386AZD.js","sources":["../../src/app/[locale]/privacy/page.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PageLayout } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\n\nexport default function PrivacyPolicyPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Privacy.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">{t('pageTitle')}</h1>\n </header>\n\n <article className=\"semiont-static-article\">\n <section>\n <h2>{t('introTitle')}</h2>\n {t('intro').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </section>\n\n <section>\n <h2>{t('infoCollectTitle')}</h2>\n\n <h3>{t('personalInfoTitle')}</h3>\n <ul>\n {t('personalInfo').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('autoCollectTitle')}</h3>\n <ul>\n {t('autoCollect').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('howWeUseTitle')}</h2>\n <ul>\n {t('howWeUse').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('cookiePolicyTitle')}</h2>\n <p>\n {t('cookiePolicyIntro')}\n </p>\n\n <h3>{t('cookieCategoriesTitle')}</h3>\n\n <div className=\"semiont-static-cookie-grid\">\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('necessaryCookiesTitle')}</h4>\n {t('necessaryCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('analyticsCookiesTitle')}</h4>\n {t('analyticsCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('marketingCookiesTitle')}</h4>\n {t('marketingCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('preferenceCookiesTitle')}</h4>\n {t('preferenceCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n </div>\n </section>\n\n <section>\n <h2>{t('yourRightsTitle')}</h2>\n\n <h3>{t('gdprRightsTitle')}</h3>\n <ul>\n {t('gdprRights').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('ccpaRightsTitle')}</h3>\n <ul>\n {t('ccpaRights').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('dataSecurityTitle')}</h2>\n {t('dataSecurity').split('\\n\\n').map((block, i) => {\n if (i === 0) {\n return (\n <p key={i}>\n {block}\n </p>\n );\n }\n return (\n <ul key={i}>\n {block.split('\\n').map((item, j) => (\n <li key={j}>{item}</li>\n ))}\n </ul>\n );\n })}\n </section>\n\n <section>\n <h2>{t('dataRetentionTitle')}</h2>\n <p>\n {t('dataRetention')}\n </p>\n </section>\n\n <section>\n <h2>{t('internationalTransfersTitle')}</h2>\n <p>\n {t('internationalTransfers')}\n </p>\n </section>\n\n <section>\n <h2>{t('contactTitle')}</h2>\n <p>\n {t('contactIntro')}\n </p>\n <div className=\"semiont-static-info-box\">\n <p>\n <strong>{t('contactEmail')}</strong> privacy@semiont.com<br />\n <strong>{t('contactAddress')}</strong> [Your Company Address]\n </p>\n </div>\n </section>\n\n <section>\n <h2>{t('updatesTitle')}</h2>\n <p>\n {t('updates')}\n </p>\n <footer className=\"semiont-static-footer\">\n <p>\n <strong>{t('lastUpdated', { date: new Date().toLocaleDateString() })}</strong>\n </p>\n </footer>\n </section>\n </article>\n </div>\n </div>\n </PageLayout>\n );\n}"],"names":["PrivacyPolicyPage","_t","useTranslation","t","k","p","_tFooter","tFooter","_tNav","tNav","_tHome","tHome","keyboardContext","useContext","KeyboardShortcutsContext","jsx","PageLayout","RoutingLink","routes","CookiePreferences","jsxs","para","item","block","j"],"mappings":"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"}
1
+ {"version":3,"file":"page-CG7C0ib3.js","sources":["../../src/app/[locale]/privacy/page.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PageLayout } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\n\nexport default function PrivacyPolicyPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Privacy.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">{t('pageTitle')}</h1>\n </header>\n\n <article className=\"semiont-static-article\">\n <section>\n <h2>{t('introTitle')}</h2>\n {t('intro').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </section>\n\n <section>\n <h2>{t('infoCollectTitle')}</h2>\n\n <h3>{t('personalInfoTitle')}</h3>\n <ul>\n {t('personalInfo').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('autoCollectTitle')}</h3>\n <ul>\n {t('autoCollect').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('howWeUseTitle')}</h2>\n <ul>\n {t('howWeUse').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('cookiePolicyTitle')}</h2>\n <p>\n {t('cookiePolicyIntro')}\n </p>\n\n <h3>{t('cookieCategoriesTitle')}</h3>\n\n <div className=\"semiont-static-cookie-grid\">\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('necessaryCookiesTitle')}</h4>\n {t('necessaryCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('analyticsCookiesTitle')}</h4>\n {t('analyticsCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('marketingCookiesTitle')}</h4>\n {t('marketingCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n\n <div className=\"semiont-static-cookie-card\">\n <h4>{t('preferenceCookiesTitle')}</h4>\n {t('preferenceCookies').split('\\n\\n').map((para, i) => (\n <p key={i}>\n {para}\n </p>\n ))}\n </div>\n </div>\n </section>\n\n <section>\n <h2>{t('yourRightsTitle')}</h2>\n\n <h3>{t('gdprRightsTitle')}</h3>\n <ul>\n {t('gdprRights').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n\n <h3>{t('ccpaRightsTitle')}</h3>\n <ul>\n {t('ccpaRights').split('\\n').map((item, i) => (\n <li key={i}>{item}</li>\n ))}\n </ul>\n </section>\n\n <section>\n <h2>{t('dataSecurityTitle')}</h2>\n {t('dataSecurity').split('\\n\\n').map((block, i) => {\n if (i === 0) {\n return (\n <p key={i}>\n {block}\n </p>\n );\n }\n return (\n <ul key={i}>\n {block.split('\\n').map((item, j) => (\n <li key={j}>{item}</li>\n ))}\n </ul>\n );\n })}\n </section>\n\n <section>\n <h2>{t('dataRetentionTitle')}</h2>\n <p>\n {t('dataRetention')}\n </p>\n </section>\n\n <section>\n <h2>{t('internationalTransfersTitle')}</h2>\n <p>\n {t('internationalTransfers')}\n </p>\n </section>\n\n <section>\n <h2>{t('contactTitle')}</h2>\n <p>\n {t('contactIntro')}\n </p>\n <div className=\"semiont-static-info-box\">\n <p>\n <strong>{t('contactEmail')}</strong> privacy@semiont.com<br />\n <strong>{t('contactAddress')}</strong> [Your Company Address]\n </p>\n </div>\n </section>\n\n <section>\n <h2>{t('updatesTitle')}</h2>\n <p>\n {t('updates')}\n </p>\n <footer className=\"semiont-static-footer\">\n <p>\n <strong>{t('lastUpdated', { date: new Date().toLocaleDateString() })}</strong>\n </p>\n </footer>\n </section>\n </article>\n </div>\n </div>\n </PageLayout>\n );\n}"],"names":["PrivacyPolicyPage","_t","useTranslation","t","k","p","_tFooter","tFooter","_tNav","tNav","_tHome","tHome","keyboardContext","useContext","KeyboardShortcutsContext","jsx","PageLayout","RoutingLink","routes","CookiePreferences","jsxs","para","item","block","j"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{j as l}from"./query-B6BuIB0M.js";import{r as t}from"./vendor-DJo4KD8w.js";import{e as h,f as g,g as v,h as f,Y as b,T as w,u as C,Z as y}from"./index-XWcEpo5a.js";import{T as D}from"./ToolbarPanels-DRHyLUHl.js";import{u as k}from"./i18n-BbpF47i1.js";import{F as T}from"./CommandLineIcon-Ba4gpk8e.js";import"./routing-By_4TZHr.js";import"./XMarkIcon-KMKD47CF.js";function L({title:s,titleId:e,...n},i){return t.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":e},n),s?t.createElement("title",{id:e},s):null,t.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z"}))}const x=t.forwardRef(L);function M({title:s,titleId:e,...n},i){return t.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:1.5,stroke:"currentColor","aria-hidden":"true","data-slot":"icon",ref:i,"aria-labelledby":e},n),s?t.createElement("title",{id:e},s):null,t.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z"}))}const E=t.forwardRef(M);function O(){const{isFullyAuthenticated:s,isAuthenticated:e,hasValidBackendToken:n}=C();return l.jsx(y,{isFullyAuthenticated:s,isAuthenticated:e,hasValidBackendToken:n})}function N(){const{t:s}=k(),e=(o,p)=>s(`AdminDevOps.${o}`,p),{activePanel:n}=h(),{theme:i,setTheme:a}=g(),{showLineNumbers:c,toggleLineNumbers:r}=v(),m=t.useCallback(({theme:o})=>{a(o)},[a]),u=t.useCallback(()=>{r()},[r]);f({"settings:theme-changed":m,"settings:line-numbers-toggled":u});const d=[{title:e("systemMonitoring"),description:e("systemMonitoringDescription"),icon:x,available:e("systemMonitoringCLI")},{title:e("serviceManagement"),description:e("serviceManagementDescription"),icon:E,available:e("serviceManagementCLI")},{title:e("deploymentControl"),description:e("deploymentControlDescription"),icon:T,available:e("deploymentControlCLI")}];return l.jsx(b,{suggestedFeatures:d,theme:i,showLineNumbers:c,activePanel:n,translations:{title:e("title"),subtitle:e("subtitle"),systemStatus:e("systemStatus"),cliOperations:e("cliOperations"),cliOperationsDescription:e("cliOperationsDescription"),cliTitle:e("cliTitle"),cliDescription:e("cliDescription")},StatusDisplay:O,ToolbarPanels:D,Toolbar:w})}export{N as default};
2
+ //# sourceMappingURL=page-CJnfSnRg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-CJnfSnRg.js","sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ChartBarIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ServerIcon.js","../../src/app/[locale]/admin/devops/page.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ChartBarIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 0 1 3 19.875v-6.75ZM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V8.625ZM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 0 1-1.125-1.125V4.125Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChartBarIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ServerIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M21.75 17.25v-.228a4.5 4.5 0 0 0-.12-1.03l-2.268-9.64a3.375 3.375 0 0 0-3.285-2.602H7.923a3.375 3.375 0 0 0-3.285 2.602l-2.268 9.64a4.5 4.5 0 0 0-.12 1.03v.228m19.5 0a3 3 0 0 1-3 3H5.25a3 3 0 0 1-3-3m19.5 0a3 3 0 0 0-3-3H5.25a3 3 0 0 0-3 3m16.5 0h.008v.008h-.008v-.008Zm-3 0h.008v.008h-.008v-.008Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ServerIcon);\nexport default ForwardRef;","/**\n * DevOps Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (translations, hooks)\n * and delegates rendering to the pure React AdminDevOpsPage component.\n */\n\nimport { useTranslation } from 'react-i18next';\nimport { useEffect, useCallback } from 'react';\nimport {\n ChartBarIcon,\n ServerIcon,\n CommandLineIcon\n} from '@heroicons/react/24/outline';\nimport { StatusDisplay, Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions, useKnowledgeBaseSession } from '@semiont/react-ui';\nimport { AdminDevOpsPage } from '@semiont/react-ui';\n\n// Wrapper component that provides auth props to StatusDisplay\nfunction StatusDisplayWithAuth() {\n const { isFullyAuthenticated, isAuthenticated, hasValidBackendToken } = useKnowledgeBaseSession();\n return (\n <StatusDisplay\n isFullyAuthenticated={isFullyAuthenticated}\n isAuthenticated={isAuthenticated}\n hasValidBackendToken={hasValidBackendToken}\n />\n );\n}\n\nexport default function DevOpsPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AdminDevOps.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n // Handle theme change events\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n // Handle line numbers toggle events\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n const suggestedFeatures = [\n {\n title: t('systemMonitoring'),\n description: t('systemMonitoringDescription'),\n icon: ChartBarIcon,\n available: t('systemMonitoringCLI')\n },\n {\n title: t('serviceManagement'),\n description: t('serviceManagementDescription'),\n icon: ServerIcon,\n available: t('serviceManagementCLI')\n },\n {\n title: t('deploymentControl'),\n description: t('deploymentControlDescription'),\n icon: CommandLineIcon,\n available: t('deploymentControlCLI')\n },\n ];\n\n return (\n <AdminDevOpsPage\n suggestedFeatures={suggestedFeatures}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n systemStatus: t('systemStatus'),\n cliOperations: t('cliOperations'),\n cliOperationsDescription: t('cliOperationsDescription'),\n cliTitle: t('cliTitle'),\n cliDescription: t('cliDescription'),\n }}\n StatusDisplay={StatusDisplayWithAuth}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["ChartBarIcon","title","titleId","props","svgRef","React.createElement","ForwardRef","React.forwardRef","ServerIcon","StatusDisplayWithAuth","isFullyAuthenticated","isAuthenticated","hasValidBackendToken","useKnowledgeBaseSession","jsx","StatusDisplay","DevOpsPage","_t","useTranslation","t","k","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","suggestedFeatures","CommandLineIcon","AdminDevOpsPage","ToolbarPanels","Toolbar"],"mappings":"iXACA,SAASA,EAAa,CACpB,MAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EAAGC,EAAQ,CACT,OAAoBC,gBAAoB,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAKD,EACL,kBAAmBF,CACvB,EAAKC,CAAK,EAAGF,EAAqBI,EAAAA,cAAoB,QAAS,CAC3D,GAAIH,CACR,EAAKD,CAAK,EAAI,KAAmBI,EAAAA,cAAoB,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,kcACP,CAAG,CAAC,CACJ,CACA,MAAMC,EAA2BC,EAAAA,WAAiBP,CAAY,ECvB9D,SAASQ,EAAW,CAClB,MAAAP,EACA,QAAAC,EACA,GAAGC,CACL,EAAGC,EAAQ,CACT,OAAoBC,gBAAoB,MAAO,OAAO,OAAO,CAC3D,MAAO,6BACP,KAAM,OACN,QAAS,YACT,YAAa,IACb,OAAQ,eACR,cAAe,OACf,YAAa,OACb,IAAKD,EACL,kBAAmBF,CACvB,EAAKC,CAAK,EAAGF,EAAqBI,EAAAA,cAAoB,QAAS,CAC3D,GAAIH,CACR,EAAKD,CAAK,EAAI,KAAmBI,EAAAA,cAAoB,OAAQ,CACzD,cAAe,QACf,eAAgB,QAChB,EAAG,2SACP,CAAG,CAAC,CACJ,CACA,MAAMC,EAA2BC,EAAAA,WAAiBC,CAAU,ECJ5D,SAASC,GAAwB,CAC/B,KAAM,CAAE,qBAAAC,EAAsB,gBAAAC,EAAiB,qBAAAC,CAAA,EAAyBC,EAAA,EACxE,OACEC,EAAAA,IAACC,EAAA,CACC,qBAAAL,EACA,gBAAAC,EACA,qBAAAC,CAAA,CAAA,CAGN,CAEA,SAAwBI,GAAa,CACnC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAW,IAAgCH,EAAG,eAAeG,CAAC,GAAI,CAAQ,EAG/E,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAGzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAGPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAED,MAAME,EAAoB,CACxB,CACE,MAAOd,EAAE,kBAAkB,EAC3B,YAAaA,EAAE,6BAA6B,EAC5C,KAAMnB,EACN,UAAWmB,EAAE,qBAAqB,CAAA,EAEpC,CACE,MAAOA,EAAE,mBAAmB,EAC5B,YAAaA,EAAE,8BAA8B,EAC7C,KAAMX,EACN,UAAWW,EAAE,sBAAsB,CAAA,EAErC,CACE,MAAOA,EAAE,mBAAmB,EAC5B,YAAaA,EAAE,8BAA8B,EAC7C,KAAMe,EACN,UAAWf,EAAE,sBAAsB,CAAA,CACrC,EAGF,OACEL,EAAAA,IAACqB,EAAA,CACC,kBAAAF,EACA,MAAAV,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,MAAOF,EAAE,OAAO,EAChB,SAAUA,EAAE,UAAU,EACtB,aAAcA,EAAE,cAAc,EAC9B,cAAeA,EAAE,eAAe,EAChC,yBAA0BA,EAAE,0BAA0B,EACtD,SAAUA,EAAE,UAAU,EACtB,eAAgBA,EAAE,gBAAgB,CAAA,EAEpC,cAAeV,EACf,cAAA2B,EACA,QAAAC,CAAA,CAAA,CAGN","x_google_ignoreList":[0,1]}
@@ -0,0 +1,8 @@
1
+ import{j as s}from"./query-B6BuIB0M.js";import{r as u}from"./vendor-DJo4KD8w.js";import{P as j,b as c}from"./index-XWcEpo5a.js";import{C as b}from"./CookiePreferences-CO_BNHwm.js";import{K as N}from"./privacy-B5TeXaed.js";import{r as f,L as g}from"./routing-vcvYfuPO.js";import{L as o}from"./routing-By_4TZHr.js";import{u as n}from"./i18n-BbpF47i1.js";import"./XMarkIcon-KMKD47CF.js";function K(){const{t:r}=n(),e=(t,i)=>r(`About.${t}`,i),{t:l}=n(),m=(t,i)=>l(`Footer.${t}`,i),{t:d}=n(),h=(t,i)=>d(`Navigation.${t}`,i),{t:p}=n(),x=(t,i)=>p(`Home.${t}`,i),a=u.useContext(N);return s.jsx(j,{Link:g,routes:f,t:m,tNav:h,tHome:x,showAuthLinks:!1,CookiePreferences:b,...(a==null?void 0:a.openKeyboardHelp)&&{onOpenKeyboardHelp:a.openKeyboardHelp},className:"semiont-static-page",children:s.jsx("div",{className:"semiont-static-container",children:s.jsxs("div",{className:"semiont-static-content",children:[s.jsxs("header",{className:"semiont-static-header",children:[s.jsx("h1",{className:"semiont-static-title",children:e("pageTitle")}),s.jsx("p",{className:"semiont-static-subtitle",children:e("tagline")})]}),s.jsxs("div",{className:"semiont-static-action-buttons",children:[s.jsx(o,{to:"/auth/signup",className:c.primary.base,children:e("signUp")}),s.jsx(o,{to:"/auth/connect?callbackUrl=/know",className:c.primary.base,children:e("signIn")})]}),s.jsxs("article",{className:"semiont-static-article",children:[s.jsxs("section",{children:[s.jsx("h2",{children:e("missionTitle")}),s.jsx("p",{children:e("mission")})]}),s.jsxs("section",{children:[s.jsx("h2",{children:e("coreFeaturesTitle")}),s.jsxs("div",{className:"semiont-static-feature-grid",children:[s.jsxs("div",{className:"semiont-static-feature-card",children:[s.jsx("span",{className:"semiont-static-feature-icon",children:"📊"}),s.jsx("h3",{children:e("semanticContentTitle")}),s.jsx("p",{className:"semiont-static-feature-subtitle",children:e("semanticContentSubtitle")}),e("semanticContent").split(`
2
+
3
+ `).map((t,i)=>s.jsx("p",{children:t},i)),s.jsx("span",{className:"semiont-static-badge semiont-static-badge-planned",children:e("planned")})]}),s.jsxs("div",{className:"semiont-static-feature-card",children:[s.jsx("span",{className:"semiont-static-feature-icon",children:"🤝"}),s.jsx("h3",{children:e("collaborationTitle")}),s.jsx("p",{className:"semiont-static-feature-subtitle",children:e("collaborationSubtitle")}),e("collaboration").split(`
4
+
5
+ `).map((t,i)=>s.jsx("p",{children:t},i)),s.jsx("span",{className:"semiont-static-badge semiont-static-badge-planned",children:e("planned")})]}),s.jsxs("div",{className:"semiont-static-feature-card",children:[s.jsx("span",{className:"semiont-static-feature-icon",children:"🔐"}),s.jsx("h3",{children:e("rbacTitle")}),s.jsx("p",{className:"semiont-static-feature-subtitle",children:e("rbacSubtitle")}),e("rbac").split(`
6
+
7
+ `).map((t,i)=>s.jsx("p",{children:t},i)),s.jsx("span",{className:"semiont-static-badge semiont-static-badge-planned",children:e("planned")})]})]})]}),s.jsxs("section",{className:"semiont-static-highlight",children:[s.jsx("h2",{children:e("openSourceTitle")}),s.jsx("p",{children:e("openSource")}),s.jsx("div",{className:"semiont-static-action-buttons",children:s.jsx("a",{href:"https://github.com/The-AI-Alliance/semiont",target:"_blank",rel:"noopener noreferrer",className:c.secondary.base,children:e("viewOnGitHub")})})]}),s.jsxs("section",{children:[s.jsx("h2",{children:e("futureVisionTitle")}),s.jsx("p",{children:e("futureVision")})]})]})]})})})}export{K as default};
8
+ //# sourceMappingURL=page-Cct5hwIU.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-E99MPOn5.js","sources":["../../src/app/[locale]/about/page.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PageLayout, buttonStyles } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\nimport { Link } from '@/i18n/routing';\n\nexport default function AboutPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`About.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n showAuthLinks={false}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n {/* Header */}\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">\n {t('pageTitle')}\n </h1>\n <p className=\"semiont-static-subtitle\">\n {t('tagline')}\n </p>\n </header>\n\n {/* Action Buttons */}\n <div className=\"semiont-static-action-buttons\">\n <Link\n to=\"/auth/signup\"\n className={buttonStyles.primary.base}\n >\n {t('signUp')}\n </Link>\n <Link\n to=\"/auth/connect?callbackUrl=/know\"\n className={buttonStyles.primary.base}\n >\n {t('signIn')}\n </Link>\n </div>\n\n <article className=\"semiont-static-article\">\n {/* Mission Section */}\n <section>\n <h2>{t('missionTitle')}</h2>\n <p>\n {t('mission')}\n </p>\n </section>\n\n {/* Features Section */}\n <section>\n <h2>{t('coreFeaturesTitle')}</h2>\n\n <div className=\"semiont-static-feature-grid\">\n {/* Semantic Content */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">📊</span>\n <h3>{t('semanticContentTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('semanticContentSubtitle')}\n </p>\n {t('semanticContent').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n\n {/* Real-time Collaboration */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">🤝</span>\n <h3>{t('collaborationTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('collaborationSubtitle')}\n </p>\n {t('collaboration').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n\n {/* Advanced RBAC */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">🔐</span>\n <h3>{t('rbacTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('rbacSubtitle')}\n </p>\n {t('rbac').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n </div>\n </section>\n\n {/* Open Source Section */}\n <section className=\"semiont-static-highlight\">\n <h2>{t('openSourceTitle')}</h2>\n <p>\n {t('openSource')}\n </p>\n <div className=\"semiont-static-action-buttons\">\n <a\n href=\"https://github.com/The-AI-Alliance/semiont\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={buttonStyles.secondary.base}\n >\n {t('viewOnGitHub')}\n </a>\n </div>\n </section>\n\n {/* Future Vision */}\n <section>\n <h2>{t('futureVisionTitle')}</h2>\n <p>\n {t('futureVision')}\n </p>\n </section>\n </article>\n </div>\n </div>\n </PageLayout>\n );\n}"],"names":["AboutPage","_t","useTranslation","t","k","p","_tFooter","tFooter","_tNav","tNav","_tHome","tHome","keyboardContext","useContext","KeyboardShortcutsContext","jsx","PageLayout","RoutingLink","routes","CookiePreferences","jsxs","Link","buttonStyles","para"],"mappings":"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"}
1
+ {"version":3,"file":"page-Cct5hwIU.js","sources":["../../src/app/[locale]/about/page.tsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { PageLayout, buttonStyles } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\nimport { Link } from '@/i18n/routing';\n\nexport default function AboutPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`About.${k}`, p as any) as string;\n const { t: _tFooter } = useTranslation();\n const tFooter = (k: string, p?: Record<string, unknown>) => _tFooter(`Footer.${k}`, p as any) as string;\n const { t: _tNav } = useTranslation();\n const tNav = (k: string, p?: Record<string, unknown>) => _tNav(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n showAuthLinks={false}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-static-page\"\n >\n <div className=\"semiont-static-container\">\n <div className=\"semiont-static-content\">\n {/* Header */}\n <header className=\"semiont-static-header\">\n <h1 className=\"semiont-static-title\">\n {t('pageTitle')}\n </h1>\n <p className=\"semiont-static-subtitle\">\n {t('tagline')}\n </p>\n </header>\n\n {/* Action Buttons */}\n <div className=\"semiont-static-action-buttons\">\n <Link\n to=\"/auth/signup\"\n className={buttonStyles.primary.base}\n >\n {t('signUp')}\n </Link>\n <Link\n to=\"/auth/connect?callbackUrl=/know\"\n className={buttonStyles.primary.base}\n >\n {t('signIn')}\n </Link>\n </div>\n\n <article className=\"semiont-static-article\">\n {/* Mission Section */}\n <section>\n <h2>{t('missionTitle')}</h2>\n <p>\n {t('mission')}\n </p>\n </section>\n\n {/* Features Section */}\n <section>\n <h2>{t('coreFeaturesTitle')}</h2>\n\n <div className=\"semiont-static-feature-grid\">\n {/* Semantic Content */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">📊</span>\n <h3>{t('semanticContentTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('semanticContentSubtitle')}\n </p>\n {t('semanticContent').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n\n {/* Real-time Collaboration */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">🤝</span>\n <h3>{t('collaborationTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('collaborationSubtitle')}\n </p>\n {t('collaboration').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n\n {/* Advanced RBAC */}\n <div className=\"semiont-static-feature-card\">\n <span className=\"semiont-static-feature-icon\">🔐</span>\n <h3>{t('rbacTitle')}</h3>\n <p className=\"semiont-static-feature-subtitle\">\n {t('rbacSubtitle')}\n </p>\n {t('rbac').split('\\n\\n').map((para, i) => (\n <p key={i}>{para}</p>\n ))}\n <span className=\"semiont-static-badge semiont-static-badge-planned\">\n {t('planned')}\n </span>\n </div>\n </div>\n </section>\n\n {/* Open Source Section */}\n <section className=\"semiont-static-highlight\">\n <h2>{t('openSourceTitle')}</h2>\n <p>\n {t('openSource')}\n </p>\n <div className=\"semiont-static-action-buttons\">\n <a\n href=\"https://github.com/The-AI-Alliance/semiont\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={buttonStyles.secondary.base}\n >\n {t('viewOnGitHub')}\n </a>\n </div>\n </section>\n\n {/* Future Vision */}\n <section>\n <h2>{t('futureVisionTitle')}</h2>\n <p>\n {t('futureVision')}\n </p>\n </section>\n </article>\n </div>\n </div>\n </PageLayout>\n );\n}"],"names":["AboutPage","_t","useTranslation","t","k","p","_tFooter","tFooter","_tNav","tNav","_tHome","tHome","keyboardContext","useContext","KeyboardShortcutsContext","jsx","PageLayout","RoutingLink","routes","CookiePreferences","jsxs","Link","buttonStyles","para"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import{j as r}from"./query-B6BuIB0M.js";import{a as x,r as g}from"./vendor-DJo4KD8w.js";import{a as j}from"./routing-By_4TZHr.js";import{r as m,u as E,i as S,t as w,v as f,w as L}from"./index-XWcEpo5a.js";import{r as P,L as y}from"./routing-vcvYfuPO.js";import{u as D}from"./StreamStatusContext-BNiTXRfJ.js";import{T as I}from"./ToolbarPanels-DRHyLUHl.js";import"./i18n-BbpF47i1.js";import"./XMarkIcon-KMKD47CF.js";function U(){const e=x(),d=j(),o=m(e==null?void 0:e.id),l=D(),{activeKnowledgeBase:s}=E(),p=S(),{data:t,isLoading:a,isError:u,error:c,refetch:n}=p.get.useQuery(o);if(g.useEffect(()=>{u&&!a&&console.error(`[Document] Failed to load resource ${o}:`,c)},[u,a,o,c]),a||!t)return r.jsx(w,{});if(u)return r.jsx(f,{error:c,onRetry:()=>n()});if(!t.resource)return r.jsx(f,{error:new Error("Resource not found"),onRetry:()=>n()});const i=t.resource,R=m(i["@id"]);return r.jsx(L,{resource:i,rUri:R,locale:d,Link:y,routes:P,ToolbarPanels:I,refetchDocument:n,streamStatus:l,knowledgeBaseName:s==null?void 0:s.label})}export{U as default};
2
+ //# sourceMappingURL=page-CnJVZMgv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-CnJVZMgv.js","sources":["../../src/app/[locale]/know/resource/[id]/page.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * Resource Viewer Page - Minimal Next.js routing wrapper\n *\n * Handles only Next.js routing and initial resource loading.\n * All other concerns (data loading, events, UI state) are handled by ResourceViewerPage.\n */\n\nimport { useEffect } from 'react';\nimport { useParams } from 'react-router-dom';\nimport { useLocale } from '@/i18n/routing';\nimport { useResources } from '@semiont/react-ui';\nimport { resourceId } from '@semiont/core';\nimport { Link, routes } from '@/lib/routing';\nimport { useStreamStatus } from '@/contexts/StreamStatusContext';\n\n// Feature components\nimport { ResourceLoadingState, ResourceErrorState, ResourceViewerPage, useKnowledgeBaseSession } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport type { SemiontResource } from '@semiont/react-ui';\n\n/**\n * Main page component - handles only routing and initial resource load\n */\nexport default function KnowledgeResourcePage() {\n const params = useParams();\n const locale = useLocale();\n\n // The URL param is the bare resource ID\n const rId = resourceId(params?.id as string);\n\n const streamStatus = useStreamStatus();\n const { activeKnowledgeBase } = useKnowledgeBaseSession();\n\n // Load only the resource descriptor - everything else is loaded by ResourceViewerPage\n const resources = useResources();\n const {\n data: docData,\n isLoading,\n isError,\n error,\n refetch: refetchDocument\n } = resources.get.useQuery(rId) as {\n data: { resource: SemiontResource } | undefined;\n isLoading: boolean;\n isError: boolean;\n error: unknown;\n refetch: () => Promise<unknown>;\n };\n\n // Log error for debugging\n useEffect(() => {\n if (isError && !isLoading) {\n console.error(`[Document] Failed to load resource ${rId}:`, error);\n }\n }, [isError, isLoading, rId, error]);\n\n // Early return: Loading state\n if (isLoading || !docData) {\n return <ResourceLoadingState />;\n }\n\n // Early return: Error state\n if (isError) {\n return <ResourceErrorState error={error} onRetry={() => refetchDocument()} />;\n }\n\n // Early return: ResourceDescriptor not found\n if (!docData.resource) {\n return <ResourceErrorState error={new Error('Resource not found')} onRetry={() => refetchDocument()} />;\n }\n\n const resource = docData.resource;\n // resource['@id'] is now a bare ID\n const canonicalId = resourceId(resource['@id']);\n\n // Render with minimal props - all data loading/events handled inside ResourceViewerPage\n return (\n <ResourceViewerPage\n resource={resource}\n rUri={canonicalId}\n locale={locale}\n Link={Link}\n routes={routes}\n ToolbarPanels={ToolbarPanels}\n refetchDocument={refetchDocument}\n streamStatus={streamStatus}\n knowledgeBaseName={activeKnowledgeBase?.label}\n />\n );\n}\n"],"names":["KnowledgeResourcePage","params","useParams","locale","useLocale","rId","resourceId","streamStatus","useStreamStatus","activeKnowledgeBase","useKnowledgeBaseSession","resources","useResources","docData","isLoading","isError","error","refetchDocument","useEffect","ResourceLoadingState","ResourceErrorState","jsx","resource","canonicalId","ResourceViewerPage","Link","routes","ToolbarPanels"],"mappings":"+ZAyBA,SAAwBA,GAAwB,CAC9C,MAAMC,EAASC,EAAA,EACTC,EAASC,EAAA,EAGTC,EAAMC,EAAWL,GAAA,YAAAA,EAAQ,EAAY,EAErCM,EAAeC,EAAA,EACf,CAAE,oBAAAC,CAAA,EAAwBC,EAAA,EAG1BC,EAAYC,EAAA,EACZ,CACJ,KAAMC,EACN,UAAAC,EACA,QAAAC,EACA,MAAAC,EACA,QAASC,CAAA,EACPN,EAAU,IAAI,SAASN,CAAG,EAgB9B,GAPAa,EAAAA,UAAU,IAAM,CACVH,GAAW,CAACD,GACd,QAAQ,MAAM,sCAAsCT,CAAG,IAAKW,CAAK,CAErE,EAAG,CAACD,EAASD,EAAWT,EAAKW,CAAK,CAAC,EAG/BF,GAAa,CAACD,EAChB,aAAQM,EAAA,EAAqB,EAI/B,GAAIJ,EACF,aAAQK,EAAA,CAAmB,MAAAJ,EAAc,QAAS,IAAMC,IAAmB,EAI7E,GAAI,CAACJ,EAAQ,SACX,OAAOQ,MAACD,EAAA,CAAmB,MAAO,IAAI,MAAM,oBAAoB,EAAG,QAAS,IAAMH,EAAA,EAAmB,EAGvG,MAAMK,EAAWT,EAAQ,SAEnBU,EAAcjB,EAAWgB,EAAS,KAAK,CAAC,EAG9C,OACED,EAAAA,IAACG,EAAA,CACC,SAAAF,EACA,KAAMC,EACN,OAAApB,EACA,KAAAsB,EACA,OAAAC,EACA,cAAAC,EACA,gBAAAV,EACA,aAAAV,EACA,kBAAmBE,GAAA,YAAAA,EAAqB,KAAA,CAAA,CAG9C"}
@@ -0,0 +1,2 @@
1
+ import{j as r}from"./query-B6BuIB0M.js";import{a as t}from"./routing-By_4TZHr.js";import{N as a}from"./vendor-DJo4KD8w.js";import"./index-XWcEpo5a.js";import"./i18n-BbpF47i1.js";function n(){const o=t();return r.jsx(a,{to:`/${o}/admin/users`,replace:!0})}export{n as default};
2
+ //# sourceMappingURL=page-CpbZG7nR.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-C5bIvv1V.js","sources":["../../src/app/[locale]/admin/page.tsx"],"sourcesContent":["import { Navigate } from 'react-router-dom';\nimport { useLocale } from '@/i18n/routing';\n\nexport default function AdminPage() {\n const locale = useLocale();\n return <Navigate to={`/${locale}/admin/users`} replace />;\n}\n"],"names":["AdminPage","locale","useLocale","Navigate"],"mappings":"kLAGA,SAAwBA,GAAY,CAClC,MAAMC,EAASC,EAAA,EACf,aAAQC,EAAA,CAAS,GAAI,IAAIF,CAAM,eAAgB,QAAO,GAAC,CACzD"}
1
+ {"version":3,"file":"page-CpbZG7nR.js","sources":["../../src/app/[locale]/admin/page.tsx"],"sourcesContent":["import { Navigate } from 'react-router-dom';\nimport { useLocale } from '@/i18n/routing';\n\nexport default function AdminPage() {\n const locale = useLocale();\n return <Navigate to={`/${locale}/admin/users`} replace />;\n}\n"],"names":["AdminPage","locale","useLocale","Navigate"],"mappings":"kLAGA,SAAwBA,GAAY,CAClC,MAAMC,EAASC,EAAA,EACf,aAAQC,EAAA,CAAS,GAAI,IAAIF,CAAM,eAAgB,QAAO,GAAC,CACzD"}
@@ -1,2 +1,2 @@
1
- import{j as t}from"./query-ATBhtd3K.js";import{r as a}from"./vendor-EnoIVk-c.js";import{u as l}from"./routing-DMdXWYXo.js";import{u as m}from"./i18n-BYxb14hm.js";import"./index-DA31r_0s.js";function g(){const{t:c}=m(),s=(e,i)=>c(`Sidebar.${e}`,i),r=l(),[o,n]=a.useState(!0);return a.useEffect(()=>{const e=localStorage.getItem("lastViewedDocumentId");e?r.replace(`/know/resource/${e}`):r.replace("/know/discover"),n(!1)},[r]),o?t.jsx("div",{className:"flex items-center justify-center py-20",children:t.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:s("loading")})}):t.jsx("div",{className:"flex items-center justify-center py-20",children:t.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:s("redirecting")})})}export{g as default};
2
- //# sourceMappingURL=page-D_nHe9FT.js.map
1
+ import{j as t}from"./query-B6BuIB0M.js";import{r as a}from"./vendor-DJo4KD8w.js";import{u as l}from"./routing-By_4TZHr.js";import{u as m}from"./i18n-BbpF47i1.js";import"./index-XWcEpo5a.js";function g(){const{t:c}=m(),s=(e,i)=>c(`Sidebar.${e}`,i),r=l(),[o,n]=a.useState(!0);return a.useEffect(()=>{const e=localStorage.getItem("lastViewedDocumentId");e?r.replace(`/know/resource/${e}`):r.replace("/know/discover"),n(!1)},[r]),o?t.jsx("div",{className:"flex items-center justify-center py-20",children:t.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:s("loading")})}):t.jsx("div",{className:"flex items-center justify-center py-20",children:t.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:s("redirecting")})})}export{g as default};
2
+ //# sourceMappingURL=page-CzvERJKF.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-D_nHe9FT.js","sources":["../../src/app/[locale]/know/page.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useRouter } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\n\nexport default function KnowledgePage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Sidebar.${k}`, p as any) as string;\n const router = useRouter();\n const [checking, setChecking] = useState(true);\n\n useEffect(() => {\n // Check if there's a last viewed document\n const lastDocumentId = localStorage.getItem('lastViewedDocumentId');\n \n if (lastDocumentId) {\n // If there's a last viewed document, go to it\n router.replace(`/know/resource/${lastDocumentId}`);\n } else {\n // Otherwise, go to Discover\n router.replace('/know/discover');\n }\n \n setChecking(false);\n }, [router]);\n\n if (checking) {\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('loading')}</p>\n </div>\n );\n }\n\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('redirecting')}</p>\n </div>\n );\n}"],"names":["KnowledgePage","_t","useTranslation","t","k","p","router","useRouter","checking","setChecking","useState","useEffect","lastDocumentId","jsx"],"mappings":"8LAIA,SAAwBA,GAAgB,CACtC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,WAAWG,CAAC,GAAIC,CAAQ,EAC3EC,EAASC,EAAA,EACT,CAACC,EAAUC,CAAW,EAAIC,EAAAA,SAAS,EAAI,EAiB7C,OAfAC,EAAAA,UAAU,IAAM,CAEd,MAAMC,EAAiB,aAAa,QAAQ,sBAAsB,EAE9DA,EAEFN,EAAO,QAAQ,kBAAkBM,CAAc,EAAE,EAGjDN,EAAO,QAAQ,gBAAgB,EAGjCG,EAAY,EAAK,CACnB,EAAG,CAACH,CAAM,CAAC,EAEPE,EAEAK,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAAV,EAAE,SAAS,CAAA,CAAE,EAChE,EAKFU,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAAV,EAAE,aAAa,CAAA,CAAE,EACpE,CAEJ"}
1
+ {"version":3,"file":"page-CzvERJKF.js","sources":["../../src/app/[locale]/know/page.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useRouter } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\n\nexport default function KnowledgePage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Sidebar.${k}`, p as any) as string;\n const router = useRouter();\n const [checking, setChecking] = useState(true);\n\n useEffect(() => {\n // Check if there's a last viewed document\n const lastDocumentId = localStorage.getItem('lastViewedDocumentId');\n \n if (lastDocumentId) {\n // If there's a last viewed document, go to it\n router.replace(`/know/resource/${lastDocumentId}`);\n } else {\n // Otherwise, go to Discover\n router.replace('/know/discover');\n }\n \n setChecking(false);\n }, [router]);\n\n if (checking) {\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('loading')}</p>\n </div>\n );\n }\n\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('redirecting')}</p>\n </div>\n );\n}"],"names":["KnowledgePage","_t","useTranslation","t","k","p","router","useRouter","checking","setChecking","useState","useEffect","lastDocumentId","jsx"],"mappings":"8LAIA,SAAwBA,GAAgB,CACtC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,WAAWG,CAAC,GAAIC,CAAQ,EAC3EC,EAASC,EAAA,EACT,CAACC,EAAUC,CAAW,EAAIC,EAAAA,SAAS,EAAI,EAiB7C,OAfAC,EAAAA,UAAU,IAAM,CAEd,MAAMC,EAAiB,aAAa,QAAQ,sBAAsB,EAE9DA,EAEFN,EAAO,QAAQ,kBAAkBM,CAAc,EAAE,EAGjDN,EAAO,QAAQ,gBAAgB,EAGjCG,EAAY,EAAK,CACnB,EAAG,CAACH,CAAM,CAAC,EAEPE,EAEAK,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAAV,EAAE,SAAS,CAAA,CAAE,EAChE,EAKFU,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAAV,EAAE,aAAa,CAAA,CAAE,EACpE,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as r}from"./query-B6BuIB0M.js";import{u as f,r as h}from"./vendor-DJo4KD8w.js";import{u as U,L as d}from"./routing-By_4TZHr.js";import{P as k,a as H}from"./index-XWcEpo5a.js";import{C as b}from"./CookiePreferences-CO_BNHwm.js";import{K as x}from"./privacy-B5TeXaed.js";import{r as y,L as A}from"./routing-vcvYfuPO.js";import{u as L}from"./i18n-BbpF47i1.js";import"./XMarkIcon-KMKD47CF.js";function S(){const{t:n}=L(),o=(t,e)=>n(`AuthSignUp.${t}`,e),i=(t,e)=>n(`Footer.${t}`,e),c=(t,e)=>n(`Navigation.${t}`,e),s=(t,e)=>n(`Home.${t}`,e),[p]=f(),m=U(),a=h.useContext(x),l=p.get("callbackUrl")??"/auth/welcome",u=async()=>{m.push(`/auth/connect?callbackUrl=${encodeURIComponent(l)}`)},g={pageTitle:o("pageTitle"),signUpPrompt:o("signUpPrompt"),signUpWithGoogle:o("signUpWithGoogle"),creatingAccount:o("creatingAccount"),approvedDomainsInfo:o("approvedDomainsInfo"),termsAgreement:o("termsAgreement"),alreadyHaveAccount:o("alreadyHaveAccount"),tagline:s("tagline"),backToHome:o("backToHome")};return r.jsx(k,{Link:A,routes:y,t:i,tNav:c,tHome:s,CookiePreferences:b,...(a==null?void 0:a.openKeyboardHelp)&&{onOpenKeyboardHelp:a.openKeyboardHelp},className:"semiont-page-layout--auth",showAuthLinks:!1,children:r.jsx(H,{onSignUp:u,Link:d,translations:g})})}function N(){return r.jsx(S,{})}export{N as default};
2
+ //# sourceMappingURL=page-DB8grXzl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-Zq6ARIvg.js","sources":["../../src/app/[locale]/auth/signup/page.tsx"],"sourcesContent":["import { useContext } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { useRouter } from '@/i18n/routing';\nimport { PageLayout, SignUpForm } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\nimport { Link } from '@/i18n/routing';\n\nfunction SignUpContent() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AuthSignUp.${k}`, p as any) as string;\n const tFooter = (k: string, p?: Record<string, unknown>) => _t(`Footer.${k}`, p as any) as string;\n const tNav = (k: string, p?: Record<string, unknown>) => _t(`Navigation.${k}`, p as any) as string;\n const tHome = (k: string, p?: Record<string, unknown>) => _t(`Home.${k}`, p as any) as string;\n const [searchParams] = useSearchParams();\n const router = useRouter();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n const callbackUrl = searchParams.get('callbackUrl') ?? '/auth/welcome';\n\n const handleSignUp = async () => {\n router.push(`/auth/connect?callbackUrl=${encodeURIComponent(callbackUrl)}`);\n };\n\n const translations = {\n pageTitle: t('pageTitle'),\n signUpPrompt: t('signUpPrompt'),\n signUpWithGoogle: t('signUpWithGoogle'),\n creatingAccount: t('creatingAccount'),\n approvedDomainsInfo: t('approvedDomainsInfo'),\n termsAgreement: t('termsAgreement'),\n alreadyHaveAccount: t('alreadyHaveAccount'),\n tagline: tHome('tagline'),\n backToHome: t('backToHome'),\n };\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-page-layout--auth\"\n showAuthLinks={false}\n >\n <SignUpForm onSignUp={handleSignUp} Link={Link} translations={translations} />\n </PageLayout>\n );\n}\n\nexport default function SignUp() {\n return <SignUpContent />;\n}\n"],"names":["SignUpContent","_t","useTranslation","t","k","p","tFooter","tNav","tHome","searchParams","useSearchParams","router","useRouter","keyboardContext","useContext","KeyboardShortcutsContext","callbackUrl","handleSignUp","translations","jsx","PageLayout","RoutingLink","routes","CookiePreferences","SignUpForm","Link","SignUp"],"mappings":"gbAUA,SAASA,GAAgB,CACvB,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,cAAcG,CAAC,GAAIC,CAAQ,EAC9EC,EAAU,CAACF,EAAWC,IAAgCJ,EAAG,UAAUG,CAAC,GAAIC,CAAQ,EAChFE,EAAO,CAACH,EAAWC,IAAgCJ,EAAG,cAAcG,CAAC,GAAIC,CAAQ,EACjFG,EAAQ,CAACJ,EAAWC,IAAgCJ,EAAG,QAAQG,CAAC,GAAIC,CAAQ,EAC5E,CAACI,CAAY,EAAIC,EAAA,EACjBC,EAASC,EAAA,EACTC,EAAkBC,EAAAA,WAAWC,CAAwB,EAErDC,EAAcP,EAAa,IAAI,aAAa,GAAK,gBAEjDQ,EAAe,SAAY,CAC/BN,EAAO,KAAK,6BAA6B,mBAAmBK,CAAW,CAAC,EAAE,CAC5E,EAEME,EAAe,CACnB,UAAWf,EAAE,WAAW,EACxB,aAAcA,EAAE,cAAc,EAC9B,iBAAkBA,EAAE,kBAAkB,EACtC,gBAAiBA,EAAE,iBAAiB,EACpC,oBAAqBA,EAAE,qBAAqB,EAC5C,eAAgBA,EAAE,gBAAgB,EAClC,mBAAoBA,EAAE,oBAAoB,EAC1C,QAASK,EAAM,SAAS,EACxB,WAAYL,EAAE,YAAY,CAAA,EAG5B,OACEgB,EAAAA,IAACC,EAAA,CACC,KAAMC,EACN,OAAAC,EACA,EAAGhB,EACH,KAAAC,EACA,MAAAC,EACA,kBAAAe,EACC,IAAIV,GAAA,YAAAA,EAAiB,mBAAoB,CAAE,mBAAoBA,EAAgB,gBAAA,EAChF,UAAU,4BACV,cAAe,GAEf,SAAAM,EAAAA,IAACK,EAAA,CAAW,SAAUP,EAAA,KAAcQ,EAAY,aAAAP,CAAA,CAA4B,CAAA,CAAA,CAGlF,CAEA,SAAwBQ,GAAS,CAC/B,aAAQ1B,EAAA,EAAc,CACxB"}
1
+ {"version":3,"file":"page-DB8grXzl.js","sources":["../../src/app/[locale]/auth/signup/page.tsx"],"sourcesContent":["import { useContext } from 'react';\nimport { useSearchParams } from 'react-router-dom';\nimport { useTranslation } from 'react-i18next';\nimport { useRouter } from '@/i18n/routing';\nimport { PageLayout, SignUpForm } from '@semiont/react-ui';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link as RoutingLink, routes } from '@/lib/routing';\nimport { Link } from '@/i18n/routing';\n\nfunction SignUpContent() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`AuthSignUp.${k}`, p as any) as string;\n const tFooter = (k: string, p?: Record<string, unknown>) => _t(`Footer.${k}`, p as any) as string;\n const tNav = (k: string, p?: Record<string, unknown>) => _t(`Navigation.${k}`, p as any) as string;\n const tHome = (k: string, p?: Record<string, unknown>) => _t(`Home.${k}`, p as any) as string;\n const [searchParams] = useSearchParams();\n const router = useRouter();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n\n const callbackUrl = searchParams.get('callbackUrl') ?? '/auth/welcome';\n\n const handleSignUp = async () => {\n router.push(`/auth/connect?callbackUrl=${encodeURIComponent(callbackUrl)}`);\n };\n\n const translations = {\n pageTitle: t('pageTitle'),\n signUpPrompt: t('signUpPrompt'),\n signUpWithGoogle: t('signUpWithGoogle'),\n creatingAccount: t('creatingAccount'),\n approvedDomainsInfo: t('approvedDomainsInfo'),\n termsAgreement: t('termsAgreement'),\n alreadyHaveAccount: t('alreadyHaveAccount'),\n tagline: tHome('tagline'),\n backToHome: t('backToHome'),\n };\n\n return (\n <PageLayout\n Link={RoutingLink}\n routes={routes}\n t={tFooter}\n tNav={tNav}\n tHome={tHome}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n className=\"semiont-page-layout--auth\"\n showAuthLinks={false}\n >\n <SignUpForm onSignUp={handleSignUp} Link={Link} translations={translations} />\n </PageLayout>\n );\n}\n\nexport default function SignUp() {\n return <SignUpContent />;\n}\n"],"names":["SignUpContent","_t","useTranslation","t","k","p","tFooter","tNav","tHome","searchParams","useSearchParams","router","useRouter","keyboardContext","useContext","KeyboardShortcutsContext","callbackUrl","handleSignUp","translations","jsx","PageLayout","RoutingLink","routes","CookiePreferences","SignUpForm","Link","SignUp"],"mappings":"8YAUA,SAASA,GAAgB,CACvB,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,cAAcG,CAAC,GAAIC,CAAQ,EAC9EC,EAAU,CAACF,EAAWC,IAAgCJ,EAAG,UAAUG,CAAC,GAAIC,CAAQ,EAChFE,EAAO,CAACH,EAAWC,IAAgCJ,EAAG,cAAcG,CAAC,GAAIC,CAAQ,EACjFG,EAAQ,CAACJ,EAAWC,IAAgCJ,EAAG,QAAQG,CAAC,GAAIC,CAAQ,EAC5E,CAACI,CAAY,EAAIC,EAAA,EACjBC,EAASC,EAAA,EACTC,EAAkBC,EAAAA,WAAWC,CAAwB,EAErDC,EAAcP,EAAa,IAAI,aAAa,GAAK,gBAEjDQ,EAAe,SAAY,CAC/BN,EAAO,KAAK,6BAA6B,mBAAmBK,CAAW,CAAC,EAAE,CAC5E,EAEME,EAAe,CACnB,UAAWf,EAAE,WAAW,EACxB,aAAcA,EAAE,cAAc,EAC9B,iBAAkBA,EAAE,kBAAkB,EACtC,gBAAiBA,EAAE,iBAAiB,EACpC,oBAAqBA,EAAE,qBAAqB,EAC5C,eAAgBA,EAAE,gBAAgB,EAClC,mBAAoBA,EAAE,oBAAoB,EAC1C,QAASK,EAAM,SAAS,EACxB,WAAYL,EAAE,YAAY,CAAA,EAG5B,OACEgB,EAAAA,IAACC,EAAA,CACC,KAAMC,EACN,OAAAC,EACA,EAAGhB,EACH,KAAAC,EACA,MAAAC,EACA,kBAAAe,EACC,IAAIV,GAAA,YAAAA,EAAiB,mBAAoB,CAAE,mBAAoBA,EAAgB,gBAAA,EAChF,UAAU,4BACV,cAAe,GAEf,SAAAM,EAAAA,IAACK,EAAA,CAAW,SAAUP,EAAA,KAAcQ,EAAY,aAAAP,CAAA,CAA4B,CAAA,CAAA,CAGlF,CAEA,SAAwBQ,GAAS,CAC/B,aAAQ1B,EAAA,EAAc,CACxB"}
@@ -0,0 +1,2 @@
1
+ import{j as u}from"./query-B6BuIB0M.js";import{r as n}from"./vendor-DJo4KD8w.js";import{e as g,f as h,g as T,h as d,D as b,T as f}from"./index-XWcEpo5a.js";import{T as D}from"./ToolbarPanels-DRHyLUHl.js";import{u as x}from"./i18n-BbpF47i1.js";import"./routing-By_4TZHr.js";import"./XMarkIcon-KMKD47CF.js";function E(){const{t:a}=x(),e=(t,p)=>a(`ModerateRecent.${t}`,p),{activePanel:i}=g(),{theme:r,setTheme:s}=h(),{showLineNumbers:c,toggleLineNumbers:o}=T(),l=n.useCallback(({theme:t})=>{s(t)},[s]),m=n.useCallback(()=>{o()},[o]);return d({"settings:theme-changed":l,"settings:line-numbers-toggled":m}),u.jsx(b,{hasDocuments:!1,isLoading:!1,theme:r,showLineNumbers:c,activePanel:i,translations:{pageTitle:e("pageTitle"),pageDescription:e("pageDescription"),sectionTitle:e("sectionTitle"),sectionDescription:e("sectionDescription"),noDocuments:e("noDocuments"),activityWillAppear:e("activityWillAppear"),loading:e("loading")},ToolbarPanels:D,Toolbar:f})}export{E as default};
2
+ //# sourceMappingURL=page-DI1MUp4X.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-xdXYx3nl.js","sources":["../../src/app/[locale]/moderate/recent/page.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { RecentDocumentsPage } from '@semiont/react-ui';\n\n// Authentication is handled by middleware (proxy.ts)\n// Only authenticated moderators/admins can reach this page\n\nexport default function RecentDocumentsPageWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`ModerateRecent.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n return (\n <RecentDocumentsPage\n hasDocuments={false}\n isLoading={false}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n pageTitle: t('pageTitle'),\n pageDescription: t('pageDescription'),\n sectionTitle: t('sectionTitle'),\n sectionDescription: t('sectionDescription'),\n noDocuments: t('noDocuments'),\n activityWillAppear: t('activityWillAppear'),\n loading: t('loading'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["RecentDocumentsPageWrapper","_t","useTranslation","t","k","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","jsx","RecentDocumentsPage","ToolbarPanels","Toolbar"],"mappings":"iXAUA,SAAwBA,GAA6B,CACnD,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAW,IAAgCH,EAAG,kBAAkBG,CAAC,GAAI,CAAQ,EAGlF,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAEzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAEPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtB,OAAAK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGCE,EAAAA,IAACC,EAAA,CACC,aAAc,GACd,UAAW,GACX,MAAAX,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,UAAWF,EAAE,WAAW,EACxB,gBAAiBA,EAAE,iBAAiB,EACpC,aAAcA,EAAE,cAAc,EAC9B,mBAAoBA,EAAE,oBAAoB,EAC1C,YAAaA,EAAE,aAAa,EAC5B,mBAAoBA,EAAE,oBAAoB,EAC1C,QAASA,EAAE,SAAS,CAAA,EAEtB,cAAAgB,EACA,QAAAC,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"page-DI1MUp4X.js","sources":["../../src/app/[locale]/moderate/recent/page.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { RecentDocumentsPage } from '@semiont/react-ui';\n\n// Authentication is handled by middleware (proxy.ts)\n// Only authenticated moderators/admins can reach this page\n\nexport default function RecentDocumentsPageWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`ModerateRecent.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n return (\n <RecentDocumentsPage\n hasDocuments={false}\n isLoading={false}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n pageTitle: t('pageTitle'),\n pageDescription: t('pageDescription'),\n sectionTitle: t('sectionTitle'),\n sectionDescription: t('sectionDescription'),\n noDocuments: t('noDocuments'),\n activityWillAppear: t('activityWillAppear'),\n loading: t('loading'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["RecentDocumentsPageWrapper","_t","useTranslation","t","k","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","jsx","RecentDocumentsPage","ToolbarPanels","Toolbar"],"mappings":"iTAUA,SAAwBA,GAA6B,CACnD,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAW,IAAgCH,EAAG,kBAAkBG,CAAC,GAAI,CAAQ,EAGlF,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAEzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAEPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtB,OAAAK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGCE,EAAAA,IAACC,EAAA,CACC,aAAc,GACd,UAAW,GACX,MAAAX,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,UAAWF,EAAE,WAAW,EACxB,gBAAiBA,EAAE,iBAAiB,EACpC,aAAcA,EAAE,cAAc,EAC9B,mBAAoBA,EAAE,oBAAoB,EAC1C,YAAaA,EAAE,aAAa,EAC5B,mBAAoBA,EAAE,oBAAoB,EAC1C,QAASA,EAAE,SAAS,CAAA,EAEtB,cAAAgB,EACA,QAAAC,CAAA,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- import{j as p}from"./query-ATBhtd3K.js";import{r as i}from"./vendor-EnoIVk-c.js";import{d as u,e as g,f as W,g as f,H as w,T as b}from"./en-IUV4ZXKH-BY1RKeLS.js";import{T as x}from"./ToolbarPanels-rN1MIRTV.js";import{u as T}from"./i18n-BYxb14hm.js";import"./index-DA31r_0s.js";import"./useAuth-yUx5lBP5.js";import"./routing-DMdXWYXo.js";import"./XMarkIcon-6m9KVFaj.js";var v={"legal-irac":{id:"legal-irac",name:"Legal Analysis (IRAC)",description:"Issue, Rule, Application, Conclusion framework for legal reasoning",domain:"legal",tags:[{name:"Issue",description:"The legal question or problem to be resolved",examples:["What is the central legal question?","What must the court decide?","What is the dispute about?"]},{name:"Rule",description:"The relevant law, statute, or legal principle",examples:["What law applies?","What is the legal standard?","What statute governs this case?"]},{name:"Application",description:"How the rule applies to the specific facts",examples:["How does the law apply to these facts?","Analysis of the case","How do the facts satisfy the legal standard?"]},{name:"Conclusion",description:"The resolution or outcome based on the analysis",examples:["What is the court's decision?","What is the final judgment?","What is the holding?"]}]},"scientific-imrad":{id:"scientific-imrad",name:"Scientific Paper (IMRAD)",description:"Introduction, Methods, Results, Discussion structure for research papers",domain:"scientific",tags:[{name:"Introduction",description:"Background, context, and research question",examples:["What is the research question?","Why is this important?","What is the hypothesis?"]},{name:"Methods",description:"Experimental design and procedures",examples:["How was the study conducted?","What methods were used?","What was the experimental design?"]},{name:"Results",description:"Findings and observations",examples:["What did the study find?","What are the data?","What were the observations?"]},{name:"Discussion",description:"Interpretation and implications of results",examples:["What do the results mean?","What are the implications?","How do these findings relate to prior work?"]}]},"argument-toulmin":{id:"argument-toulmin",name:"Argument Structure (Toulmin)",description:"Claim, Evidence, Warrant, Counterargument, Rebuttal framework for argumentation",domain:"general",tags:[{name:"Claim",description:"The main assertion or thesis",examples:["What is being argued?","What is the main point?","What position is being taken?"]},{name:"Evidence",description:"Data or facts supporting the claim",examples:["What supports this claim?","What are the facts?","What data is provided?"]},{name:"Warrant",description:"Reasoning connecting evidence to claim",examples:["Why does this evidence support the claim?","What is the logic?","How does this reasoning work?"]},{name:"Counterargument",description:"Opposing viewpoints or objections",examples:["What are the objections?","What do critics say?","What are alternative views?"]},{name:"Rebuttal",description:"Response to counterarguments",examples:["How is the objection addressed?","Why is the counterargument wrong?","How is the criticism answered?"]}]}};function y(){return Object.values(v)}function D(){const{t:n}=T(),e=(t,d)=>n(`ModerateTagSchemas.${t}`,d),{activePanel:o}=u(),{theme:r,setTheme:a}=g(),{showLineNumbers:c,toggleLineNumbers:s}=W(),l=i.useCallback(({theme:t})=>{a(t)},[a]),h=i.useCallback(()=>{s()},[s]);f({"settings:theme-changed":l,"settings:line-numbers-toggled":h});const m=y();return p.jsx(w,{schemas:m,isLoading:!1,theme:r,showLineNumbers:c,activePanel:o,translations:{pageTitle:e("pageTitle"),pageDescription:e("pageDescription"),categories:e("categories"),loading:e("loading")},ToolbarPanels:x,Toolbar:b})}export{D as default};
2
- //# sourceMappingURL=page-CslYhbgz.js.map
1
+ import{j as p}from"./query-B6BuIB0M.js";import{r as i}from"./vendor-DJo4KD8w.js";import{e as u,f as g,g as W,h as f,K as w,T as b}from"./index-XWcEpo5a.js";import{T as x}from"./ToolbarPanels-DRHyLUHl.js";import{u as T}from"./i18n-BbpF47i1.js";import"./routing-By_4TZHr.js";import"./XMarkIcon-KMKD47CF.js";var v={"legal-irac":{id:"legal-irac",name:"Legal Analysis (IRAC)",description:"Issue, Rule, Application, Conclusion framework for legal reasoning",domain:"legal",tags:[{name:"Issue",description:"The legal question or problem to be resolved",examples:["What is the central legal question?","What must the court decide?","What is the dispute about?"]},{name:"Rule",description:"The relevant law, statute, or legal principle",examples:["What law applies?","What is the legal standard?","What statute governs this case?"]},{name:"Application",description:"How the rule applies to the specific facts",examples:["How does the law apply to these facts?","Analysis of the case","How do the facts satisfy the legal standard?"]},{name:"Conclusion",description:"The resolution or outcome based on the analysis",examples:["What is the court's decision?","What is the final judgment?","What is the holding?"]}]},"scientific-imrad":{id:"scientific-imrad",name:"Scientific Paper (IMRAD)",description:"Introduction, Methods, Results, Discussion structure for research papers",domain:"scientific",tags:[{name:"Introduction",description:"Background, context, and research question",examples:["What is the research question?","Why is this important?","What is the hypothesis?"]},{name:"Methods",description:"Experimental design and procedures",examples:["How was the study conducted?","What methods were used?","What was the experimental design?"]},{name:"Results",description:"Findings and observations",examples:["What did the study find?","What are the data?","What were the observations?"]},{name:"Discussion",description:"Interpretation and implications of results",examples:["What do the results mean?","What are the implications?","How do these findings relate to prior work?"]}]},"argument-toulmin":{id:"argument-toulmin",name:"Argument Structure (Toulmin)",description:"Claim, Evidence, Warrant, Counterargument, Rebuttal framework for argumentation",domain:"general",tags:[{name:"Claim",description:"The main assertion or thesis",examples:["What is being argued?","What is the main point?","What position is being taken?"]},{name:"Evidence",description:"Data or facts supporting the claim",examples:["What supports this claim?","What are the facts?","What data is provided?"]},{name:"Warrant",description:"Reasoning connecting evidence to claim",examples:["Why does this evidence support the claim?","What is the logic?","How does this reasoning work?"]},{name:"Counterargument",description:"Opposing viewpoints or objections",examples:["What are the objections?","What do critics say?","What are alternative views?"]},{name:"Rebuttal",description:"Response to counterarguments",examples:["How is the objection addressed?","Why is the counterargument wrong?","How is the criticism answered?"]}]}};function y(){return Object.values(v)}function E(){const{t:n}=T(),e=(t,d)=>n(`ModerateTagSchemas.${t}`,d),{activePanel:o}=u(),{theme:r,setTheme:a}=g(),{showLineNumbers:c,toggleLineNumbers:s}=W(),l=i.useCallback(({theme:t})=>{a(t)},[a]),h=i.useCallback(()=>{s()},[s]);f({"settings:theme-changed":l,"settings:line-numbers-toggled":h});const m=y();return p.jsx(w,{schemas:m,isLoading:!1,theme:r,showLineNumbers:c,activePanel:o,translations:{pageTitle:e("pageTitle"),pageDescription:e("pageDescription"),categories:e("categories"),loading:e("loading")},ToolbarPanels:x,Toolbar:b})}export{E as default};
2
+ //# sourceMappingURL=page-Dhi8hP-S.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-CslYhbgz.js","sources":["../../../../packages/ontology/dist/index.js","../../src/app/[locale]/moderate/tag-schemas/page.tsx"],"sourcesContent":["// src/entity-types.ts\nvar DEFAULT_ENTITY_TYPES = [\n \"Person\",\n \"Organization\",\n \"Location\",\n \"Event\",\n \"Concept\",\n \"Product\",\n \"Technology\",\n \"Date\",\n \"Author\"\n];\n\n// src/tag-schemas.ts\nvar TAG_SCHEMAS = {\n \"legal-irac\": {\n id: \"legal-irac\",\n name: \"Legal Analysis (IRAC)\",\n description: \"Issue, Rule, Application, Conclusion framework for legal reasoning\",\n domain: \"legal\",\n tags: [\n {\n name: \"Issue\",\n description: \"The legal question or problem to be resolved\",\n examples: [\n \"What is the central legal question?\",\n \"What must the court decide?\",\n \"What is the dispute about?\"\n ]\n },\n {\n name: \"Rule\",\n description: \"The relevant law, statute, or legal principle\",\n examples: [\n \"What law applies?\",\n \"What is the legal standard?\",\n \"What statute governs this case?\"\n ]\n },\n {\n name: \"Application\",\n description: \"How the rule applies to the specific facts\",\n examples: [\n \"How does the law apply to these facts?\",\n \"Analysis of the case\",\n \"How do the facts satisfy the legal standard?\"\n ]\n },\n {\n name: \"Conclusion\",\n description: \"The resolution or outcome based on the analysis\",\n examples: [\n \"What is the court's decision?\",\n \"What is the final judgment?\",\n \"What is the holding?\"\n ]\n }\n ]\n },\n \"scientific-imrad\": {\n id: \"scientific-imrad\",\n name: \"Scientific Paper (IMRAD)\",\n description: \"Introduction, Methods, Results, Discussion structure for research papers\",\n domain: \"scientific\",\n tags: [\n {\n name: \"Introduction\",\n description: \"Background, context, and research question\",\n examples: [\n \"What is the research question?\",\n \"Why is this important?\",\n \"What is the hypothesis?\"\n ]\n },\n {\n name: \"Methods\",\n description: \"Experimental design and procedures\",\n examples: [\n \"How was the study conducted?\",\n \"What methods were used?\",\n \"What was the experimental design?\"\n ]\n },\n {\n name: \"Results\",\n description: \"Findings and observations\",\n examples: [\n \"What did the study find?\",\n \"What are the data?\",\n \"What were the observations?\"\n ]\n },\n {\n name: \"Discussion\",\n description: \"Interpretation and implications of results\",\n examples: [\n \"What do the results mean?\",\n \"What are the implications?\",\n \"How do these findings relate to prior work?\"\n ]\n }\n ]\n },\n \"argument-toulmin\": {\n id: \"argument-toulmin\",\n name: \"Argument Structure (Toulmin)\",\n description: \"Claim, Evidence, Warrant, Counterargument, Rebuttal framework for argumentation\",\n domain: \"general\",\n tags: [\n {\n name: \"Claim\",\n description: \"The main assertion or thesis\",\n examples: [\n \"What is being argued?\",\n \"What is the main point?\",\n \"What position is being taken?\"\n ]\n },\n {\n name: \"Evidence\",\n description: \"Data or facts supporting the claim\",\n examples: [\n \"What supports this claim?\",\n \"What are the facts?\",\n \"What data is provided?\"\n ]\n },\n {\n name: \"Warrant\",\n description: \"Reasoning connecting evidence to claim\",\n examples: [\n \"Why does this evidence support the claim?\",\n \"What is the logic?\",\n \"How does this reasoning work?\"\n ]\n },\n {\n name: \"Counterargument\",\n description: \"Opposing viewpoints or objections\",\n examples: [\n \"What are the objections?\",\n \"What do critics say?\",\n \"What are alternative views?\"\n ]\n },\n {\n name: \"Rebuttal\",\n description: \"Response to counterarguments\",\n examples: [\n \"How is the objection addressed?\",\n \"Why is the counterargument wrong?\",\n \"How is the criticism answered?\"\n ]\n }\n ]\n }\n};\nfunction getTagSchema(schemaId) {\n return TAG_SCHEMAS[schemaId] || null;\n}\nfunction getAllTagSchemas() {\n return Object.values(TAG_SCHEMAS);\n}\nfunction getTagSchemasByDomain(domain) {\n return Object.values(TAG_SCHEMAS).filter((schema) => schema.domain === domain);\n}\nfunction isValidCategory(schemaId, categoryName) {\n const schema = getTagSchema(schemaId);\n if (!schema) return false;\n return schema.tags.some((tag) => tag.name === categoryName);\n}\nfunction getSchemaCategory(schemaId, categoryName) {\n const schema = getTagSchema(schemaId);\n if (!schema) return null;\n return schema.tags.find((tag) => tag.name === categoryName) || null;\n}\n\n// src/entity-extraction.ts\nfunction getEntityTypes(annotation) {\n if (Array.isArray(annotation.body)) {\n const entityTags = [];\n for (const item of annotation.body) {\n if (typeof item === \"object\" && item !== null && \"type\" in item && \"value\" in item && \"purpose\" in item) {\n const itemType = item.type;\n const itemValue = item.value;\n const itemPurpose = item.purpose;\n if (itemType === \"TextualBody\" && itemPurpose === \"tagging\" && typeof itemValue === \"string\" && itemValue.length > 0) {\n entityTags.push(itemValue);\n }\n }\n }\n return entityTags;\n }\n return [];\n}\n\n// src/tag-extraction.ts\nfunction isTag(annotation) {\n return annotation.motivation === \"tagging\";\n}\nfunction getTagCategory(annotation) {\n if (!isTag(annotation)) return void 0;\n const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];\n const taggingBody = bodies.find(\n (b) => b !== null && typeof b === \"object\" && \"purpose\" in b && b.purpose === \"tagging\"\n );\n if (taggingBody && \"value\" in taggingBody) {\n return taggingBody.value;\n }\n return void 0;\n}\nfunction getTagSchemaId(annotation) {\n if (!isTag(annotation)) return void 0;\n const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];\n const classifyingBody = bodies.find(\n (b) => b !== null && typeof b === \"object\" && \"purpose\" in b && b.purpose === \"classifying\"\n );\n if (classifyingBody && \"value\" in classifyingBody) {\n return classifyingBody.value;\n }\n return void 0;\n}\nexport {\n DEFAULT_ENTITY_TYPES,\n TAG_SCHEMAS,\n getAllTagSchemas,\n getEntityTypes,\n getSchemaCategory,\n getTagCategory,\n getTagSchema,\n getTagSchemaId,\n getTagSchemasByDomain,\n isValidCategory\n};\n//# sourceMappingURL=index.js.map","import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { getAllTagSchemas } from '@semiont/ontology';\nimport { TagSchemasPage } from '@semiont/react-ui';\n\n// Authentication is handled by middleware (proxy.ts)\n// Only authenticated moderators/admins can reach this page\n\nexport default function TagSchemasPageWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`ModerateTagSchemas.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n const schemas = getAllTagSchemas();\n\n return (\n <TagSchemasPage\n schemas={schemas}\n isLoading={false}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n pageTitle: t('pageTitle'),\n pageDescription: t('pageDescription'),\n categories: t('categories'),\n loading: t('loading'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["TAG_SCHEMAS","getAllTagSchemas","TagSchemasPageWrapper","_t","useTranslation","t","k","p","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","schemas","jsx","TagSchemasPage","ToolbarPanels","Toolbar"],"mappings":"iXAcA,IAAIA,EAAc,CAChB,aAAc,CACZ,GAAI,aACJ,KAAM,wBACN,YAAa,qEACb,OAAQ,QACR,KAAM,CACJ,CACE,KAAM,QACN,YAAa,+CACb,SAAU,CACR,sCACA,8BACA,4BACV,CACA,EACM,CACE,KAAM,OACN,YAAa,gDACb,SAAU,CACR,oBACA,8BACA,iCACV,CACA,EACM,CACE,KAAM,cACN,YAAa,6CACb,SAAU,CACR,yCACA,uBACA,8CACV,CACA,EACM,CACE,KAAM,aACN,YAAa,kDACb,SAAU,CACR,gCACA,8BACA,sBACV,CACA,CACA,CACA,EACE,mBAAoB,CAClB,GAAI,mBACJ,KAAM,2BACN,YAAa,2EACb,OAAQ,aACR,KAAM,CACJ,CACE,KAAM,eACN,YAAa,6CACb,SAAU,CACR,iCACA,yBACA,yBACV,CACA,EACM,CACE,KAAM,UACN,YAAa,qCACb,SAAU,CACR,+BACA,0BACA,mCACV,CACA,EACM,CACE,KAAM,UACN,YAAa,4BACb,SAAU,CACR,2BACA,qBACA,6BACV,CACA,EACM,CACE,KAAM,aACN,YAAa,6CACb,SAAU,CACR,4BACA,6BACA,6CACV,CACA,CACA,CACA,EACE,mBAAoB,CAClB,GAAI,mBACJ,KAAM,+BACN,YAAa,kFACb,OAAQ,UACR,KAAM,CACJ,CACE,KAAM,QACN,YAAa,+BACb,SAAU,CACR,wBACA,0BACA,+BACV,CACA,EACM,CACE,KAAM,WACN,YAAa,qCACb,SAAU,CACR,4BACA,sBACA,wBACV,CACA,EACM,CACE,KAAM,UACN,YAAa,yCACb,SAAU,CACR,4CACA,qBACA,+BACV,CACA,EACM,CACE,KAAM,kBACN,YAAa,oCACb,SAAU,CACR,2BACA,uBACA,6BACV,CACA,EACM,CACE,KAAM,WACN,YAAa,+BACb,SAAU,CACR,kCACA,oCACA,gCACV,CACA,CACA,CACA,CACA,EAIA,SAASC,GAAmB,CAC1B,OAAO,OAAO,OAAOD,CAAW,CAClC,CCvJA,SAAwBE,GAAwB,CAC9C,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,sBAAsBG,CAAC,GAAIC,CAAQ,EAGtF,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAEzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAEPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAED,MAAME,EAAUnB,EAAA,EAEhB,OACEoB,EAAAA,IAACC,EAAA,CACC,QAAAF,EACA,UAAW,GACX,MAAAV,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,UAAWH,EAAE,WAAW,EACxB,gBAAiBA,EAAE,iBAAiB,EACpC,WAAYA,EAAE,YAAY,EAC1B,QAASA,EAAE,SAAS,CAAA,EAEtB,cAAAkB,EACA,QAAAC,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"page-Dhi8hP-S.js","sources":["../../../../packages/ontology/dist/index.js","../../src/app/[locale]/moderate/tag-schemas/page.tsx"],"sourcesContent":["// src/entity-types.ts\nvar DEFAULT_ENTITY_TYPES = [\n \"Person\",\n \"Organization\",\n \"Location\",\n \"Event\",\n \"Concept\",\n \"Product\",\n \"Technology\",\n \"Date\",\n \"Author\"\n];\n\n// src/tag-schemas.ts\nvar TAG_SCHEMAS = {\n \"legal-irac\": {\n id: \"legal-irac\",\n name: \"Legal Analysis (IRAC)\",\n description: \"Issue, Rule, Application, Conclusion framework for legal reasoning\",\n domain: \"legal\",\n tags: [\n {\n name: \"Issue\",\n description: \"The legal question or problem to be resolved\",\n examples: [\n \"What is the central legal question?\",\n \"What must the court decide?\",\n \"What is the dispute about?\"\n ]\n },\n {\n name: \"Rule\",\n description: \"The relevant law, statute, or legal principle\",\n examples: [\n \"What law applies?\",\n \"What is the legal standard?\",\n \"What statute governs this case?\"\n ]\n },\n {\n name: \"Application\",\n description: \"How the rule applies to the specific facts\",\n examples: [\n \"How does the law apply to these facts?\",\n \"Analysis of the case\",\n \"How do the facts satisfy the legal standard?\"\n ]\n },\n {\n name: \"Conclusion\",\n description: \"The resolution or outcome based on the analysis\",\n examples: [\n \"What is the court's decision?\",\n \"What is the final judgment?\",\n \"What is the holding?\"\n ]\n }\n ]\n },\n \"scientific-imrad\": {\n id: \"scientific-imrad\",\n name: \"Scientific Paper (IMRAD)\",\n description: \"Introduction, Methods, Results, Discussion structure for research papers\",\n domain: \"scientific\",\n tags: [\n {\n name: \"Introduction\",\n description: \"Background, context, and research question\",\n examples: [\n \"What is the research question?\",\n \"Why is this important?\",\n \"What is the hypothesis?\"\n ]\n },\n {\n name: \"Methods\",\n description: \"Experimental design and procedures\",\n examples: [\n \"How was the study conducted?\",\n \"What methods were used?\",\n \"What was the experimental design?\"\n ]\n },\n {\n name: \"Results\",\n description: \"Findings and observations\",\n examples: [\n \"What did the study find?\",\n \"What are the data?\",\n \"What were the observations?\"\n ]\n },\n {\n name: \"Discussion\",\n description: \"Interpretation and implications of results\",\n examples: [\n \"What do the results mean?\",\n \"What are the implications?\",\n \"How do these findings relate to prior work?\"\n ]\n }\n ]\n },\n \"argument-toulmin\": {\n id: \"argument-toulmin\",\n name: \"Argument Structure (Toulmin)\",\n description: \"Claim, Evidence, Warrant, Counterargument, Rebuttal framework for argumentation\",\n domain: \"general\",\n tags: [\n {\n name: \"Claim\",\n description: \"The main assertion or thesis\",\n examples: [\n \"What is being argued?\",\n \"What is the main point?\",\n \"What position is being taken?\"\n ]\n },\n {\n name: \"Evidence\",\n description: \"Data or facts supporting the claim\",\n examples: [\n \"What supports this claim?\",\n \"What are the facts?\",\n \"What data is provided?\"\n ]\n },\n {\n name: \"Warrant\",\n description: \"Reasoning connecting evidence to claim\",\n examples: [\n \"Why does this evidence support the claim?\",\n \"What is the logic?\",\n \"How does this reasoning work?\"\n ]\n },\n {\n name: \"Counterargument\",\n description: \"Opposing viewpoints or objections\",\n examples: [\n \"What are the objections?\",\n \"What do critics say?\",\n \"What are alternative views?\"\n ]\n },\n {\n name: \"Rebuttal\",\n description: \"Response to counterarguments\",\n examples: [\n \"How is the objection addressed?\",\n \"Why is the counterargument wrong?\",\n \"How is the criticism answered?\"\n ]\n }\n ]\n }\n};\nfunction getTagSchema(schemaId) {\n return TAG_SCHEMAS[schemaId] || null;\n}\nfunction getAllTagSchemas() {\n return Object.values(TAG_SCHEMAS);\n}\nfunction getTagSchemasByDomain(domain) {\n return Object.values(TAG_SCHEMAS).filter((schema) => schema.domain === domain);\n}\nfunction isValidCategory(schemaId, categoryName) {\n const schema = getTagSchema(schemaId);\n if (!schema) return false;\n return schema.tags.some((tag) => tag.name === categoryName);\n}\nfunction getSchemaCategory(schemaId, categoryName) {\n const schema = getTagSchema(schemaId);\n if (!schema) return null;\n return schema.tags.find((tag) => tag.name === categoryName) || null;\n}\n\n// src/entity-extraction.ts\nfunction getEntityTypes(annotation) {\n if (Array.isArray(annotation.body)) {\n const entityTags = [];\n for (const item of annotation.body) {\n if (typeof item === \"object\" && item !== null && \"type\" in item && \"value\" in item && \"purpose\" in item) {\n const itemType = item.type;\n const itemValue = item.value;\n const itemPurpose = item.purpose;\n if (itemType === \"TextualBody\" && itemPurpose === \"tagging\" && typeof itemValue === \"string\" && itemValue.length > 0) {\n entityTags.push(itemValue);\n }\n }\n }\n return entityTags;\n }\n return [];\n}\n\n// src/tag-extraction.ts\nfunction isTag(annotation) {\n return annotation.motivation === \"tagging\";\n}\nfunction getTagCategory(annotation) {\n if (!isTag(annotation)) return void 0;\n const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];\n const taggingBody = bodies.find(\n (b) => b !== null && typeof b === \"object\" && \"purpose\" in b && b.purpose === \"tagging\"\n );\n if (taggingBody && \"value\" in taggingBody) {\n return taggingBody.value;\n }\n return void 0;\n}\nfunction getTagSchemaId(annotation) {\n if (!isTag(annotation)) return void 0;\n const bodies = Array.isArray(annotation.body) ? annotation.body : [annotation.body];\n const classifyingBody = bodies.find(\n (b) => b !== null && typeof b === \"object\" && \"purpose\" in b && b.purpose === \"classifying\"\n );\n if (classifyingBody && \"value\" in classifyingBody) {\n return classifyingBody.value;\n }\n return void 0;\n}\nexport {\n DEFAULT_ENTITY_TYPES,\n TAG_SCHEMAS,\n getAllTagSchemas,\n getEntityTypes,\n getSchemaCategory,\n getTagCategory,\n getTagSchema,\n getTagSchemaId,\n getTagSchemasByDomain,\n isValidCategory\n};\n//# sourceMappingURL=index.js.map","import { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Toolbar } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { getAllTagSchemas } from '@semiont/ontology';\nimport { TagSchemasPage } from '@semiont/react-ui';\n\n// Authentication is handled by middleware (proxy.ts)\n// Only authenticated moderators/admins can reach this page\n\nexport default function TagSchemasPageWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`ModerateTagSchemas.${k}`, p as any) as string;\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n const schemas = getAllTagSchemas();\n\n return (\n <TagSchemasPage\n schemas={schemas}\n isLoading={false}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n pageTitle: t('pageTitle'),\n pageDescription: t('pageDescription'),\n categories: t('categories'),\n loading: t('loading'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["TAG_SCHEMAS","getAllTagSchemas","TagSchemasPageWrapper","_t","useTranslation","t","k","p","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","schemas","jsx","TagSchemasPage","ToolbarPanels","Toolbar"],"mappings":"iTAcA,IAAIA,EAAc,CAChB,aAAc,CACZ,GAAI,aACJ,KAAM,wBACN,YAAa,qEACb,OAAQ,QACR,KAAM,CACJ,CACE,KAAM,QACN,YAAa,+CACb,SAAU,CACR,sCACA,8BACA,4BACV,CACA,EACM,CACE,KAAM,OACN,YAAa,gDACb,SAAU,CACR,oBACA,8BACA,iCACV,CACA,EACM,CACE,KAAM,cACN,YAAa,6CACb,SAAU,CACR,yCACA,uBACA,8CACV,CACA,EACM,CACE,KAAM,aACN,YAAa,kDACb,SAAU,CACR,gCACA,8BACA,sBACV,CACA,CACA,CACA,EACE,mBAAoB,CAClB,GAAI,mBACJ,KAAM,2BACN,YAAa,2EACb,OAAQ,aACR,KAAM,CACJ,CACE,KAAM,eACN,YAAa,6CACb,SAAU,CACR,iCACA,yBACA,yBACV,CACA,EACM,CACE,KAAM,UACN,YAAa,qCACb,SAAU,CACR,+BACA,0BACA,mCACV,CACA,EACM,CACE,KAAM,UACN,YAAa,4BACb,SAAU,CACR,2BACA,qBACA,6BACV,CACA,EACM,CACE,KAAM,aACN,YAAa,6CACb,SAAU,CACR,4BACA,6BACA,6CACV,CACA,CACA,CACA,EACE,mBAAoB,CAClB,GAAI,mBACJ,KAAM,+BACN,YAAa,kFACb,OAAQ,UACR,KAAM,CACJ,CACE,KAAM,QACN,YAAa,+BACb,SAAU,CACR,wBACA,0BACA,+BACV,CACA,EACM,CACE,KAAM,WACN,YAAa,qCACb,SAAU,CACR,4BACA,sBACA,wBACV,CACA,EACM,CACE,KAAM,UACN,YAAa,yCACb,SAAU,CACR,4CACA,qBACA,+BACV,CACA,EACM,CACE,KAAM,kBACN,YAAa,oCACb,SAAU,CACR,2BACA,uBACA,6BACV,CACA,EACM,CACE,KAAM,WACN,YAAa,+BACb,SAAU,CACR,kCACA,oCACA,gCACV,CACA,CACA,CACA,CACA,EAIA,SAASC,GAAmB,CAC1B,OAAO,OAAO,OAAOD,CAAW,CAClC,CCvJA,SAAwBE,GAAwB,CAC9C,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,sBAAsBG,CAAC,GAAIC,CAAQ,EAGtF,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAEzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAEPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAED,MAAME,EAAUnB,EAAA,EAEhB,OACEoB,EAAAA,IAACC,EAAA,CACC,QAAAF,EACA,UAAW,GACX,MAAAV,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,UAAWH,EAAE,WAAW,EACxB,gBAAiBA,EAAE,iBAAiB,EACpC,WAAYA,EAAE,YAAY,EAC1B,QAASA,EAAE,SAAS,CAAA,EAEtB,cAAAkB,EACA,QAAAC,CAAA,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- import{j as B}from"./query-ATBhtd3K.js";import{r as u}from"./vendor-EnoIVk-c.js";import{u as w}from"./routing-DMdXWYXo.js";import{d as E,e as L,f as N,g as x,h as C,i as F,R as k}from"./en-IUV4ZXKH-BY1RKeLS.js";import{T as j}from"./ToolbarPanels-rN1MIRTV.js";import{u as A}from"./i18n-BYxb14hm.js";import"./index-DA31r_0s.js";import"./useAuth-yUx5lBP5.js";import"./XMarkIcon-6m9KVFaj.js";function z(){const{t:l}=A(),e=(s,P)=>l(`Discover.${s}`,P),n=w(),{activePanel:m}=E(),{theme:Q,setTheme:a,resolvedTheme:h}=L(),{showLineNumbers:d,toggleLineNumbers:c}=N(),g=u.useCallback(({theme:s})=>{a(s)},[a]),p=u.useCallback(()=>{c()},[c]);x({"settings:theme-changed":g,"settings:line-numbers-toggled":p});const i=C(),R=F(),{data:t,isLoading:T}=i.list.useQuery({limit:10,archived:!1}),{data:o}=R.list.useQuery(),{data:r,isFetching:y}=i.search.useQuery("",20),b=(t==null?void 0:t.resources)||[],v=(r==null?void 0:r.resources)||[],f=(o==null?void 0:o.entityTypes)||[];return B.jsx(k,{recentDocuments:b,searchDocuments:v,entityTypes:f,isLoadingRecent:T,isSearching:y,theme:h,showLineNumbers:d,activePanel:m,onNavigateToResource:s=>{n.push(`/know/resource/${encodeURIComponent(s)}`)},onNavigateToCompose:()=>{n.push("/know/compose")},translations:{title:e("title"),subtitle:e("subtitle"),searchPlaceholder:e("searchPlaceholder"),searchButton:e("searchButton"),searching:e("searching"),filterByEntityType:e("filterByEntityType"),all:e("all"),recentResources:e("recentResources"),searchResults:s=>e("searchResults",{count:s}),documentsTaggedWith:s=>e("documentsTaggedWith",{entityType:s}),noResultsFound:s=>e("noResultsFound",{query:s}),noResourcesAvailable:e("noResourcesAvailable"),composeFirstResource:e("composeFirstResource"),archived:e("archived"),created:e("created"),loadingKnowledgeBase:e("loadingKnowledgeBase")},ToolbarPanels:j})}export{z as default};
2
- //# sourceMappingURL=page-BmHLf-7O.js.map
1
+ import{j as B}from"./query-B6BuIB0M.js";import{r as u}from"./vendor-DJo4KD8w.js";import{u as w}from"./routing-By_4TZHr.js";import{e as E,f as L,g as N,h as x,i as C,j as F,R as j}from"./index-XWcEpo5a.js";import{T as k}from"./ToolbarPanels-DRHyLUHl.js";import{u as A}from"./i18n-BbpF47i1.js";import"./XMarkIcon-KMKD47CF.js";function _(){const{t:l}=A(),e=(s,P)=>l(`Discover.${s}`,P),n=w(),{activePanel:m}=E(),{theme:Q,setTheme:a,resolvedTheme:h}=L(),{showLineNumbers:d,toggleLineNumbers:c}=N(),g=u.useCallback(({theme:s})=>{a(s)},[a]),p=u.useCallback(()=>{c()},[c]);x({"settings:theme-changed":g,"settings:line-numbers-toggled":p});const i=C(),R=F(),{data:t,isLoading:T}=i.list.useQuery({limit:10,archived:!1}),{data:o}=R.list.useQuery(),{data:r,isFetching:y}=i.search.useQuery("",20),b=(t==null?void 0:t.resources)||[],v=(r==null?void 0:r.resources)||[],f=(o==null?void 0:o.entityTypes)||[];return B.jsx(j,{recentDocuments:b,searchDocuments:v,entityTypes:f,isLoadingRecent:T,isSearching:y,theme:h,showLineNumbers:d,activePanel:m,onNavigateToResource:s=>{n.push(`/know/resource/${encodeURIComponent(s)}`)},onNavigateToCompose:()=>{n.push("/know/compose")},translations:{title:e("title"),subtitle:e("subtitle"),searchPlaceholder:e("searchPlaceholder"),searchButton:e("searchButton"),searching:e("searching"),filterByEntityType:e("filterByEntityType"),all:e("all"),recentResources:e("recentResources"),searchResults:s=>e("searchResults",{count:s}),documentsTaggedWith:s=>e("documentsTaggedWith",{entityType:s}),noResultsFound:s=>e("noResultsFound",{query:s}),noResourcesAvailable:e("noResourcesAvailable"),composeFirstResource:e("composeFirstResource"),archived:e("archived"),created:e("created"),loadingKnowledgeBase:e("loadingKnowledgeBase")},ToolbarPanels:k})}export{_ as default};
2
+ //# sourceMappingURL=page-FovvpNWp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-BmHLf-7O.js","sources":["../../src/app/[locale]/know/discover/page.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * Resource Discovery Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (routing, data loading, hooks)\n * and delegates rendering to the pure React ResourceDiscoveryPage component.\n */\n\nimport React, { useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRouter } from '@/i18n/routing';\nimport { useResources, useEntityTypes, useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { ResourceDiscoveryPage } from '@semiont/react-ui';\n\n/**\n * Main page component - handles Next.js hooks and data loading\n */\nexport default function DiscoverPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Discover.${k}`, p as any) as string;\n const router = useRouter();\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme, resolvedTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n // Handle theme change events\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n // Handle line numbers toggle events\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n // API hooks\n const resources = useResources();\n const entityTypesAPI = useEntityTypes();\n\n // Load recent documents using React Query\n const { data: recentDocsData, isLoading: isLoadingRecent } = resources.list.useQuery(\n { limit: 10, archived: false }\n );\n\n // Load entity types using React Query\n const { data: entityTypesData } = entityTypesAPI.list.useQuery();\n\n // Search documents using React Query (only when there's a search query)\n const { data: searchData, isFetching: isSearching } = resources.search.useQuery(\n '', // Empty search query initially - component will trigger search\n 20\n );\n\n // Extract data from React Query responses\n const recentDocuments = recentDocsData?.resources || [];\n const searchDocuments = searchData?.resources || [];\n const entityTypes = entityTypesData?.entityTypes || [];\n\n // Render the pure component with all props\n return (\n <ResourceDiscoveryPage\n recentDocuments={recentDocuments}\n searchDocuments={searchDocuments}\n entityTypes={entityTypes}\n isLoadingRecent={isLoadingRecent}\n isSearching={isSearching}\n theme={resolvedTheme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n onNavigateToResource={(resourceId) => {\n router.push(`/know/resource/${encodeURIComponent(resourceId)}`);\n }}\n onNavigateToCompose={() => {\n router.push('/know/compose');\n }}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n searchPlaceholder: t('searchPlaceholder'),\n searchButton: t('searchButton'),\n searching: t('searching'),\n filterByEntityType: t('filterByEntityType'),\n all: t('all'),\n recentResources: t('recentResources'),\n searchResults: (count: number) => t('searchResults', { count }),\n documentsTaggedWith: (entityType: string) => t('documentsTaggedWith', { entityType }),\n noResultsFound: (query: string) => t('noResultsFound', { query }),\n noResourcesAvailable: t('noResourcesAvailable'),\n composeFirstResource: t('composeFirstResource'),\n archived: t('archived'),\n created: t('created'),\n loadingKnowledgeBase: t('loadingKnowledgeBase'),\n }}\n ToolbarPanels={ToolbarPanels}\n />\n );\n}"],"names":["DiscoverPage","_t","useTranslation","t","k","p","router","useRouter","activePanel","usePanelBrowse","theme","setTheme","resolvedTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","resources","useResources","entityTypesAPI","useEntityTypes","recentDocsData","isLoadingRecent","entityTypesData","searchData","isSearching","recentDocuments","searchDocuments","entityTypes","jsx","ResourceDiscoveryPage","resourceId","count","entityType","query","ToolbarPanels"],"mappings":"oYAmBA,SAAwBA,GAAe,CACrC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,YAAYG,CAAC,GAAIC,CAAQ,EAC5EC,EAASC,EAAA,EAGT,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,EAAU,cAAAC,CAAA,EAAkBC,EAAA,EACrC,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAGzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAR,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAGPQ,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGD,MAAME,EAAYC,EAAA,EACZC,EAAiBC,EAAA,EAGjB,CAAE,KAAMC,EAAgB,UAAWC,GAAoBL,EAAU,KAAK,SAC1E,CAAE,MAAO,GAAI,SAAU,EAAA,CAAM,EAIzB,CAAE,KAAMM,CAAA,EAAoBJ,EAAe,KAAK,SAAA,EAGhD,CAAE,KAAMK,EAAY,WAAYC,GAAgBR,EAAU,OAAO,SACrE,GACA,EAAA,EAIIS,GAAkBL,GAAA,YAAAA,EAAgB,YAAa,CAAA,EAC/CM,GAAkBH,GAAA,YAAAA,EAAY,YAAa,CAAA,EAC3CI,GAAcL,GAAA,YAAAA,EAAiB,cAAe,CAAA,EAGpD,OACEM,EAAAA,IAACC,EAAA,CACC,gBAAAJ,EACA,gBAAAC,EACA,YAAAC,EACA,gBAAAN,EACA,YAAAG,EACA,MAAOjB,EACP,gBAAAE,EACA,YAAAN,EACA,qBAAuB2B,GAAe,CACpC7B,EAAO,KAAK,kBAAkB,mBAAmB6B,CAAU,CAAC,EAAE,CAChE,EACA,oBAAqB,IAAM,CACzB7B,EAAO,KAAK,eAAe,CAC7B,EACA,aAAc,CACZ,MAAOH,EAAE,OAAO,EAChB,SAAUA,EAAE,UAAU,EACtB,kBAAmBA,EAAE,mBAAmB,EACxC,aAAcA,EAAE,cAAc,EAC9B,UAAWA,EAAE,WAAW,EACxB,mBAAoBA,EAAE,oBAAoB,EAC1C,IAAKA,EAAE,KAAK,EACZ,gBAAiBA,EAAE,iBAAiB,EACpC,cAAgBiC,GAAkBjC,EAAE,gBAAiB,CAAE,MAAAiC,EAAO,EAC9D,oBAAsBC,GAAuBlC,EAAE,sBAAuB,CAAE,WAAAkC,EAAY,EACpF,eAAiBC,GAAkBnC,EAAE,iBAAkB,CAAE,MAAAmC,EAAO,EAChE,qBAAsBnC,EAAE,sBAAsB,EAC9C,qBAAsBA,EAAE,sBAAsB,EAC9C,SAAUA,EAAE,UAAU,EACtB,QAASA,EAAE,SAAS,EACpB,qBAAsBA,EAAE,sBAAsB,CAAA,EAEhD,cAAAoC,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"page-FovvpNWp.js","sources":["../../src/app/[locale]/know/discover/page.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * Resource Discovery Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (routing, data loading, hooks)\n * and delegates rendering to the pure React ResourceDiscoveryPage component.\n */\n\nimport React, { useEffect, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRouter } from '@/i18n/routing';\nimport { useResources, useEntityTypes, useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { ResourceDiscoveryPage } from '@semiont/react-ui';\n\n/**\n * Main page component - handles Next.js hooks and data loading\n */\nexport default function DiscoverPage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Discover.${k}`, p as any) as string;\n const router = useRouter();\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme, resolvedTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n // Handle theme change events\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n // Handle line numbers toggle events\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n // API hooks\n const resources = useResources();\n const entityTypesAPI = useEntityTypes();\n\n // Load recent documents using React Query\n const { data: recentDocsData, isLoading: isLoadingRecent } = resources.list.useQuery(\n { limit: 10, archived: false }\n );\n\n // Load entity types using React Query\n const { data: entityTypesData } = entityTypesAPI.list.useQuery();\n\n // Search documents using React Query (only when there's a search query)\n const { data: searchData, isFetching: isSearching } = resources.search.useQuery(\n '', // Empty search query initially - component will trigger search\n 20\n );\n\n // Extract data from React Query responses\n const recentDocuments = recentDocsData?.resources || [];\n const searchDocuments = searchData?.resources || [];\n const entityTypes = entityTypesData?.entityTypes || [];\n\n // Render the pure component with all props\n return (\n <ResourceDiscoveryPage\n recentDocuments={recentDocuments}\n searchDocuments={searchDocuments}\n entityTypes={entityTypes}\n isLoadingRecent={isLoadingRecent}\n isSearching={isSearching}\n theme={resolvedTheme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n onNavigateToResource={(resourceId) => {\n router.push(`/know/resource/${encodeURIComponent(resourceId)}`);\n }}\n onNavigateToCompose={() => {\n router.push('/know/compose');\n }}\n translations={{\n title: t('title'),\n subtitle: t('subtitle'),\n searchPlaceholder: t('searchPlaceholder'),\n searchButton: t('searchButton'),\n searching: t('searching'),\n filterByEntityType: t('filterByEntityType'),\n all: t('all'),\n recentResources: t('recentResources'),\n searchResults: (count: number) => t('searchResults', { count }),\n documentsTaggedWith: (entityType: string) => t('documentsTaggedWith', { entityType }),\n noResultsFound: (query: string) => t('noResultsFound', { query }),\n noResourcesAvailable: t('noResourcesAvailable'),\n composeFirstResource: t('composeFirstResource'),\n archived: t('archived'),\n created: t('created'),\n loadingKnowledgeBase: t('loadingKnowledgeBase'),\n }}\n ToolbarPanels={ToolbarPanels}\n />\n );\n}"],"names":["DiscoverPage","_t","useTranslation","t","k","p","router","useRouter","activePanel","usePanelBrowse","theme","setTheme","resolvedTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","resources","useResources","entityTypesAPI","useEntityTypes","recentDocsData","isLoadingRecent","entityTypesData","searchData","isSearching","recentDocuments","searchDocuments","entityTypes","jsx","ResourceDiscoveryPage","resourceId","count","entityType","query","ToolbarPanels"],"mappings":"oUAmBA,SAAwBA,GAAe,CACrC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,YAAYG,CAAC,GAAIC,CAAQ,EAC5EC,EAASC,EAAA,EAGT,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,EAAU,cAAAC,CAAA,EAAkBC,EAAA,EACrC,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAGzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAR,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAGPQ,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGD,MAAME,EAAYC,EAAA,EACZC,EAAiBC,EAAA,EAGjB,CAAE,KAAMC,EAAgB,UAAWC,GAAoBL,EAAU,KAAK,SAC1E,CAAE,MAAO,GAAI,SAAU,EAAA,CAAM,EAIzB,CAAE,KAAMM,CAAA,EAAoBJ,EAAe,KAAK,SAAA,EAGhD,CAAE,KAAMK,EAAY,WAAYC,GAAgBR,EAAU,OAAO,SACrE,GACA,EAAA,EAIIS,GAAkBL,GAAA,YAAAA,EAAgB,YAAa,CAAA,EAC/CM,GAAkBH,GAAA,YAAAA,EAAY,YAAa,CAAA,EAC3CI,GAAcL,GAAA,YAAAA,EAAiB,cAAe,CAAA,EAGpD,OACEM,EAAAA,IAACC,EAAA,CACC,gBAAAJ,EACA,gBAAAC,EACA,YAAAC,EACA,gBAAAN,EACA,YAAAG,EACA,MAAOjB,EACP,gBAAAE,EACA,YAAAN,EACA,qBAAuB2B,GAAe,CACpC7B,EAAO,KAAK,kBAAkB,mBAAmB6B,CAAU,CAAC,EAAE,CAChE,EACA,oBAAqB,IAAM,CACzB7B,EAAO,KAAK,eAAe,CAC7B,EACA,aAAc,CACZ,MAAOH,EAAE,OAAO,EAChB,SAAUA,EAAE,UAAU,EACtB,kBAAmBA,EAAE,mBAAmB,EACxC,aAAcA,EAAE,cAAc,EAC9B,UAAWA,EAAE,WAAW,EACxB,mBAAoBA,EAAE,oBAAoB,EAC1C,IAAKA,EAAE,KAAK,EACZ,gBAAiBA,EAAE,iBAAiB,EACpC,cAAgBiC,GAAkBjC,EAAE,gBAAiB,CAAE,MAAAiC,EAAO,EAC9D,oBAAsBC,GAAuBlC,EAAE,sBAAuB,CAAE,WAAAkC,EAAY,EACpF,eAAiBC,GAAkBnC,EAAE,iBAAkB,CAAE,MAAAmC,EAAO,EAChE,qBAAsBnC,EAAE,sBAAsB,EAC9C,qBAAsBA,EAAE,sBAAsB,EAC9C,SAAUA,EAAE,UAAU,EACtB,QAASA,EAAE,SAAS,EACpB,qBAAsBA,EAAE,sBAAsB,CAAA,EAEhD,cAAAoC,CAAA,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- import{u as j,j as r}from"./query-ATBhtd3K.js";import{r as s}from"./vendor-EnoIVk-c.js";import{d as v,e as w,f as A,g as C,i as L,E as k,T as I}from"./en-IUV4ZXKH-BY1RKeLS.js";import{T as D}from"./ToolbarPanels-rN1MIRTV.js";import{u as M}from"./i18n-BYxb14hm.js";import"./index-DA31r_0s.js";import"./useAuth-yUx5lBP5.js";import"./routing-DMdXWYXo.js";import"./XMarkIcon-6m9KVFaj.js";function $(){const{t:m}=M(),e=(t,N)=>m(`ModerateEntityTags.${t}`,N),[a,i]=s.useState(""),[p,o]=s.useState(""),T=j(),{activePanel:y}=v(),{theme:h,setTheme:c}=w(),{showLineNumbers:f,toggleLineNumbers:d}=A(),E=s.useCallback(({theme:t})=>{c(t)},[c]),b=s.useCallback(()=>{d()},[d]);C({"settings:theme-changed":E,"settings:line-numbers-toggled":b});const l=L(),{data:n,isLoading:u}=l.list.useQuery({refetchInterval:3e4,refetchIntervalInBackground:!0}),x=(n==null?void 0:n.entityTypes)||[],g=l.add.useMutation(),P=async()=>{if(a.trim()){o("");try{await g.mutateAsync(a.trim()),T.invalidateQueries({queryKey:["/api/entity-types"]}),i("")}catch(t){o(t instanceof Error?t.message:e("errorFailedToAdd"))}}};return u?r.jsx("div",{className:"flex items-center justify-center py-20",children:r.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:e("loading")})}):r.jsx(k,{entityTypes:x,isLoading:u,error:p,newTag:a,onNewTagChange:i,onAddTag:P,isAddingTag:g.isPending,theme:h,showLineNumbers:f,activePanel:y,translations:{pageTitle:e("pageTitle"),pageDescription:e("pageDescription"),sectionTitle:e("sectionTitle"),sectionDescription:e("sectionDescription"),inputPlaceholder:e("inputPlaceholder"),addTag:e("addTag"),adding:e("adding")},ToolbarPanels:D,Toolbar:I})}export{$ as default};
2
- //# sourceMappingURL=page-KtkB4tEv.js.map
1
+ import{u as j,j as r}from"./query-B6BuIB0M.js";import{r as s}from"./vendor-DJo4KD8w.js";import{e as v,f as w,g as A,h as C,j as L,E as k,T as I}from"./index-XWcEpo5a.js";import{T as D}from"./ToolbarPanels-DRHyLUHl.js";import{u as M}from"./i18n-BbpF47i1.js";import"./routing-By_4TZHr.js";import"./XMarkIcon-KMKD47CF.js";function W(){const{t:m}=M(),e=(t,N)=>m(`ModerateEntityTags.${t}`,N),[a,i]=s.useState(""),[p,o]=s.useState(""),T=j(),{activePanel:y}=v(),{theme:h,setTheme:c}=w(),{showLineNumbers:f,toggleLineNumbers:d}=A(),E=s.useCallback(({theme:t})=>{c(t)},[c]),b=s.useCallback(()=>{d()},[d]);C({"settings:theme-changed":E,"settings:line-numbers-toggled":b});const l=L(),{data:n,isLoading:u}=l.list.useQuery({refetchInterval:3e4,refetchIntervalInBackground:!0}),x=(n==null?void 0:n.entityTypes)||[],g=l.add.useMutation(),P=async()=>{if(a.trim()){o("");try{await g.mutateAsync(a.trim()),T.invalidateQueries({queryKey:["/api/entity-types"]}),i("")}catch(t){o(t instanceof Error?t.message:e("errorFailedToAdd"))}}};return u?r.jsx("div",{className:"flex items-center justify-center py-20",children:r.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:e("loading")})}):r.jsx(k,{entityTypes:x,isLoading:u,error:p,newTag:a,onNewTagChange:i,onAddTag:P,isAddingTag:g.isPending,theme:h,showLineNumbers:f,activePanel:y,translations:{pageTitle:e("pageTitle"),pageDescription:e("pageDescription"),sectionTitle:e("sectionTitle"),sectionDescription:e("sectionDescription"),inputPlaceholder:e("inputPlaceholder"),addTag:e("addTag"),adding:e("adding")},ToolbarPanels:D,Toolbar:I})}export{W as default};
2
+ //# sourceMappingURL=page-T424mvNp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-KtkB4tEv.js","sources":["../../src/app/[locale]/moderate/entity-tags/page.tsx"],"sourcesContent":["/**\n * Entity Tags Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (translations, API calls)\n * and delegates rendering to the pure React EntityTagsPage component.\n */\n\nimport { useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useEntityTypes, Toolbar } from '@semiont/react-ui';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { EntityTagsPage } from '@semiont/react-ui';\n\n// Authentication is handled by middleware (proxy.ts)\n// Only authenticated moderators/admins can reach this page\n\nexport default function EntityTagsPageWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`ModerateEntityTags.${k}`, p as any) as string;\n const [newTag, setNewTag] = useState('');\n const [error, setError] = useState('');\n const queryClient = useQueryClient();\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n // API hooks\n const entityTypesAPI = useEntityTypes();\n\n // Query entity types with auto-refetch for cross-browser updates\n const { data: entityTypesData, isLoading } = entityTypesAPI.list.useQuery({\n refetchInterval: 30000,\n refetchIntervalInBackground: true,\n });\n const entityTypes = entityTypesData?.entityTypes || [];\n\n // Mutation for creating new entity type\n const createEntityTypeMutation = entityTypesAPI.add.useMutation();\n\n const handleAddTag = async () => {\n if (!newTag.trim()) return;\n\n setError('');\n\n try {\n await createEntityTypeMutation.mutateAsync(newTag.trim());\n queryClient.invalidateQueries({ queryKey: ['/api/entity-types'] });\n setNewTag('');\n } catch (err) {\n setError(err instanceof Error ? err.message : t('errorFailedToAdd'));\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('loading')}</p>\n </div>\n );\n }\n\n return (\n <EntityTagsPage\n entityTypes={entityTypes as string[]}\n isLoading={isLoading}\n error={error}\n newTag={newTag}\n onNewTagChange={setNewTag}\n onAddTag={handleAddTag}\n isAddingTag={createEntityTypeMutation.isPending}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n pageTitle: t('pageTitle'),\n pageDescription: t('pageDescription'),\n sectionTitle: t('sectionTitle'),\n sectionDescription: t('sectionDescription'),\n inputPlaceholder: t('inputPlaceholder'),\n addTag: t('addTag'),\n adding: t('adding'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["EntityTagsPageWrapper","_t","useTranslation","t","k","p","newTag","setNewTag","useState","error","setError","queryClient","useQueryClient","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","entityTypesAPI","useEntityTypes","entityTypesData","isLoading","entityTypes","createEntityTypeMutation","handleAddTag","err","jsx","EntityTagsPage","ToolbarPanels","Toolbar"],"mappings":"+XAkBA,SAAwBA,GAAwB,CAC9C,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,sBAAsBG,CAAC,GAAIC,CAAQ,EACtF,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAE,EACjC,CAACC,EAAOC,CAAQ,EAAIF,EAAAA,SAAS,EAAE,EAC/BG,EAAcC,EAAA,EAGd,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAEzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAEPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGD,MAAME,EAAiBC,EAAA,EAGjB,CAAE,KAAMC,EAAiB,UAAAC,GAAcH,EAAe,KAAK,SAAS,CACxE,gBAAiB,IACjB,4BAA6B,EAAA,CAC9B,EACKI,GAAcF,GAAA,YAAAA,EAAiB,cAAe,CAAA,EAG9CG,EAA2BL,EAAe,IAAI,YAAA,EAE9CM,EAAe,SAAY,CAC/B,GAAKzB,EAAO,OAEZ,CAAAI,EAAS,EAAE,EAEX,GAAI,CACF,MAAMoB,EAAyB,YAAYxB,EAAO,KAAA,CAAM,EACxDK,EAAY,kBAAkB,CAAE,SAAU,CAAC,mBAAmB,EAAG,EACjEJ,EAAU,EAAE,CACd,OAASyB,EAAK,CACZtB,EAASsB,aAAe,MAAQA,EAAI,QAAU7B,EAAE,kBAAkB,CAAC,CACrE,EACF,EAEA,OAAIyB,EAEAK,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAA9B,EAAE,SAAS,CAAA,CAAE,EAChE,EAKF8B,EAAAA,IAACC,EAAA,CACC,YAAAL,EACA,UAAAD,EACA,MAAAnB,EACA,OAAAH,EACA,eAAgBC,EAChB,SAAUwB,EACV,YAAaD,EAAyB,UACtC,MAAAf,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,UAAWV,EAAE,WAAW,EACxB,gBAAiBA,EAAE,iBAAiB,EACpC,aAAcA,EAAE,cAAc,EAC9B,mBAAoBA,EAAE,oBAAoB,EAC1C,iBAAkBA,EAAE,kBAAkB,EACtC,OAAQA,EAAE,QAAQ,EAClB,OAAQA,EAAE,QAAQ,CAAA,EAEpB,cAAAgC,EACA,QAAAC,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"page-T424mvNp.js","sources":["../../src/app/[locale]/moderate/entity-tags/page.tsx"],"sourcesContent":["/**\n * Entity Tags Page - Thin Next.js wrapper\n *\n * This page handles Next.js-specific concerns (translations, API calls)\n * and delegates rendering to the pure React EntityTagsPage component.\n */\n\nimport { useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useEntityTypes, Toolbar } from '@semiont/react-ui';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { useTheme, usePanelBrowse, useLineNumbers, useEventSubscriptions } from '@semiont/react-ui';\nimport { EntityTagsPage } from '@semiont/react-ui';\n\n// Authentication is handled by middleware (proxy.ts)\n// Only authenticated moderators/admins can reach this page\n\nexport default function EntityTagsPageWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`ModerateEntityTags.${k}`, p as any) as string;\n const [newTag, setNewTag] = useState('');\n const [error, setError] = useState('');\n const queryClient = useQueryClient();\n\n // Toolbar and settings state\n const { activePanel } = usePanelBrowse();\n const { theme, setTheme } = useTheme();\n const { showLineNumbers, toggleLineNumbers } = useLineNumbers();\n\n const handleThemeChanged = useCallback(({ theme }: { theme: 'light' | 'dark' | 'system' }) => {\n setTheme(theme);\n }, [setTheme]);\n\n const handleLineNumbersToggled = useCallback(() => {\n toggleLineNumbers();\n }, [toggleLineNumbers]);\n\n useEventSubscriptions({\n 'settings:theme-changed': handleThemeChanged,\n 'settings:line-numbers-toggled': handleLineNumbersToggled,\n });\n\n // API hooks\n const entityTypesAPI = useEntityTypes();\n\n // Query entity types with auto-refetch for cross-browser updates\n const { data: entityTypesData, isLoading } = entityTypesAPI.list.useQuery({\n refetchInterval: 30000,\n refetchIntervalInBackground: true,\n });\n const entityTypes = entityTypesData?.entityTypes || [];\n\n // Mutation for creating new entity type\n const createEntityTypeMutation = entityTypesAPI.add.useMutation();\n\n const handleAddTag = async () => {\n if (!newTag.trim()) return;\n\n setError('');\n\n try {\n await createEntityTypeMutation.mutateAsync(newTag.trim());\n queryClient.invalidateQueries({ queryKey: ['/api/entity-types'] });\n setNewTag('');\n } catch (err) {\n setError(err instanceof Error ? err.message : t('errorFailedToAdd'));\n }\n };\n\n if (isLoading) {\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('loading')}</p>\n </div>\n );\n }\n\n return (\n <EntityTagsPage\n entityTypes={entityTypes as string[]}\n isLoading={isLoading}\n error={error}\n newTag={newTag}\n onNewTagChange={setNewTag}\n onAddTag={handleAddTag}\n isAddingTag={createEntityTypeMutation.isPending}\n theme={theme}\n showLineNumbers={showLineNumbers}\n activePanel={activePanel}\n translations={{\n pageTitle: t('pageTitle'),\n pageDescription: t('pageDescription'),\n sectionTitle: t('sectionTitle'),\n sectionDescription: t('sectionDescription'),\n inputPlaceholder: t('inputPlaceholder'),\n addTag: t('addTag'),\n adding: t('adding'),\n }}\n ToolbarPanels={ToolbarPanels}\n Toolbar={Toolbar}\n />\n );\n}\n"],"names":["EntityTagsPageWrapper","_t","useTranslation","t","k","p","newTag","setNewTag","useState","error","setError","queryClient","useQueryClient","activePanel","usePanelBrowse","theme","setTheme","useTheme","showLineNumbers","toggleLineNumbers","useLineNumbers","handleThemeChanged","useCallback","handleLineNumbersToggled","useEventSubscriptions","entityTypesAPI","useEntityTypes","entityTypesData","isLoading","entityTypes","createEntityTypeMutation","handleAddTag","err","jsx","EntityTagsPage","ToolbarPanels","Toolbar"],"mappings":"+TAkBA,SAAwBA,GAAwB,CAC9C,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,sBAAsBG,CAAC,GAAIC,CAAQ,EACtF,CAACC,EAAQC,CAAS,EAAIC,EAAAA,SAAS,EAAE,EACjC,CAACC,EAAOC,CAAQ,EAAIF,EAAAA,SAAS,EAAE,EAC/BG,EAAcC,EAAA,EAGd,CAAE,YAAAC,CAAA,EAAgBC,EAAA,EAClB,CAAE,MAAAC,EAAO,SAAAC,CAAA,EAAaC,EAAA,EACtB,CAAE,gBAAAC,EAAiB,kBAAAC,CAAA,EAAsBC,EAAA,EAEzCC,EAAqBC,EAAAA,YAAY,CAAC,CAAE,MAAAP,KAAoD,CAC5FC,EAASD,CAAK,CAChB,EAAG,CAACC,CAAQ,CAAC,EAEPO,EAA2BD,EAAAA,YAAY,IAAM,CACjDH,EAAA,CACF,EAAG,CAACA,CAAiB,CAAC,EAEtBK,EAAsB,CACpB,yBAA0BH,EAC1B,gCAAiCE,CAAA,CAClC,EAGD,MAAME,EAAiBC,EAAA,EAGjB,CAAE,KAAMC,EAAiB,UAAAC,GAAcH,EAAe,KAAK,SAAS,CACxE,gBAAiB,IACjB,4BAA6B,EAAA,CAC9B,EACKI,GAAcF,GAAA,YAAAA,EAAiB,cAAe,CAAA,EAG9CG,EAA2BL,EAAe,IAAI,YAAA,EAE9CM,EAAe,SAAY,CAC/B,GAAKzB,EAAO,OAEZ,CAAAI,EAAS,EAAE,EAEX,GAAI,CACF,MAAMoB,EAAyB,YAAYxB,EAAO,KAAA,CAAM,EACxDK,EAAY,kBAAkB,CAAE,SAAU,CAAC,mBAAmB,EAAG,EACjEJ,EAAU,EAAE,CACd,OAASyB,EAAK,CACZtB,EAASsB,aAAe,MAAQA,EAAI,QAAU7B,EAAE,kBAAkB,CAAC,CACrE,EACF,EAEA,OAAIyB,EAEAK,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAA9B,EAAE,SAAS,CAAA,CAAE,EAChE,EAKF8B,EAAAA,IAACC,EAAA,CACC,YAAAL,EACA,UAAAD,EACA,MAAAnB,EACA,OAAAH,EACA,eAAgBC,EAChB,SAAUwB,EACV,YAAaD,EAAyB,UACtC,MAAAf,EACA,gBAAAG,EACA,YAAAL,EACA,aAAc,CACZ,UAAWV,EAAE,WAAW,EACxB,gBAAiBA,EAAE,iBAAiB,EACpC,aAAcA,EAAE,cAAc,EAC9B,mBAAoBA,EAAE,oBAAoB,EAC1C,iBAAkBA,EAAE,kBAAkB,EACtC,OAAQA,EAAE,QAAQ,EAClB,OAAQA,EAAE,QAAQ,CAAA,EAEpB,cAAAgC,EACA,QAAAC,CAAA,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- import{j as e}from"./query-ATBhtd3K.js";import{r as i}from"./vendor-EnoIVk-c.js";import{u as n}from"./routing-DMdXWYXo.js";import{u as c}from"./i18n-BYxb14hm.js";import"./index-DA31r_0s.js";function x(){const{t:r}=c(),o=(s,a)=>r(`Moderation.${s}`,a),t=n();return i.useEffect(()=>{t.replace("/moderate/recent")},[t]),e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:o("redirecting")})})}export{x as default};
2
- //# sourceMappingURL=page-1BwlyTUj.js.map
1
+ import{j as e}from"./query-B6BuIB0M.js";import{r as i}from"./vendor-DJo4KD8w.js";import{u as n}from"./routing-By_4TZHr.js";import{u as c}from"./i18n-BbpF47i1.js";import"./index-XWcEpo5a.js";function x(){const{t:r}=c(),o=(s,a)=>r(`Moderation.${s}`,a),t=n();return i.useEffect(()=>{t.replace("/moderate/recent")},[t]),e.jsx("div",{className:"flex items-center justify-center py-20",children:e.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:o("redirecting")})})}export{x as default};
2
+ //# sourceMappingURL=page-knhbwxzQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-1BwlyTUj.js","sources":["../../src/app/[locale]/moderate/page.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRouter } from '@/i18n/routing';\n\nexport default function ModeratePage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Moderation.${k}`, p as any) as string;\n const router = useRouter();\n\n useEffect(() => {\n // Redirect to Recent Documents as the default page\n router.replace('/moderate/recent');\n }, [router]);\n\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('redirecting')}</p>\n </div>\n );\n}"],"names":["ModeratePage","_t","useTranslation","t","k","p","router","useRouter","useEffect","jsx"],"mappings":"8LAIA,SAAwBA,GAAe,CACrC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,cAAcG,CAAC,GAAIC,CAAQ,EAC9EC,EAASC,EAAA,EAEfC,OAAAA,EAAAA,UAAU,IAAM,CAEdF,EAAO,QAAQ,kBAAkB,CACnC,EAAG,CAACA,CAAM,CAAC,EAGTG,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAAN,EAAE,aAAa,CAAA,CAAE,EACpE,CAEJ"}
1
+ {"version":3,"file":"page-knhbwxzQ.js","sources":["../../src/app/[locale]/moderate/page.tsx"],"sourcesContent":["import { useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useRouter } from '@/i18n/routing';\n\nexport default function ModeratePage() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Moderation.${k}`, p as any) as string;\n const router = useRouter();\n\n useEffect(() => {\n // Redirect to Recent Documents as the default page\n router.replace('/moderate/recent');\n }, [router]);\n\n return (\n <div className=\"flex items-center justify-center py-20\">\n <p className=\"text-gray-600 dark:text-gray-300\">{t('redirecting')}</p>\n </div>\n );\n}"],"names":["ModeratePage","_t","useTranslation","t","k","p","router","useRouter","useEffect","jsx"],"mappings":"8LAIA,SAAwBA,GAAe,CACrC,KAAM,CAAE,EAAGC,CAAA,EAAOC,EAAA,EACZC,EAAI,CAACC,EAAWC,IAAgCJ,EAAG,cAAcG,CAAC,GAAIC,CAAQ,EAC9EC,EAASC,EAAA,EAEfC,OAAAA,EAAAA,UAAU,IAAM,CAEdF,EAAO,QAAQ,kBAAkB,CACnC,EAAG,CAACA,CAAM,CAAC,EAGTG,EAAAA,IAAC,MAAA,CAAI,UAAU,yCACb,SAAAA,MAAC,IAAA,CAAE,UAAU,mCAAoC,SAAAN,EAAE,aAAa,CAAA,CAAE,EACpE,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{j as l}from"./query-B6BuIB0M.js";import{r as c}from"./vendor-DJo4KD8w.js";import{u as m}from"./routing-By_4TZHr.js";import{a9 as C,aa as S,ab as b,ac as O}from"./index-XWcEpo5a.js";import{u as v}from"./i18n-BbpF47i1.js";function E({isOpen:e,onClose:t}){const o=m(),{t:n}=v(),s=(r,a)=>n(`Search.${r}`,a),i=(r,a)=>{r==="resource"?o.push(`/know/resource/${encodeURIComponent(a)}`):o.push(`/know/entity/${a}`)};return l.jsx(C,{isOpen:e,onClose:t,onNavigate:i,translations:{placeholder:s("placeholder"),searching:s("searching"),noResults:s("noResults"),startTyping:s("startTyping"),navigate:s("navigate"),select:s("select"),close:s("close"),enter:s("enter"),esc:s("esc")}})}const T=c.createContext(null);function U({children:e}){const t=m(),[o,n]=c.useState(!1),[s,i]=c.useState(!1),[r,a]=c.useState([]),u=c.useCallback(()=>{n(!0)},[]),f=c.useCallback(()=>{i(!0)},[]),h=c.useCallback(()=>{n(!1),i(!1),r.forEach(w=>w()),a([])},[r]);S([{key:"k",ctrlOrCmd:!0,handler:()=>{u()},description:"Open global search"},{key:"n",ctrlOrCmd:!0,handler:()=>{t.push("/know/compose")},description:"Create new resource"},{key:"/",handler:()=>{u()},description:"Open global search (alternative)"},{key:"?",shift:!0,handler:()=>{f()},description:"Show keyboard shortcuts help"}]),b("Escape",h,300);const k={openGlobalSearch:u,openKeyboardHelp:f,closeAllOverlays:h};return l.jsxs(T.Provider,{value:k,children:[e,o&&l.jsx(E,{isOpen:o,onClose:()=>n(!1)}),s&&l.jsx(O,{isOpen:s,onClose:()=>i(!1)})]})}const x=[{id:"necessary",name:"Strictly Necessary",description:"These cookies are essential for the website to function properly. They enable core functionality such as security, network management, and accessibility.",required:!0,cookies:["semiont-token","consent-preferences"]},{id:"analytics",name:"Analytics",description:"These cookies help us understand how visitors interact with our website by collecting and reporting information anonymously.",required:!1,cookies:["_ga","_ga_*","_gid","_gat","lighthouse-*"]},{id:"marketing",name:"Marketing",description:"These cookies are used to track visitors across websites to display relevant advertisements and measure campaign effectiveness.",required:!1,cookies:["_fbp","_fbc","fr","ads-*"]},{id:"preferences",name:"Preferences",description:"These cookies remember your choices and preferences to provide a more personalized experience.",required:!1,cookies:["theme-preference","language-preference","ui-settings"]}],p="1.0",g="semiont-cookie-consent",_={necessary:!0,analytics:!1,marketing:!1,preferences:!1,timestamp:new Date().toISOString(),version:p},A=e=>{typeof window>"u"||x.forEach(t=>{if(t.required)return;e[t.id]||t.cookies.forEach(n=>{if(n.includes("*")){const s=n.replace("*","");document.cookie.split(";").forEach(i=>{var a;const r=(a=i.split("=")[0])==null?void 0:a.trim();r&&r.startsWith(s)&&d(r)})}else d(n)})})},d=e=>{document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/`,document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.location.hostname}`;const t=window.location.hostname.split(".").slice(-2).join(".");document.cookie=`${e}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=.${t}`},I=()=>{if(typeof window>"u")return null;try{const e=localStorage.getItem(g);if(!e)return null;const t=JSON.parse(e);return t.version!==p?null:t}catch(e){return console.warn("Failed to parse cookie consent:",e),null}},j=e=>{if(typeof window>"u")return;const t={..._,...e,necessary:!0,timestamp:new Date().toISOString(),version:p};try{localStorage.setItem(g,JSON.stringify(t)),A(t),window.dispatchEvent(new CustomEvent("cookieConsentChanged",{detail:t}))}catch(o){console.error("Failed to save cookie consent:",o)}},D=()=>{const e=I();if(!e)return!1;const t=new Date(e.timestamp),o=new Date;return o.setMonth(o.getMonth()-13),t>o},G=()=>typeof window>"u"?!1:!D(),y=async()=>{try{const e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e.includes("Europe/")?"EU":e.includes("America/Los_Angeles")||e.includes("America/Vancouver")?"CA":e.includes("America/")?"US":"OTHER"}catch{return"OTHER"}},H=async()=>await y()==="CA",P=async()=>await y()==="EU",q=()=>{if(typeof window>"u")return{};const e={};document.cookie.split(";").forEach(t=>{const[o,n]=t.trim().split("=");o&&n&&(e[`cookie_${o}`]=decodeURIComponent(n))});for(let t=0;t<localStorage.length;t++){const o=localStorage.key(t);o&&(e[`localStorage_${o}`]=localStorage.getItem(o)||"")}for(let t=0;t<sessionStorage.length;t++){const o=sessionStorage.key(t);o&&(e[`sessionStorage_${o}`]=sessionStorage.getItem(o)||"")}return e},J=()=>{typeof window>"u"||(localStorage.clear(),sessionStorage.clear(),document.cookie.split(";").forEach(e=>{var o;const t=(o=e.split("=")[0])==null?void 0:o.trim();t&&d(t)}),window.location.reload())};export{x as C,T as K,U as a,G as b,H as c,J as d,q as e,I as g,P as i,j as s};
2
+ //# sourceMappingURL=privacy-B5TeXaed.js.map