cyberia 3.1.3 → 3.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. package/.env.example +0 -2
  2. package/.github/workflows/engine-cyberia.cd.yml +10 -8
  3. package/.github/workflows/engine-cyberia.ci.yml +12 -29
  4. package/.github/workflows/ghpkg.ci.yml +4 -4
  5. package/.github/workflows/npmpkg.ci.yml +28 -11
  6. package/.github/workflows/publish.ci.yml +21 -2
  7. package/.github/workflows/pwa-microservices-template-page.cd.yml +4 -5
  8. package/.github/workflows/pwa-microservices-template-test.ci.yml +3 -3
  9. package/.github/workflows/release.cd.yml +14 -10
  10. package/CHANGELOG.md +783 -1
  11. package/CLI-HELP.md +95 -18
  12. package/Dockerfile +0 -2
  13. package/README.md +290 -220
  14. package/bin/build.js +24 -7
  15. package/bin/cyberia.js +2838 -252
  16. package/bin/deploy.js +747 -125
  17. package/bin/file.js +9 -0
  18. package/bin/index.js +2838 -252
  19. package/bin/vs.js +1 -1
  20. package/conf.js +99 -65
  21. package/deployment.yaml +18 -164
  22. package/hardhat/hardhat.config.js +13 -13
  23. package/hardhat/ignition/modules/ObjectLayerToken.js +1 -1
  24. package/hardhat/package-lock.json +2559 -5864
  25. package/hardhat/package.json +14 -23
  26. package/hardhat/scripts/deployObjectLayerToken.js +1 -1
  27. package/hardhat/test/ObjectLayerToken.js +4 -2
  28. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  29. package/hardhat/types/ethers-contracts/common.ts +92 -0
  30. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  31. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  32. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  33. package/hardhat/types/ethers-contracts/index.ts +6 -0
  34. package/jsconfig.json +1 -1
  35. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +6 -5
  36. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +6 -5
  37. package/manifests/deployment/dd-cyberia-development/deployment.yaml +18 -164
  38. package/manifests/deployment/dd-cyberia-development/proxy.yaml +7 -79
  39. package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
  40. package/manifests/deployment/dd-test-development/deployment.yaml +112 -28
  41. package/manifests/deployment/dd-test-development/proxy.yaml +46 -1
  42. package/manifests/deployment/playwright/deployment.yaml +1 -1
  43. package/nodemon.json +1 -1
  44. package/package.json +39 -24
  45. package/proxy.yaml +7 -79
  46. package/scripts/k3s-node-setup.sh +2 -2
  47. package/scripts/nat-iptables.sh +103 -18
  48. package/scripts/rhel-grpc-setup.sh +56 -0
  49. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +58 -14
  50. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +23 -14
  51. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  52. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +148 -20
  53. package/src/api/core/core.controller.js +10 -10
  54. package/src/api/core/core.service.js +10 -10
  55. package/src/api/crypto/crypto.controller.js +8 -8
  56. package/src/api/crypto/crypto.service.js +8 -8
  57. package/src/api/cyberia-action/cyberia-action.controller.js +74 -0
  58. package/src/api/cyberia-action/cyberia-action.model.js +87 -0
  59. package/src/api/cyberia-action/cyberia-action.router.js +27 -0
  60. package/src/api/cyberia-action/cyberia-action.service.js +42 -0
  61. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  62. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  63. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  64. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  65. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  66. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  67. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  68. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  69. package/src/api/cyberia-instance/cyberia-fallback-world.js +178 -0
  70. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  71. package/src/api/cyberia-instance/cyberia-instance.model.js +87 -0
  72. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  73. package/src/api/cyberia-instance/cyberia-instance.service.js +156 -0
  74. package/src/api/cyberia-instance/cyberia-portal-connector.js +260 -0
  75. package/src/api/cyberia-instance/cyberia-world-generator.js +505 -0
  76. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  77. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +574 -0
  78. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +231 -0
  79. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  80. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +46 -0
  81. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  82. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  83. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  84. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  85. package/src/api/cyberia-quest/cyberia-quest.controller.js +74 -0
  86. package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
  87. package/src/api/cyberia-quest/cyberia-quest.router.js +27 -0
  88. package/src/api/cyberia-quest/cyberia-quest.service.js +42 -0
  89. package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +74 -0
  90. package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
  91. package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +27 -0
  92. package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
  93. package/src/api/default/default.controller.js +10 -10
  94. package/src/api/default/default.service.js +10 -10
  95. package/src/api/document/document.controller.js +12 -12
  96. package/src/api/document/document.model.js +10 -16
  97. package/src/api/file/file.controller.js +8 -8
  98. package/src/api/file/file.model.js +10 -10
  99. package/src/api/file/file.ref.json +18 -0
  100. package/src/api/file/file.service.js +36 -36
  101. package/src/api/instance/instance.controller.js +10 -10
  102. package/src/api/instance/instance.model.js +4 -10
  103. package/src/api/instance/instance.service.js +10 -10
  104. package/src/api/ipfs/ipfs.controller.js +15 -36
  105. package/src/api/ipfs/ipfs.model.js +47 -47
  106. package/src/api/ipfs/ipfs.router.js +8 -13
  107. package/src/api/ipfs/ipfs.service.js +67 -129
  108. package/src/api/object-layer/object-layer.controller.js +12 -12
  109. package/src/api/object-layer/object-layer.model.js +4 -17
  110. package/src/api/object-layer/object-layer.router.js +30 -0
  111. package/src/api/object-layer/object-layer.service.js +126 -43
  112. package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +10 -10
  113. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +6 -16
  114. package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +18 -14
  115. package/src/api/test/test.controller.js +8 -8
  116. package/src/api/test/test.service.js +8 -8
  117. package/src/api/user/guest.service.js +99 -0
  118. package/src/api/user/user.controller.js +6 -6
  119. package/src/api/user/user.model.js +8 -13
  120. package/src/api/user/user.service.js +11 -27
  121. package/src/cli/cluster.js +68 -21
  122. package/src/cli/db.js +753 -825
  123. package/src/cli/deploy.js +215 -125
  124. package/src/cli/env.js +29 -0
  125. package/src/cli/fs.js +82 -8
  126. package/src/cli/image.js +43 -1
  127. package/src/cli/index.js +74 -3
  128. package/src/cli/kubectl.js +211 -0
  129. package/src/cli/release.js +340 -0
  130. package/src/cli/repository.js +475 -74
  131. package/src/cli/run.js +582 -43
  132. package/src/cli/secrets.js +73 -0
  133. package/src/cli/ssh.js +1 -1
  134. package/src/cli/static.js +43 -115
  135. package/src/cli/test.js +3 -3
  136. package/src/client/Cryptokoyn.index.js +18 -22
  137. package/src/client/CyberiaPortal.index.js +19 -24
  138. package/src/client/Default.index.js +21 -34
  139. package/src/client/Itemledger.index.js +20 -27
  140. package/src/client/Underpost.index.js +19 -24
  141. package/src/client/components/core/404.js +4 -4
  142. package/src/client/components/core/500.js +4 -4
  143. package/src/client/components/core/Account.js +73 -60
  144. package/src/client/components/core/AgGrid.js +23 -33
  145. package/src/client/components/core/Alert.js +12 -13
  146. package/src/client/components/core/AppStore.js +69 -0
  147. package/src/client/components/core/Auth.js +35 -37
  148. package/src/client/components/core/Badge.js +7 -13
  149. package/src/client/components/core/BtnIcon.js +15 -17
  150. package/src/client/components/core/CalendarCore.js +43 -64
  151. package/src/client/components/core/Chat.js +13 -15
  152. package/src/client/components/core/ClientEvents.js +87 -0
  153. package/src/client/components/core/ColorPaletteElement.js +309 -0
  154. package/src/client/components/core/Content.js +17 -14
  155. package/src/client/components/core/Css.js +15 -71
  156. package/src/client/components/core/CssCore.js +12 -16
  157. package/src/client/components/core/D3Chart.js +4 -4
  158. package/src/client/components/core/Docs.js +64 -91
  159. package/src/client/components/core/DropDown.js +194 -96
  160. package/src/client/components/core/EventBus.js +92 -0
  161. package/src/client/components/core/EventsUI.js +14 -17
  162. package/src/client/components/core/FileExplorer.js +96 -228
  163. package/src/client/components/core/FullScreen.js +47 -75
  164. package/src/client/components/core/Input.js +24 -69
  165. package/src/client/components/core/Keyboard.js +26 -19
  166. package/src/client/components/core/KeyboardAvoidance.js +145 -0
  167. package/src/client/components/core/LoadingAnimation.js +25 -31
  168. package/src/client/components/core/LogIn.js +43 -43
  169. package/src/client/components/core/LogOut.js +25 -16
  170. package/src/client/components/core/Modal.js +462 -179
  171. package/src/client/components/core/NotificationManager.js +14 -18
  172. package/src/client/components/core/Panel.js +54 -51
  173. package/src/client/components/core/PanelForm.js +44 -144
  174. package/src/client/components/core/Polyhedron.js +110 -214
  175. package/src/client/components/core/PublicProfile.js +39 -32
  176. package/src/client/components/core/Recover.js +48 -44
  177. package/src/client/components/core/Responsive.js +88 -32
  178. package/src/client/components/core/RichText.js +9 -18
  179. package/src/client/components/core/Router.js +24 -3
  180. package/src/client/components/core/SearchBox.js +37 -37
  181. package/src/client/components/core/SignUp.js +39 -30
  182. package/src/client/components/core/SocketIo.js +112 -30
  183. package/src/client/components/core/SocketIoHandler.js +75 -0
  184. package/src/client/components/core/Stream.js +143 -95
  185. package/src/client/components/core/ToggleSwitch.js +8 -20
  186. package/src/client/components/core/ToolTip.js +5 -17
  187. package/src/client/components/core/Translate.js +56 -59
  188. package/src/client/components/core/Validator.js +26 -16
  189. package/src/client/components/core/Wallet.js +15 -26
  190. package/src/client/components/core/Webhook.js +40 -7
  191. package/src/client/components/core/Worker.js +163 -27
  192. package/src/client/components/core/windowGetDimensions.js +7 -7
  193. package/src/client/components/cryptokoyn/{MenuCryptokoyn.js → AppShellCryptokoyn.js} +59 -59
  194. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  195. package/src/client/components/cryptokoyn/CssCryptokoyn.js +15 -15
  196. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +9 -7
  197. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +8 -6
  198. package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
  199. package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +4 -4
  200. package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +6 -4
  201. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  202. package/src/client/components/cyberia/InstanceEngineCyberia.js +781 -0
  203. package/src/client/components/cyberia/MapEngineCyberia.js +1836 -2
  204. package/src/client/components/cyberia/ObjectLayerEngine.js +19 -0
  205. package/src/client/components/cyberia/ObjectLayerEngineModal.js +1220 -99
  206. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +252 -316
  207. package/src/client/components/cyberia-portal/{MenuCyberiaPortal.js → AppShellCyberiaPortal.js} +136 -103
  208. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  209. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +462 -32
  210. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +15 -15
  211. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +9 -7
  212. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +8 -6
  213. package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +4 -4
  214. package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +60 -0
  215. package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +4 -4
  216. package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +6 -4
  217. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  218. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +8 -4
  219. package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +91 -91
  220. package/src/client/components/default/AppStoreDefault.js +5 -0
  221. package/src/client/components/default/CssDefault.js +12 -12
  222. package/src/client/components/default/LogInDefault.js +9 -7
  223. package/src/client/components/default/LogOutDefault.js +8 -6
  224. package/src/client/components/default/RouterDefault.js +47 -0
  225. package/src/client/components/default/SettingsDefault.js +4 -4
  226. package/src/client/components/default/SignUpDefault.js +6 -4
  227. package/src/client/components/default/SocketIoDefault.js +3 -51
  228. package/src/client/components/default/TranslateDefault.js +3 -3
  229. package/src/client/components/itemledger/{MenuItemledger.js → AppShellItemledger.js} +59 -59
  230. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  231. package/src/client/components/itemledger/CssItemledger.js +15 -15
  232. package/src/client/components/itemledger/LogInItemledger.js +9 -7
  233. package/src/client/components/itemledger/LogOutItemledger.js +8 -6
  234. package/src/client/components/itemledger/RouterItemledger.js +38 -0
  235. package/src/client/components/itemledger/SettingsItemledger.js +4 -4
  236. package/src/client/components/itemledger/SignUpItemledger.js +6 -4
  237. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  238. package/src/client/components/itemledger/TranslateItemledger.js +3 -3
  239. package/src/client/components/underpost/{MenuUnderpost.js → AppShellUnderpost.js} +92 -92
  240. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  241. package/src/client/components/underpost/CssUnderpost.js +14 -14
  242. package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +4 -4
  243. package/src/client/components/underpost/DocumentSearchProvider.js +1 -1
  244. package/src/client/components/underpost/LabGalleryUnderpost.js +12 -15
  245. package/src/client/components/underpost/LogInUnderpost.js +9 -7
  246. package/src/client/components/underpost/LogOutUnderpost.js +8 -6
  247. package/src/client/components/underpost/RouterUnderpost.js +45 -0
  248. package/src/client/components/underpost/SettingsUnderpost.js +4 -4
  249. package/src/client/components/underpost/SignUpUnderpost.js +6 -4
  250. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  251. package/src/client/components/underpost/TranslateUnderpost.js +4 -4
  252. package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +235 -0
  253. package/src/client/public/cyberia-docs/ARCHITECTURE.md +443 -0
  254. package/src/client/public/cyberia-docs/CYBERIA-CLI.md +417 -0
  255. package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +313 -0
  256. package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +260 -0
  257. package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +241 -0
  258. package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
  259. package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +279 -0
  260. package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +206 -0
  261. package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
  262. package/src/client/public/cyberia-docs/WHITE-PAPER.md +732 -0
  263. package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +14 -20
  264. package/src/client/services/core/core.service.js +35 -55
  265. package/src/client/services/crypto/crypto.service.js +8 -13
  266. package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
  267. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +99 -0
  268. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  269. package/src/client/services/cyberia-entity/cyberia-entity.service.js +99 -0
  270. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  271. package/src/client/services/cyberia-instance/cyberia-instance.service.js +116 -0
  272. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +99 -0
  273. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  274. package/src/client/services/cyberia-map/cyberia-map.service.js +120 -0
  275. package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
  276. package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
  277. package/src/client/services/default/default.management.js +159 -267
  278. package/src/client/services/default/default.service.js +10 -16
  279. package/src/client/services/document/document.service.js +14 -19
  280. package/src/client/services/file/file.service.js +8 -13
  281. package/src/client/services/instance/instance.management.js +6 -6
  282. package/src/client/services/instance/instance.service.js +10 -15
  283. package/src/client/services/ipfs/ipfs.service.js +14 -40
  284. package/src/client/services/object-layer/object-layer.management.js +14 -14
  285. package/src/client/services/object-layer/object-layer.service.js +39 -24
  286. package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +10 -16
  287. package/src/client/services/test/test.service.js +8 -13
  288. package/src/client/services/user/guest.service.js +86 -0
  289. package/src/client/services/user/user.management.js +6 -6
  290. package/src/client/services/user/user.service.js +14 -20
  291. package/src/client/ssr/body/404.js +3 -3
  292. package/src/client/ssr/body/500.js +3 -3
  293. package/src/client/ssr/body/CacheControl.js +5 -2
  294. package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
  295. package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +13 -6
  296. package/src/client/ssr/head/PwaItemledger.js +197 -60
  297. package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
  298. package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
  299. package/src/client/ssr/offline/Maintenance.js +12 -11
  300. package/src/client/ssr/offline/NoNetworkConnection.js +3 -3
  301. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  302. package/src/client/ssr/pages/Test.js +2 -2
  303. package/src/client/sw/core.sw.js +212 -0
  304. package/src/grpc/cyberia/grpc-server.js +642 -0
  305. package/src/index.js +24 -1
  306. package/src/runtime/cyberia-client/Dockerfile +80 -0
  307. package/src/runtime/cyberia-server/Dockerfile +37 -0
  308. package/src/runtime/express/Dockerfile +5 -1
  309. package/src/runtime/express/Express.js +18 -1
  310. package/src/runtime/lampp/Dockerfile +17 -5
  311. package/src/runtime/lampp/Lampp.js +27 -4
  312. package/src/runtime/wp/Dockerfile +62 -0
  313. package/src/runtime/wp/Wp.js +639 -0
  314. package/src/server/atlas-sprite-sheet-generator.js +4 -2
  315. package/src/server/auth.js +24 -1
  316. package/src/server/backup.js +37 -9
  317. package/src/server/client-build-docs.js +52 -46
  318. package/src/server/client-build.js +356 -82
  319. package/src/server/client-formatted.js +140 -57
  320. package/src/server/conf.js +29 -13
  321. package/src/server/cron.js +25 -23
  322. package/src/server/data-query.js +32 -20
  323. package/src/server/dns.js +24 -1
  324. package/src/server/ipfs-client.js +253 -89
  325. package/src/server/object-layer.js +150 -114
  326. package/src/server/peer.js +8 -0
  327. package/src/server/process.js +13 -27
  328. package/src/server/runtime.js +25 -1
  329. package/src/server/semantic-layer-generator-floor.js +319 -0
  330. package/src/server/semantic-layer-generator-resource.js +259 -0
  331. package/src/server/semantic-layer-generator-skin.js +1164 -0
  332. package/src/server/semantic-layer-generator.js +211 -542
  333. package/src/server/shape-generator.js +108 -0
  334. package/src/server/start.js +19 -5
  335. package/src/server/valkey.js +141 -235
  336. package/src/ws/IoInterface.js +1 -10
  337. package/src/ws/IoServer.js +14 -33
  338. package/src/ws/core/channels/core.ws.chat.js +65 -20
  339. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  340. package/src/ws/core/channels/core.ws.stream.js +90 -31
  341. package/src/ws/core/core.ws.connection.js +12 -33
  342. package/src/ws/core/core.ws.emit.js +10 -26
  343. package/src/ws/core/core.ws.server.js +25 -58
  344. package/src/ws/default/channels/default.ws.main.js +53 -12
  345. package/src/ws/default/default.ws.connection.js +26 -13
  346. package/src/ws/default/default.ws.server.js +30 -12
  347. package/tsconfig.docs.json +15 -0
  348. package/typedoc.dd-cyberia.json +29 -0
  349. package/typedoc.json +29 -0
  350. package/WHITE-PAPER.md +0 -1540
  351. package/hardhat/README.md +0 -531
  352. package/hardhat/WHITE-PAPER.md +0 -1540
  353. package/jsdoc.dd-cyberia.json +0 -59
  354. package/jsdoc.json +0 -59
  355. package/src/api/object-layer/README.md +0 -347
  356. package/src/client/components/core/ColorPalette.js +0 -5267
  357. package/src/client/components/core/JoyStick.js +0 -80
  358. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  359. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  360. package/src/client/components/cryptokoyn/RoutesCryptokoyn.js +0 -39
  361. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  362. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +0 -58
  363. package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +0 -136
  364. package/src/client/components/default/ElementsDefault.js +0 -38
  365. package/src/client/components/default/RoutesDefault.js +0 -49
  366. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  367. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  368. package/src/client/components/itemledger/RoutesItemledger.js +0 -40
  369. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  370. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  371. package/src/client/components/underpost/RoutesUnderpost.js +0 -47
  372. package/src/client/sw/default.sw.js +0 -127
  373. package/src/client/sw/template.sw.js +0 -84
  374. package/src/ws/core/management/core.ws.chat.js +0 -8
  375. package/src/ws/core/management/core.ws.mailer.js +0 -16
  376. package/src/ws/core/management/core.ws.stream.js +0 -8
  377. package/src/ws/default/management/default.ws.main.js +0 -8
@@ -10,9 +10,9 @@ import { SignUp } from '../core/SignUp.js';
10
10
  import { Translate } from '../core/Translate.js';
11
11
  import { htmls, s } from '../core/VanillaJs.js';
12
12
  import { extractUsernameFromPath, getProxyPath, getQueryParams } from '../core/Router.js';
13
- import { ElementsUnderpost } from './ElementsUnderpost.js';
13
+ import { AppStoreUnderpost } from './AppStoreUnderpost.js';
14
14
  import Sortable from 'sortablejs';
15
- import { RouterUnderpost, BannerAppTemplate } from './RoutesUnderpost.js';
15
+ import { RouterUnderpost, BannerAppTemplate } from './RouterUnderpost.js';
16
16
  import { LabGalleryUnderpost } from './LabGalleryUnderpost.js';
17
17
  import { CyberpunkBloggerUnderpost } from './CyberpunkBloggerUnderpost.js';
18
18
  import { Badge } from '../core/Badge.js';
@@ -26,35 +26,35 @@ import { Polyhedron } from '../core/Polyhedron.js';
26
26
  import { FileExplorer } from '../core/FileExplorer.js';
27
27
  import { Content } from '../core/Content.js';
28
28
 
29
- const MenuUnderpost = {
30
- Data: {},
31
- Render: async function () {
32
- const id = getId(this.Data, 'menu-');
33
- this.Data[id] = {};
34
- const RouterInstance = RouterUnderpost();
29
+ class AppShellUnderpost {
30
+ static Data = {};
31
+ static async instance() {
32
+ const id = getId(AppShellUnderpost.Data, 'menu-');
33
+ AppShellUnderpost.Data[id] = {};
34
+ const RouterInstance = RouterUnderpost.instance();
35
35
 
36
36
  const { barConfig } = await Themes[Css.currentTheme]();
37
37
 
38
- await Modal.Render({
38
+ await Modal.instance({
39
39
  id: 'modal-menu',
40
40
  html: html`
41
41
  <div class="fl menu-btn-container">
42
- ${await BtnIcon.Render({
42
+ ${await BtnIcon.instance({
43
43
  class: 'in wfa main-btn-menu main-btn-contracultura-cyberpunk',
44
44
  useMenuBtn: true,
45
45
  label: renderMenuLabel({
46
46
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/blogger.png" />`,
47
- text: html`<span class="menu-label-text">${Translate.Render('contracultura-cyberpunk')}</span>`,
47
+ text: html`<span class="menu-label-text">${Translate.instance('contracultura-cyberpunk')}</span>`,
48
48
  }),
49
49
  // style: 'display: none',
50
50
  attrs: `data-id="contracultura-cyberpunk"`,
51
51
  tabHref: `${getProxyPath()}contracultura-cyberpunk`,
52
52
  handleContainerClass: 'handle-btn-container',
53
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('blog')),
53
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('blog')),
54
54
  })}
55
55
  ${true
56
56
  ? ''
57
- : await BtnIcon.Render({
57
+ : await BtnIcon.instance({
58
58
  class: 'in wfa main-btn-menu main-btn-lab-gallery hide',
59
59
  useMenuBtn: true,
60
60
  label: renderMenuLabel({
@@ -62,139 +62,139 @@ const MenuUnderpost = {
62
62
  class="inl underpost-menu-icon"
63
63
  src="${getProxyPath()}assets/ui-icons/gallery.png"
64
64
  />`,
65
- text: html`<span class="menu-label-text">${Translate.Render('lab-gallery')}</span>`,
65
+ text: html`<span class="menu-label-text">${Translate.instance('lab-gallery')}</span>`,
66
66
  }),
67
67
  // style: 'display: none',
68
68
  attrs: `data-id="lab-gallery"`,
69
69
  tabHref: `${getProxyPath()}lab-gallery`,
70
70
  handleContainerClass: 'handle-btn-container',
71
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('blog')),
71
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('blog')),
72
72
  })}
73
- ${await BtnIcon.Render({
73
+ ${await BtnIcon.instance({
74
74
  class: 'in wfa main-btn-menu main-btn-home main-btn-menu-active',
75
75
  useMenuBtn: true,
76
76
  label: renderMenuLabel({
77
77
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/home.png" />`,
78
- text: html`<span class="menu-label-text">${Translate.Render('home')}</span>`,
78
+ text: html`<span class="menu-label-text">${Translate.instance('home')}</span>`,
79
79
  }),
80
80
  // style: 'display: none',
81
81
  attrs: `data-id="home"`,
82
82
  tabHref: `${getProxyPath()}`,
83
83
  handleContainerClass: 'handle-btn-container',
84
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('home')),
84
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('home')),
85
85
  })}
86
- ${await BtnIcon.Render({
86
+ ${await BtnIcon.instance({
87
87
  class: 'in wfa main-btn-menu main-btn-log-in',
88
88
  useMenuBtn: true,
89
89
  label: renderMenuLabel({
90
90
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/log-in.png" />`,
91
- text: html`<span class="menu-label-text">${Translate.Render('log-in')}</span>`,
91
+ text: html`<span class="menu-label-text">${Translate.instance('log-in')}</span>`,
92
92
  }),
93
93
  attrs: `data-id="log-in"`,
94
94
  tabHref: `${getProxyPath()}log-in`,
95
95
  handleContainerClass: 'handle-btn-container',
96
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('log-in')),
96
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('log-in')),
97
97
  })}
98
- ${await BtnIcon.Render({
98
+ ${await BtnIcon.instance({
99
99
  class: 'in wfa main-btn-menu main-btn-sign-up',
100
100
  useMenuBtn: true,
101
101
  label: renderMenuLabel({
102
102
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/sign-up.png" />`,
103
- text: html`<span class="menu-label-text">${Translate.Render('sign-up')}</span>`,
103
+ text: html`<span class="menu-label-text">${Translate.instance('sign-up')}</span>`,
104
104
  }),
105
105
  attrs: `data-id="sign-up"`,
106
106
  tabHref: `${getProxyPath()}sign-up`,
107
107
  handleContainerClass: 'handle-btn-container',
108
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('sign-up')),
108
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('sign-up')),
109
109
  })}
110
- ${await BtnIcon.Render({
110
+ ${await BtnIcon.instance({
111
111
  class: 'in wfa main-btn-menu main-btn-log-out',
112
112
  useMenuBtn: true,
113
113
  label: renderMenuLabel({
114
114
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/log-out.png" />`,
115
- text: html`<span class="menu-label-text">${Translate.Render('log-out')}</span>`,
115
+ text: html`<span class="menu-label-text">${Translate.instance('log-out')}</span>`,
116
116
  }),
117
117
  attrs: `data-id="log-out"`,
118
118
  style: 'display: none',
119
119
  tabHref: `${getProxyPath()}log-out`,
120
120
  handleContainerClass: 'handle-btn-container',
121
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('log-out')),
121
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('log-out')),
122
122
  })}
123
- ${await BtnIcon.Render({
123
+ ${await BtnIcon.instance({
124
124
  class: 'in wfa main-btn-menu main-btn-account',
125
125
  useMenuBtn: true,
126
126
  label: renderMenuLabel({
127
127
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/account.png" />`,
128
- text: html`<span class="menu-label-text">${Translate.Render('account')}</span>`,
128
+ text: html`<span class="menu-label-text">${Translate.instance('account')}</span>`,
129
129
  }),
130
130
  style: 'display: none',
131
131
  attrs: `data-id="account"`,
132
132
  tabHref: `${getProxyPath()}account`,
133
133
  handleContainerClass: 'handle-btn-container',
134
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('account')),
134
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('account')),
135
135
  })}
136
- ${await BtnIcon.Render({
136
+ ${await BtnIcon.instance({
137
137
  class: 'in wfa main-btn-menu main-btn-public-profile',
138
138
  useMenuBtn: true,
139
139
  label: renderMenuLabel({
140
140
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/character.png" />`,
141
- text: html`<span class="menu-label-text">${Translate.Render('public-profile')}</span>`,
141
+ text: html`<span class="menu-label-text">${Translate.instance('public-profile')}</span>`,
142
142
  }),
143
143
  style: 'display: none',
144
144
  attrs: `data-id="public-profile"`,
145
145
  tabHref: `${getProxyPath()}u`,
146
146
  handleContainerClass: 'handle-btn-container',
147
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('public-profile')),
147
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('public-profile')),
148
148
  })}
149
- ${await BtnIcon.Render({
149
+ ${await BtnIcon.instance({
150
150
  class: 'in wfa main-btn-menu main-btn-content hide',
151
151
  useMenuBtn: true,
152
152
  label: renderMenuLabel({
153
153
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/doc.png" />`,
154
- text: html`<span class="menu-label-text">${Translate.Render('content')}</span>`,
154
+ text: html`<span class="menu-label-text">${Translate.instance('content')}</span>`,
155
155
  }),
156
156
  attrs: `data-id="content"`,
157
157
  tabHref: `${getProxyPath()}content`,
158
158
  handleContainerClass: 'handle-btn-container',
159
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('content')),
159
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('content')),
160
160
  })}
161
- ${await BtnIcon.Render({
161
+ ${await BtnIcon.instance({
162
162
  class: 'in wfa main-btn-menu main-btn-cloud hide',
163
163
  useMenuBtn: true,
164
164
  label: renderMenuLabel({
165
165
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/cloud.png" />`,
166
- text: html`<span class="menu-label-text">${Translate.Render('cloud')}</span>`,
166
+ text: html`<span class="menu-label-text">${Translate.instance('cloud')}</span>`,
167
167
  }),
168
168
  attrs: `data-id="cloud"`,
169
169
  tabHref: `${getProxyPath()}cloud`,
170
170
  handleContainerClass: 'handle-btn-container',
171
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('cloud')),
171
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('cloud')),
172
172
  })}
173
- ${await BtnIcon.Render({
173
+ ${await BtnIcon.instance({
174
174
  class: 'in wfa main-btn-menu main-btn-settings',
175
175
  useMenuBtn: true,
176
176
  label: renderMenuLabel({
177
177
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/settings.png" />`,
178
- text: html`<span class="menu-label-text">${Translate.Render('settings')}</span>`,
178
+ text: html`<span class="menu-label-text">${Translate.instance('settings')}</span>`,
179
179
  }),
180
180
  attrs: `data-id="settings"`,
181
181
  tabHref: `${getProxyPath()}settings`,
182
182
  handleContainerClass: 'handle-btn-container',
183
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('settings')),
183
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('settings')),
184
184
  })}
185
- ${await BtnIcon.Render({
185
+ ${await BtnIcon.instance({
186
186
  class: 'in wfa main-btn-menu main-btn-recover hide',
187
187
  useMenuBtn: true,
188
188
  label: renderMenuLabel({
189
189
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/update.png" />`,
190
- text: html`<span class="menu-label-text">${Translate.Render('recover')}</span>`,
190
+ text: html`<span class="menu-label-text">${Translate.instance('recover')}</span>`,
191
191
  }),
192
192
  attrs: `data-id="recover"`,
193
193
  tabHref: `${getProxyPath()}recover`,
194
194
  handleContainerClass: 'handle-btn-container',
195
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('recover')),
195
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('recover')),
196
196
  })}
197
- ${await BtnIcon.Render({
197
+ ${await BtnIcon.instance({
198
198
  class: 'in wfa main-btn-menu main-btn-polyhedron',
199
199
  useMenuBtn: true,
200
200
  label: renderMenuLabel({
@@ -204,19 +204,19 @@ const MenuUnderpost = {
204
204
  attrs: `data-id="polyhedron"`,
205
205
  tabHref: `${getProxyPath()}polyhedron`,
206
206
  handleContainerClass: 'handle-btn-container',
207
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('polyhedron')),
207
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('polyhedron')),
208
208
  })}
209
- ${await BtnIcon.Render({
209
+ ${await BtnIcon.instance({
210
210
  class: 'in wfa main-btn-menu main-btn-github',
211
211
  useMenuBtn: true,
212
212
  label: renderMenuLabel({
213
213
  icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/github.png" />`,
214
- text: html`<span class="menu-label-text">${Translate.Render('github')}</span>`,
214
+ text: html`<span class="menu-label-text">${Translate.instance('github')}</span>`,
215
215
  }),
216
216
  attrs: `data-id="github"`,
217
217
  tabHref: `https://github.com/underpostnet/`,
218
218
  handleContainerClass: 'handle-btn-container',
219
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('github')),
219
+ tooltipHtml: await Badge.instance(buildBadgeToolTipMenuOption('github')),
220
220
  })}
221
221
  </div>
222
222
  `,
@@ -234,7 +234,7 @@ const MenuUnderpost = {
234
234
  const panelFormInstance = await PanelForm.instance({
235
235
  idPanel: 'underpost-panel',
236
236
  defaultUrlImage: `${getProxyPath()}assets/splash/apple-touch-icon-precomposed.png`,
237
- Elements: ElementsUnderpost,
237
+ appStore: AppStoreUnderpost,
238
238
  route: 'home',
239
239
  share: {
240
240
  copyLink: true,
@@ -337,7 +337,7 @@ const MenuUnderpost = {
337
337
  };
338
338
  setTimeout(ThemeEvents['underpost-main-theme-event']);
339
339
 
340
- this.Data[id].sortable = new Sortable(s(`.menu-btn-container`), {
340
+ AppShellUnderpost.Data[id].sortable = new Sortable(s(`.menu-btn-container`), {
341
341
  animation: 150,
342
342
  group: `menu-sortable`,
343
343
  forceFallback: true,
@@ -388,15 +388,15 @@ const MenuUnderpost = {
388
388
 
389
389
  EventsUI.onClick(`.main-btn-sign-up`, async () => {
390
390
  const { barConfig } = await Themes[Css.currentTheme]();
391
- await Modal.Render({
391
+ await Modal.instance({
392
392
  id: 'modal-sign-up',
393
393
  route: 'sign-up',
394
394
  barConfig,
395
395
  title: renderViewTitle({
396
396
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/sign-up.png" />`,
397
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('sign-up')}</span>`,
397
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('sign-up')}</span>`,
398
398
  }),
399
- html: async () => await SignUp.Render({ idModal: 'modal-sign-up' }),
399
+ html: async () => await SignUp.instance({ idModal: 'modal-sign-up' }),
400
400
  handleType: 'bar',
401
401
  maximize: true,
402
402
  mode: 'view',
@@ -407,15 +407,15 @@ const MenuUnderpost = {
407
407
 
408
408
  EventsUI.onClick(`.main-btn-log-out`, async () => {
409
409
  const { barConfig } = await Themes[Css.currentTheme]();
410
- await Modal.Render({
410
+ await Modal.instance({
411
411
  id: 'modal-log-out',
412
412
  route: 'log-out',
413
413
  barConfig,
414
414
  title: renderViewTitle({
415
415
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/log-out.png" />`,
416
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('log-out')}</span>`,
416
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('log-out')}</span>`,
417
417
  }),
418
- html: async () => await LogOut.Render(),
418
+ html: async () => await LogOut.instance(),
419
419
  handleType: 'bar',
420
420
  maximize: true,
421
421
  mode: 'view',
@@ -426,15 +426,15 @@ const MenuUnderpost = {
426
426
 
427
427
  EventsUI.onClick(`.main-btn-log-in`, async () => {
428
428
  const { barConfig } = await Themes[Css.currentTheme]();
429
- await Modal.Render({
429
+ await Modal.instance({
430
430
  id: 'modal-log-in',
431
431
  route: 'log-in',
432
432
  barConfig,
433
433
  title: renderViewTitle({
434
434
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/log-in.png" />`,
435
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('log-in')}</span>`,
435
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('log-in')}</span>`,
436
436
  }),
437
- html: async () => await LogIn.Render(),
437
+ html: async () => await LogIn.instance(),
438
438
  handleType: 'bar',
439
439
  maximize: true,
440
440
  mode: 'view',
@@ -445,15 +445,15 @@ const MenuUnderpost = {
445
445
 
446
446
  EventsUI.onClick(`.main-btn-lab-gallery`, async () => {
447
447
  const { barConfig } = await Themes[Css.currentTheme]();
448
- await Modal.Render({
448
+ await Modal.instance({
449
449
  id: 'modal-lab-gallery',
450
450
  route: 'lab-gallery',
451
451
  barConfig,
452
452
  title: renderViewTitle({
453
453
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/gallery.png" />`,
454
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('lab-gallery')}</span>`,
454
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('lab-gallery')}</span>`,
455
455
  }),
456
- html: async () => await LabGalleryUnderpost.Render(),
456
+ html: async () => await LabGalleryUnderpost.instance(),
457
457
  handleType: 'bar',
458
458
  maximize: true,
459
459
  mode: 'view',
@@ -464,15 +464,15 @@ const MenuUnderpost = {
464
464
 
465
465
  EventsUI.onClick(`.main-btn-contracultura-cyberpunk`, async () => {
466
466
  const { barConfig } = await Themes[Css.currentTheme]();
467
- await Modal.Render({
467
+ await Modal.instance({
468
468
  id: 'modal-contracultura-cyberpunk',
469
469
  route: 'contracultura-cyberpunk',
470
470
  barConfig,
471
471
  title: renderViewTitle({
472
472
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/blogger.png" />`,
473
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('contracultura-cyberpunk')}</span>`,
473
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('contracultura-cyberpunk')}</span>`,
474
474
  }),
475
- html: async () => await CyberpunkBloggerUnderpost.Render(),
475
+ html: async () => await CyberpunkBloggerUnderpost.instance(),
476
476
  handleType: 'bar',
477
477
  maximize: true,
478
478
  mode: 'view',
@@ -483,18 +483,18 @@ const MenuUnderpost = {
483
483
 
484
484
  EventsUI.onClick(`.main-btn-account`, async () => {
485
485
  const { barConfig } = await Themes[Css.currentTheme]();
486
- await Modal.Render({
486
+ await Modal.instance({
487
487
  id: 'modal-account',
488
488
  route: 'account',
489
489
  barConfig,
490
490
  title: renderViewTitle({
491
491
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/account.png" />`,
492
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('account')}</span>`,
492
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('account')}</span>`,
493
493
  }),
494
494
  html: async () =>
495
- await Account.Render({
495
+ await Account.instance({
496
496
  idModal: 'modal-account',
497
- user: ElementsUnderpost.Data.user.main.model.user,
497
+ user: AppStoreUnderpost.Data.user.main.model.user,
498
498
  disabled: [],
499
499
  }),
500
500
  handleType: 'bar',
@@ -510,7 +510,7 @@ const MenuUnderpost = {
510
510
  EventsUI.onClick(`.main-btn-public-profile`, async () => {
511
511
  const { barConfig } = await Themes[Css.currentTheme]();
512
512
  const idModal = 'modal-public-profile';
513
- const loggedInUser = ElementsUnderpost.Data.user.main.model.user;
513
+ const loggedInUser = AppStoreUnderpost.Data.user.main.model.user;
514
514
 
515
515
  // Determine the target username: prefer URL path/query over logged-in user
516
516
  const usernameFromPath = extractUsernameFromPath();
@@ -532,17 +532,17 @@ const MenuUnderpost = {
532
532
  }
533
533
  }
534
534
 
535
- await Modal.Render({
535
+ await Modal.instance({
536
536
  id: idModal,
537
537
  route: 'u',
538
538
  barConfig,
539
539
  title: '',
540
540
  // renderViewTitle({
541
541
  // icon: html`<i class="fas fa-user-circle"></i>`,
542
- // text: Translate.Render('public-profile'),
542
+ // text: Translate.instance('public-profile'),
543
543
  // }),
544
544
  html: async () =>
545
- await PublicProfile.Render({
545
+ await PublicProfile.instance({
546
546
  idModal,
547
547
  user: targetUser,
548
548
  }),
@@ -557,15 +557,15 @@ const MenuUnderpost = {
557
557
 
558
558
  EventsUI.onClick(`.main-btn-settings`, async () => {
559
559
  const { barConfig } = await Themes[Css.currentTheme]();
560
- await Modal.Render({
560
+ await Modal.instance({
561
561
  id: 'modal-settings',
562
562
  route: 'settings',
563
563
  barConfig,
564
564
  title: renderViewTitle({
565
565
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/settings.png" />`,
566
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('settings')}</span>`,
566
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('settings')}</span>`,
567
567
  }),
568
- html: async () => await SettingsUnderpost.Render({ idModal: 'modal-settings' }),
568
+ html: async () => await SettingsUnderpost.instance({ idModal: 'modal-settings' }),
569
569
  handleType: 'bar',
570
570
  maximize: true,
571
571
  mode: 'view',
@@ -584,16 +584,16 @@ const MenuUnderpost = {
584
584
  }
585
585
 
586
586
  const { barConfig } = await Themes[Css.currentTheme]();
587
- await Modal.Render({
587
+ await Modal.instance({
588
588
  id: `modal-content${subModalId}`,
589
589
  route: 'content',
590
590
  barConfig,
591
591
  title: renderViewTitle({
592
592
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/doc.png" />`,
593
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('content')}</span>`,
593
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('content')}</span>`,
594
594
  }),
595
595
  html: async () =>
596
- await Content.Render({
596
+ await Content.instance({
597
597
  idModal: `modal-content${subModalId}`,
598
598
  titleIcon: html`<img
599
599
  class="inl underpost-menu-icon-modal"
@@ -612,15 +612,15 @@ const MenuUnderpost = {
612
612
 
613
613
  EventsUI.onClick(`.main-btn-cloud`, async () => {
614
614
  const { barConfig } = await Themes[Css.currentTheme]();
615
- await Modal.Render({
615
+ await Modal.instance({
616
616
  id: 'modal-cloud',
617
617
  route: 'cloud',
618
618
  barConfig,
619
619
  title: renderViewTitle({
620
620
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/cloud.png" />`,
621
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('cloud')}</span>`,
621
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('cloud')}</span>`,
622
622
  }),
623
- html: async () => await FileExplorer.Render({ idModal: 'modal-cloud' }),
623
+ html: async () => await FileExplorer.instance({ idModal: 'modal-cloud' }),
624
624
  handleType: 'bar',
625
625
  maximize: true,
626
626
  mode: 'view',
@@ -631,16 +631,16 @@ const MenuUnderpost = {
631
631
 
632
632
  EventsUI.onClick(`.main-btn-recover`, async () => {
633
633
  const { barConfig } = await Themes[Css.currentTheme]();
634
- await Modal.Render({
634
+ await Modal.instance({
635
635
  id: 'modal-recover',
636
636
  route: 'recover',
637
637
  barConfig,
638
638
  title: renderViewTitle({
639
639
  icon: html`<img class="inl underpost-menu-icon-modal" src="${getProxyPath()}assets/ui-icons/update.png" />`,
640
- text: `<span class='inl underpost-text-title-modal'>${Translate.Render('recover')}</span>`,
640
+ text: `<span class='inl underpost-text-title-modal'>${Translate.instance('recover')}</span>`,
641
641
  }),
642
642
  html: async () =>
643
- await Recover.Render({ idModal: 'modal-recover', user: ElementsUnderpost.Data.user.main.model.user }),
643
+ await Recover.instance({ idModal: 'modal-recover', user: AppStoreUnderpost.Data.user.main.model.user }),
644
644
  handleType: 'bar',
645
645
  maximize: true,
646
646
  mode: 'view',
@@ -651,7 +651,7 @@ const MenuUnderpost = {
651
651
 
652
652
  EventsUI.onClick(`.main-btn-polyhedron`, async () => {
653
653
  const { barConfig } = await Themes[Css.currentTheme]();
654
- await Modal.Render({
654
+ await Modal.instance({
655
655
  id: 'modal-polyhedron',
656
656
  route: 'polyhedron',
657
657
  barConfig,
@@ -663,7 +663,7 @@ const MenuUnderpost = {
663
663
  text: `<span class='inl underpost-text-title-modal'>Polyhedron</span>`,
664
664
  }),
665
665
  html: async () =>
666
- await Polyhedron.Render({
666
+ await Polyhedron.instance({
667
667
  idModal: 'modal-polyhedron',
668
668
  style: {
669
669
  scene: { background: '#111' },
@@ -685,7 +685,7 @@ const MenuUnderpost = {
685
685
  EventsUI.onClick(`.main-btn-github`, async () => {
686
686
  location.href = `https://github.com/underpostnet/pwa-microservices-template/`;
687
687
  });
688
- },
689
- };
688
+ }
689
+ }
690
690
 
691
- export { MenuUnderpost };
691
+ export { AppShellUnderpost };
@@ -0,0 +1,5 @@
1
+ import { AppStore } from '../core/AppStore.js';
2
+
3
+ const AppStoreUnderpost = AppStore.create();
4
+
5
+ export { AppStoreUnderpost };
@@ -222,11 +222,11 @@ const CssCommonUnderpost = async () => {
222
222
  <div class="ag-grid-style"></div>`;
223
223
  };
224
224
 
225
- const CssUnderpostDark = {
226
- theme: 'underpost-dark',
227
- dark: true,
228
- barButtonsIconTheme: 'img',
229
- render: async () => {
225
+ class CssUnderpostDark {
226
+ static theme = 'underpost-dark';
227
+ static dark = true;
228
+ static barButtonsIconTheme = 'img';
229
+ static render = async () => {
230
230
  return (
231
231
  (await CssCommonUnderpost()) +
232
232
  html`
@@ -246,14 +246,14 @@ const CssUnderpostDark = {
246
246
  ${borderChar(2, `#f70808`, ['.default-slide-menu-top-bar-fix-title-container-text'])}
247
247
  `
248
248
  );
249
- },
250
- };
249
+ };
250
+ }
251
251
 
252
- const CssUnderpostLight = {
253
- theme: 'underpost-light',
254
- dark: false,
255
- barButtonsIconTheme: 'img',
256
- render: async () => {
252
+ class CssUnderpostLight {
253
+ static theme = 'underpost-light';
254
+ static dark = false;
255
+ static barButtonsIconTheme = 'img';
256
+ static render = async () => {
257
257
  return (
258
258
  (await CssCommonUnderpost()) +
259
259
  html`
@@ -275,7 +275,7 @@ const CssUnderpostLight = {
275
275
  ${borderChar(1, `#010101`, ['button', '.a-btn'], true)}
276
276
  `
277
277
  );
278
- },
279
- };
278
+ };
279
+ }
280
280
 
281
281
  export { CssUnderpostDark, CssCommonUnderpost, CssUnderpostLight };
@@ -1,7 +1,7 @@
1
1
  import { getProxyPath, getQueryParams } from '../core/Router.js';
2
2
 
3
- const CyberpunkBloggerUnderpost = {
4
- Render: async function () {
3
+ class CyberpunkBloggerUnderpost {
4
+ static async instance() {
5
5
  let renderBlog = '';
6
6
  if (getQueryParams().type === 'blog') {
7
7
  renderBlog += html`<style>
@@ -873,7 +873,7 @@ const CyberpunkBloggerUnderpost = {
873
873
  <br />
874
874
  <br /><br />
875
875
  `;
876
- },
877
- };
876
+ }
877
+ }
878
878
 
879
879
  export { CyberpunkBloggerUnderpost };
@@ -97,7 +97,7 @@ const DocumentSearchProvider = {
97
97
  * @param {string} result.createdAt - Document creation date.
98
98
  * @param {object} result.data - Full document data object.
99
99
  * @param {number} index - The index of this result in the results array.
100
- * @param {object} context - Render context object.
100
+ * @param {object} context - instance context object.
101
101
  * @returns {string} HTML string for the search result card.
102
102
  */
103
103
  renderResult: (result, index, context) => {