cyberia 3.0.3 → 3.2.5

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 (296) hide show
  1. package/{.env.production → .env.example} +20 -4
  2. package/.github/workflows/engine-cyberia.cd.yml +43 -10
  3. package/.github/workflows/engine-cyberia.ci.yml +48 -26
  4. package/.github/workflows/ghpkg.ci.yml +5 -5
  5. package/.github/workflows/gitlab.ci.yml +1 -1
  6. package/.github/workflows/hardhat.ci.yml +82 -0
  7. package/.github/workflows/npmpkg.ci.yml +60 -14
  8. package/.github/workflows/publish.ci.yml +26 -7
  9. package/.github/workflows/publish.cyberia.ci.yml +5 -5
  10. package/.github/workflows/pwa-microservices-template-page.cd.yml +6 -7
  11. package/.github/workflows/pwa-microservices-template-test.ci.yml +4 -4
  12. package/.github/workflows/release.cd.yml +14 -8
  13. package/.vscode/extensions.json +9 -8
  14. package/.vscode/settings.json +3 -2
  15. package/CHANGELOG.md +643 -1
  16. package/CLI-HELP.md +132 -57
  17. package/Dockerfile +4 -2
  18. package/README.md +347 -22
  19. package/WHITE-PAPER.md +1540 -0
  20. package/bin/build.js +21 -12
  21. package/bin/cyberia.js +2640 -106
  22. package/bin/deploy.js +258 -372
  23. package/bin/file.js +5 -1
  24. package/bin/index.js +2640 -106
  25. package/bin/vs.js +3 -3
  26. package/conf.js +169 -105
  27. package/deployment.yaml +236 -20
  28. package/hardhat/.env.example +31 -0
  29. package/hardhat/README.md +531 -0
  30. package/hardhat/WHITE-PAPER.md +1540 -0
  31. package/hardhat/contracts/ObjectLayerToken.sol +391 -0
  32. package/hardhat/deployments/.gitkeep +0 -0
  33. package/hardhat/deployments/hardhat-ObjectLayerToken.json +11 -0
  34. package/hardhat/hardhat.config.js +136 -0
  35. package/hardhat/ignition/modules/ObjectLayerToken.js +21 -0
  36. package/hardhat/networks/besu-object-layer.network.json +138 -0
  37. package/hardhat/package-lock.json +4323 -0
  38. package/hardhat/package.json +36 -0
  39. package/hardhat/scripts/deployObjectLayerToken.js +98 -0
  40. package/hardhat/test/ObjectLayerToken.js +592 -0
  41. package/hardhat/types/ethers-contracts/ObjectLayerToken.ts +690 -0
  42. package/hardhat/types/ethers-contracts/common.ts +92 -0
  43. package/hardhat/types/ethers-contracts/factories/ObjectLayerToken__factory.ts +1055 -0
  44. package/hardhat/types/ethers-contracts/factories/index.ts +4 -0
  45. package/hardhat/types/ethers-contracts/hardhat.d.ts +47 -0
  46. package/hardhat/types/ethers-contracts/index.ts +6 -0
  47. package/jsdoc.dd-cyberia.json +68 -0
  48. package/jsdoc.json +65 -49
  49. package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +5 -4
  50. package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +5 -4
  51. package/manifests/deployment/dd-cyberia-development/deployment.yaml +562 -0
  52. package/manifests/deployment/dd-cyberia-development/proxy.yaml +297 -0
  53. package/manifests/deployment/dd-cyberia-development/pv-pvc.yaml +132 -0
  54. package/manifests/deployment/dd-default-development/deployment.yaml +2 -2
  55. package/manifests/deployment/dd-test-development/deployment.yaml +88 -74
  56. package/manifests/deployment/dd-test-development/proxy.yaml +13 -4
  57. package/manifests/deployment/playwright/deployment.yaml +1 -1
  58. package/manifests/pv-pvc-dd.yaml +1 -1
  59. package/nodemon.json +1 -1
  60. package/package.json +60 -48
  61. package/proxy.yaml +118 -10
  62. package/pv-pvc.yaml +132 -0
  63. package/scripts/k3s-node-setup.sh +1 -1
  64. package/scripts/ports-ls.sh +2 -0
  65. package/scripts/rhel-grpc-setup.sh +56 -0
  66. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +47 -1
  67. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +17 -2
  68. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.router.js +5 -0
  69. package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +80 -7
  70. package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +93 -0
  71. package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +36 -0
  72. package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +29 -0
  73. package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +51 -0
  74. package/src/api/cyberia-entity/cyberia-entity.controller.js +74 -0
  75. package/src/api/cyberia-entity/cyberia-entity.model.js +24 -0
  76. package/src/api/cyberia-entity/cyberia-entity.router.js +27 -0
  77. package/src/api/cyberia-entity/cyberia-entity.service.js +42 -0
  78. package/src/api/cyberia-instance/cyberia-fallback-world.js +368 -0
  79. package/src/api/cyberia-instance/cyberia-instance.controller.js +92 -0
  80. package/src/api/cyberia-instance/cyberia-instance.model.js +84 -0
  81. package/src/api/cyberia-instance/cyberia-instance.router.js +63 -0
  82. package/src/api/cyberia-instance/cyberia-instance.service.js +191 -0
  83. package/src/api/cyberia-instance/cyberia-portal-connector.js +486 -0
  84. package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +74 -0
  85. package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +413 -0
  86. package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +228 -0
  87. package/src/api/cyberia-instance-conf/cyberia-instance-conf.router.js +27 -0
  88. package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +42 -0
  89. package/src/api/cyberia-map/cyberia-map.controller.js +79 -0
  90. package/src/api/cyberia-map/cyberia-map.model.js +30 -0
  91. package/src/api/cyberia-map/cyberia-map.router.js +40 -0
  92. package/src/api/cyberia-map/cyberia-map.service.js +74 -0
  93. package/src/api/document/document.service.js +1 -1
  94. package/src/api/file/file.controller.js +3 -1
  95. package/src/api/file/file.ref.json +18 -0
  96. package/src/api/file/file.service.js +28 -5
  97. package/src/api/ipfs/ipfs.controller.js +4 -25
  98. package/src/api/ipfs/ipfs.model.js +43 -34
  99. package/src/api/ipfs/ipfs.router.js +8 -13
  100. package/src/api/ipfs/ipfs.service.js +56 -104
  101. package/src/api/object-layer/README.md +347 -22
  102. package/src/api/object-layer/object-layer.controller.js +6 -2
  103. package/src/api/object-layer/object-layer.model.js +12 -8
  104. package/src/api/object-layer/object-layer.router.js +698 -42
  105. package/src/api/object-layer/object-layer.service.js +119 -37
  106. package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +1 -2
  107. package/src/api/user/user.router.js +10 -5
  108. package/src/api/user/user.service.js +15 -14
  109. package/src/cli/baremetal.js +6 -10
  110. package/src/cli/cloud-init.js +0 -3
  111. package/src/cli/cluster.js +7 -7
  112. package/src/cli/db.js +723 -857
  113. package/src/cli/deploy.js +215 -105
  114. package/src/cli/env.js +34 -5
  115. package/src/cli/fs.js +5 -4
  116. package/src/cli/image.js +0 -3
  117. package/src/cli/index.js +83 -15
  118. package/src/cli/kubectl.js +211 -0
  119. package/src/cli/monitor.js +5 -6
  120. package/src/cli/release.js +284 -0
  121. package/src/cli/repository.js +708 -62
  122. package/src/cli/run.js +371 -151
  123. package/src/cli/secrets.js +73 -2
  124. package/src/cli/ssh.js +1 -1
  125. package/src/cli/test.js +3 -3
  126. package/src/client/Cryptokoyn.index.js +3 -4
  127. package/src/client/CyberiaPortal.index.js +3 -4
  128. package/src/client/Default.index.js +3 -4
  129. package/src/client/Itemledger.index.js +4 -963
  130. package/src/client/Underpost.index.js +3 -4
  131. package/src/client/components/core/AgGrid.js +20 -5
  132. package/src/client/components/core/Alert.js +2 -2
  133. package/src/client/components/core/AppStore.js +69 -0
  134. package/src/client/components/core/CalendarCore.js +2 -2
  135. package/src/client/components/core/Content.js +22 -3
  136. package/src/client/components/core/Docs.js +30 -6
  137. package/src/client/components/core/DropDown.js +137 -17
  138. package/src/client/components/core/FileExplorer.js +71 -4
  139. package/src/client/components/core/Input.js +1 -1
  140. package/src/client/components/core/Keyboard.js +2 -2
  141. package/src/client/components/core/LogIn.js +2 -2
  142. package/src/client/components/core/LogOut.js +2 -2
  143. package/src/client/components/core/Modal.js +20 -7
  144. package/src/client/components/core/Panel.js +0 -1
  145. package/src/client/components/core/PanelForm.js +19 -19
  146. package/src/client/components/core/RichText.js +1 -2
  147. package/src/client/components/core/SocketIo.js +82 -29
  148. package/src/client/components/core/SocketIoHandler.js +75 -0
  149. package/src/client/components/core/Stream.js +143 -95
  150. package/src/client/components/core/Webhook.js +40 -7
  151. package/src/client/components/cryptokoyn/AppStoreCryptokoyn.js +5 -0
  152. package/src/client/components/cryptokoyn/LogInCryptokoyn.js +3 -3
  153. package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +2 -2
  154. package/src/client/components/cryptokoyn/MenuCryptokoyn.js +3 -3
  155. package/src/client/components/cryptokoyn/SocketIoCryptokoyn.js +3 -51
  156. package/src/client/components/cyberia/InstanceEngineCyberia.js +700 -0
  157. package/src/client/components/cyberia/MapEngineCyberia.js +1359 -2
  158. package/src/client/components/cyberia/ObjectLayerEngineModal.js +17 -6
  159. package/src/client/components/cyberia/ObjectLayerEngineViewer.js +92 -54
  160. package/src/client/components/cyberia-portal/AppStoreCyberiaPortal.js +5 -0
  161. package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +217 -30
  162. package/src/client/components/cyberia-portal/CssCyberiaPortal.js +44 -2
  163. package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +3 -4
  164. package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +2 -2
  165. package/src/client/components/cyberia-portal/MenuCyberiaPortal.js +104 -9
  166. package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +5 -0
  167. package/src/client/components/cyberia-portal/SocketIoCyberiaPortal.js +3 -49
  168. package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -0
  169. package/src/client/components/default/AppStoreDefault.js +5 -0
  170. package/src/client/components/default/LogInDefault.js +3 -3
  171. package/src/client/components/default/LogOutDefault.js +2 -2
  172. package/src/client/components/default/MenuDefault.js +5 -5
  173. package/src/client/components/default/SocketIoDefault.js +3 -51
  174. package/src/client/components/itemledger/AppStoreItemledger.js +5 -0
  175. package/src/client/components/itemledger/LogInItemledger.js +3 -3
  176. package/src/client/components/itemledger/LogOutItemledger.js +2 -2
  177. package/src/client/components/itemledger/MenuItemledger.js +3 -3
  178. package/src/client/components/itemledger/SocketIoItemledger.js +3 -51
  179. package/src/client/components/underpost/AppStoreUnderpost.js +5 -0
  180. package/src/client/components/underpost/CssUnderpost.js +59 -0
  181. package/src/client/components/underpost/LogInUnderpost.js +6 -3
  182. package/src/client/components/underpost/LogOutUnderpost.js +4 -2
  183. package/src/client/components/underpost/MenuUnderpost.js +104 -18
  184. package/src/client/components/underpost/RoutesUnderpost.js +2 -0
  185. package/src/client/components/underpost/SocketIoUnderpost.js +3 -51
  186. package/src/client/public/cryptokoyn/assets/logo/base-icon.png +0 -0
  187. package/src/client/public/cryptokoyn/browserconfig.xml +12 -0
  188. package/src/client/public/cryptokoyn/microdata.json +85 -0
  189. package/src/client/public/cryptokoyn/site.webmanifest +57 -0
  190. package/src/client/public/cryptokoyn/sitemap +3 -3
  191. package/src/client/public/default/sitemap +3 -3
  192. package/src/client/public/itemledger/browserconfig.xml +2 -2
  193. package/src/client/public/itemledger/manifest.webmanifest +4 -4
  194. package/src/client/public/itemledger/microdata.json +71 -0
  195. package/src/client/public/itemledger/sitemap +3 -3
  196. package/src/client/public/itemledger/yandex-browser-manifest.json +2 -2
  197. package/src/client/public/test/sitemap +3 -3
  198. package/src/client/services/core/core.service.js +20 -8
  199. package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +105 -0
  200. package/src/client/services/cyberia-entity/cyberia-entity.management.js +57 -0
  201. package/src/client/services/cyberia-entity/cyberia-entity.service.js +105 -0
  202. package/src/client/services/cyberia-instance/cyberia-instance.management.js +194 -0
  203. package/src/client/services/cyberia-instance/cyberia-instance.service.js +122 -0
  204. package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +105 -0
  205. package/src/client/services/cyberia-map/cyberia-map.management.js +193 -0
  206. package/src/client/services/cyberia-map/cyberia-map.service.js +126 -0
  207. package/src/client/services/instance/instance.management.js +2 -2
  208. package/src/client/services/ipfs/ipfs.service.js +3 -23
  209. package/src/client/services/object-layer/object-layer.management.js +3 -3
  210. package/src/client/services/object-layer/object-layer.service.js +21 -0
  211. package/src/client/services/user/user.management.js +2 -2
  212. package/src/client/ssr/body/404.js +15 -11
  213. package/src/client/ssr/body/500.js +15 -11
  214. package/src/client/ssr/body/SwaggerDarkMode.js +285 -0
  215. package/src/client/ssr/head/PwaItemledger.js +60 -0
  216. package/src/client/ssr/offline/NoNetworkConnection.js +11 -10
  217. package/src/client/ssr/pages/CyberiaServerMetrics.js +1 -1
  218. package/src/client/ssr/pages/Test.js +11 -10
  219. package/src/client.build.js +0 -3
  220. package/src/client.dev.js +0 -3
  221. package/src/db/DataBaseProvider.js +17 -2
  222. package/src/db/mariadb/MariaDB.js +14 -9
  223. package/src/db/mongo/MongooseDB.js +17 -1
  224. package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +305 -0
  225. package/src/grpc/cyberia/README.md +326 -0
  226. package/src/grpc/cyberia/grpc-server.js +530 -0
  227. package/src/index.js +24 -1
  228. package/src/proxy.js +0 -3
  229. package/src/runtime/express/Dockerfile +4 -0
  230. package/src/runtime/express/Express.js +33 -10
  231. package/src/runtime/lampp/Dockerfile +13 -2
  232. package/src/runtime/lampp/Lampp.js +33 -17
  233. package/src/runtime/wp/Dockerfile +68 -0
  234. package/src/runtime/wp/Wp.js +639 -0
  235. package/src/server/auth.js +36 -15
  236. package/src/server/backup.js +39 -12
  237. package/src/server/besu-genesis-generator.js +1630 -0
  238. package/src/server/client-build-docs.js +133 -17
  239. package/src/server/client-build-live.js +9 -18
  240. package/src/server/client-build.js +229 -101
  241. package/src/server/client-dev-server.js +14 -13
  242. package/src/server/client-formatted.js +109 -57
  243. package/src/server/conf.js +391 -164
  244. package/src/server/cron.js +27 -24
  245. package/src/server/dns.js +29 -12
  246. package/src/server/downloader.js +0 -2
  247. package/src/server/ipfs-client.js +24 -1
  248. package/src/server/logger.js +27 -9
  249. package/src/server/object-layer.js +217 -103
  250. package/src/server/peer.js +8 -2
  251. package/src/server/process.js +1 -50
  252. package/src/server/proxy.js +4 -8
  253. package/src/server/runtime.js +30 -9
  254. package/src/server/semantic-layer-generator-floor.js +359 -0
  255. package/src/server/semantic-layer-generator-skin.js +1294 -0
  256. package/src/server/semantic-layer-generator.js +116 -555
  257. package/src/server/ssr.js +0 -3
  258. package/src/server/start.js +19 -12
  259. package/src/server/tls.js +0 -2
  260. package/src/server.js +0 -4
  261. package/src/ws/IoInterface.js +1 -10
  262. package/src/ws/IoServer.js +14 -33
  263. package/src/ws/core/channels/core.ws.chat.js +65 -20
  264. package/src/ws/core/channels/core.ws.mailer.js +113 -32
  265. package/src/ws/core/channels/core.ws.stream.js +90 -31
  266. package/src/ws/core/core.ws.connection.js +12 -33
  267. package/src/ws/core/core.ws.emit.js +10 -26
  268. package/src/ws/core/core.ws.server.js +25 -58
  269. package/src/ws/default/channels/default.ws.main.js +53 -12
  270. package/src/ws/default/default.ws.connection.js +26 -13
  271. package/src/ws/default/default.ws.server.js +30 -12
  272. package/.env.development +0 -43
  273. package/.env.test +0 -43
  274. package/hardhat/contracts/CryptoKoyn.sol +0 -59
  275. package/hardhat/contracts/ItemLedger.sol +0 -73
  276. package/hardhat/contracts/Lock.sol +0 -34
  277. package/hardhat/hardhat.config.cjs +0 -45
  278. package/hardhat/ignition/modules/Lock.js +0 -18
  279. package/hardhat/networks/cryptokoyn-itemledger.network.json +0 -29
  280. package/hardhat/scripts/deployCryptokoyn.cjs +0 -25
  281. package/hardhat/scripts/deployItemledger.cjs +0 -25
  282. package/hardhat/test/Lock.js +0 -126
  283. package/hardhat/white-paper.md +0 -581
  284. package/src/client/components/cryptokoyn/CommonCryptokoyn.js +0 -29
  285. package/src/client/components/cryptokoyn/ElementsCryptokoyn.js +0 -38
  286. package/src/client/components/cyberia-portal/ElementsCyberiaPortal.js +0 -38
  287. package/src/client/components/default/ElementsDefault.js +0 -38
  288. package/src/client/components/itemledger/CommonItemledger.js +0 -29
  289. package/src/client/components/itemledger/ElementsItemledger.js +0 -38
  290. package/src/client/components/underpost/CommonUnderpost.js +0 -29
  291. package/src/client/components/underpost/ElementsUnderpost.js +0 -38
  292. package/src/ws/core/management/core.ws.chat.js +0 -8
  293. package/src/ws/core/management/core.ws.mailer.js +0 -16
  294. package/src/ws/core/management/core.ws.stream.js +0 -8
  295. package/src/ws/default/management/default.ws.main.js +0 -8
  296. package/white-paper.md +0 -581
@@ -158,6 +158,65 @@ const CssCommonUnderpost = async () => {
158
158
  .creator-avatar {
159
159
  border-radius: 0px !important;
160
160
  }
161
+
162
+ .content-render h1 {
163
+ font-size: 18px;
164
+ }
165
+ .content-render h2 {
166
+ font-size: 16px;
167
+ }
168
+ .content-render h3 {
169
+ font-size: 14px;
170
+ }
171
+ .content-render p {
172
+ font-size: 22px;
173
+ }
174
+ .underpost-panel-subtitle {
175
+ top: 3px !important;
176
+ }
177
+ .underpost-panel-cell,
178
+ .underpost-panel-cell p,
179
+ .underpost-panel-cell span,
180
+ .underpost-panel-cell a,
181
+ .underpost-panel-cell div,
182
+ .underpost-panel-cell pre,
183
+ .underpost-panel-cell code,
184
+ .EasyMDEContainer,
185
+ .editor-preview,
186
+ .editor-preview-full,
187
+ .editor-preview p,
188
+ .editor-preview-full p,
189
+ .editor-preview span,
190
+ .editor-preview-full span,
191
+ .editor-preview a,
192
+ .editor-preview-full a,
193
+ .editor-preview div,
194
+ .editor-preview-full div,
195
+ .editor-preview pre,
196
+ .editor-preview-full pre,
197
+ .editor-preview code,
198
+ .editor-preview-full code {
199
+ font-family: var(--up-font-retro-sensitive);
200
+ font-size: 24px;
201
+ }
202
+ .underpost-panel-cell h1,
203
+ .editor-preview h1,
204
+ .editor-preview-full h1 {
205
+ font-family: var(--up-font-retro-sensitive);
206
+ font-size: 36px;
207
+ }
208
+ .underpost-panel-cell h2,
209
+ .editor-preview h2,
210
+ .editor-preview-full h2 {
211
+ font-family: var(--up-font-retro-sensitive);
212
+ font-size: 30px;
213
+ }
214
+ .underpost-panel-cell h3,
215
+ .editor-preview h3,
216
+ .editor-preview-full h3 {
217
+ font-family: var(--up-font-retro-sensitive);
218
+ font-size: 26px;
219
+ }
161
220
  </style>
162
221
 
163
222
  <div class="ag-grid-style"></div>`;
@@ -1,20 +1,23 @@
1
1
  import { Auth } from '../core/Auth.js';
2
2
  import { LogIn } from '../core/LogIn.js';
3
- import { ElementsUnderpost } from './ElementsUnderpost.js';
3
+ import { AppStoreUnderpost } from './AppStoreUnderpost.js';
4
4
  import { PanelForm } from '../core/PanelForm.js';
5
5
  import { RouterReady } from '../core/Router.js';
6
+ import { s } from '../core/VanillaJs.js';
7
+ import { commonUserGuard } from '../core/CommonJs.js';
6
8
 
7
9
  const LogInUnderpost = async function () {
8
10
  LogIn.Event['LogInUnderpost'] = async (options) => {
9
11
  const { token, user } = options;
10
12
 
11
- ElementsUnderpost.Data.user.main.model.user = user;
13
+ AppStoreUnderpost.Data.user.main.model.user = user;
12
14
 
13
15
  await RouterReady;
14
16
  await PanelForm.Data['underpost-panel'].updatePanel();
17
+ if (s(`.main-btn-cloud`) && commonUserGuard(user.role)) s(`.main-btn-cloud`).classList.remove('hide');
15
18
  };
16
19
  const { user } = await Auth.sessionIn();
17
- ElementsUnderpost.Data.user.main.model.user = user;
20
+ AppStoreUnderpost.Data.user.main.model.user = user;
18
21
  };
19
22
 
20
23
  export { LogInUnderpost };
@@ -1,12 +1,14 @@
1
1
  import { LogOut } from '../core/LogOut.js';
2
- import { ElementsUnderpost } from './ElementsUnderpost.js';
2
+ import { AppStoreUnderpost } from './AppStoreUnderpost.js';
3
3
  import { PanelForm } from '../core/PanelForm.js';
4
+ import { s } from '../core/VanillaJs.js';
4
5
 
5
6
  const LogOutUnderpost = async function () {
6
7
  LogOut.Event['LogOutUnderpost'] = async (result = { user: { _id: '' } }) => {
7
- ElementsUnderpost.Data.user.main.model.user = result.user;
8
+ AppStoreUnderpost.Data.user.main.model.user = result.user;
8
9
 
9
10
  PanelForm.Data['underpost-panel'].updatePanel();
11
+ if (s(`.main-btn-cloud`)) s(`.main-btn-cloud`).classList.add('hide');
10
12
  };
11
13
  };
12
14
 
@@ -10,7 +10,7 @@ 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
15
  import { RouterUnderpost, BannerAppTemplate } from './RoutesUnderpost.js';
16
16
  import { LabGalleryUnderpost } from './LabGalleryUnderpost.js';
@@ -23,6 +23,8 @@ import { SearchBox } from '../core/SearchBox.js';
23
23
  import { DocumentSearchProvider } from './DocumentSearchProvider.js';
24
24
  import { PublicProfile } from '../core/PublicProfile.js';
25
25
  import { Polyhedron } from '../core/Polyhedron.js';
26
+ import { FileExplorer } from '../core/FileExplorer.js';
27
+ import { Content } from '../core/Content.js';
26
28
 
27
29
  const MenuUnderpost = {
28
30
  Data: {},
@@ -50,19 +52,24 @@ const MenuUnderpost = {
50
52
  handleContainerClass: 'handle-btn-container',
51
53
  tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('blog')),
52
54
  })}
53
- ${await BtnIcon.Render({
54
- class: 'in wfa main-btn-menu main-btn-lab-gallery hide',
55
- useMenuBtn: true,
56
- label: renderMenuLabel({
57
- icon: html`<img class="inl underpost-menu-icon" src="${getProxyPath()}assets/ui-icons/gallery.png" />`,
58
- text: html`<span class="menu-label-text">${Translate.Render('lab-gallery')}</span>`,
59
- }),
60
- // style: 'display: none',
61
- attrs: `data-id="lab-gallery"`,
62
- tabHref: `${getProxyPath()}lab-gallery`,
63
- handleContainerClass: 'handle-btn-container',
64
- tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('blog')),
65
- })}
55
+ ${true
56
+ ? ''
57
+ : await BtnIcon.Render({
58
+ class: 'in wfa main-btn-menu main-btn-lab-gallery hide',
59
+ useMenuBtn: true,
60
+ label: renderMenuLabel({
61
+ icon: html`<img
62
+ class="inl underpost-menu-icon"
63
+ src="${getProxyPath()}assets/ui-icons/gallery.png"
64
+ />`,
65
+ text: html`<span class="menu-label-text">${Translate.Render('lab-gallery')}</span>`,
66
+ }),
67
+ // style: 'display: none',
68
+ attrs: `data-id="lab-gallery"`,
69
+ tabHref: `${getProxyPath()}lab-gallery`,
70
+ handleContainerClass: 'handle-btn-container',
71
+ tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('blog')),
72
+ })}
66
73
  ${await BtnIcon.Render({
67
74
  class: 'in wfa main-btn-menu main-btn-home main-btn-menu-active',
68
75
  useMenuBtn: true,
@@ -139,6 +146,30 @@ const MenuUnderpost = {
139
146
  handleContainerClass: 'handle-btn-container',
140
147
  tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('public-profile')),
141
148
  })}
149
+ ${await BtnIcon.Render({
150
+ class: 'in wfa main-btn-menu main-btn-content hide',
151
+ useMenuBtn: true,
152
+ label: renderMenuLabel({
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>`,
155
+ }),
156
+ attrs: `data-id="content"`,
157
+ tabHref: `${getProxyPath()}content`,
158
+ handleContainerClass: 'handle-btn-container',
159
+ tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('content')),
160
+ })}
161
+ ${await BtnIcon.Render({
162
+ class: 'in wfa main-btn-menu main-btn-cloud hide',
163
+ useMenuBtn: true,
164
+ label: renderMenuLabel({
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>`,
167
+ }),
168
+ attrs: `data-id="cloud"`,
169
+ tabHref: `${getProxyPath()}cloud`,
170
+ handleContainerClass: 'handle-btn-container',
171
+ tooltipHtml: await Badge.Render(buildBadgeToolTipMenuOption('cloud')),
172
+ })}
142
173
  ${await BtnIcon.Render({
143
174
  class: 'in wfa main-btn-menu main-btn-settings',
144
175
  useMenuBtn: true,
@@ -203,7 +234,7 @@ const MenuUnderpost = {
203
234
  const panelFormInstance = await PanelForm.instance({
204
235
  idPanel: 'underpost-panel',
205
236
  defaultUrlImage: `${getProxyPath()}assets/splash/apple-touch-icon-precomposed.png`,
206
- Elements: ElementsUnderpost,
237
+ appStore: AppStoreUnderpost,
207
238
  route: 'home',
208
239
  share: {
209
240
  copyLink: true,
@@ -463,7 +494,7 @@ const MenuUnderpost = {
463
494
  html: async () =>
464
495
  await Account.Render({
465
496
  idModal: 'modal-account',
466
- user: ElementsUnderpost.Data.user.main.model.user,
497
+ user: AppStoreUnderpost.Data.user.main.model.user,
467
498
  disabled: [],
468
499
  }),
469
500
  handleType: 'bar',
@@ -479,7 +510,7 @@ const MenuUnderpost = {
479
510
  EventsUI.onClick(`.main-btn-public-profile`, async () => {
480
511
  const { barConfig } = await Themes[Css.currentTheme]();
481
512
  const idModal = 'modal-public-profile';
482
- const loggedInUser = ElementsUnderpost.Data.user.main.model.user;
513
+ const loggedInUser = AppStoreUnderpost.Data.user.main.model.user;
483
514
 
484
515
  // Determine the target username: prefer URL path/query over logged-in user
485
516
  const usernameFromPath = extractUsernameFromPath();
@@ -543,6 +574,61 @@ const MenuUnderpost = {
543
574
  });
544
575
  });
545
576
 
577
+ EventsUI.onClick(`.main-btn-content`, async () => {
578
+ let subModalId = '';
579
+ const path =
580
+ location.pathname[location.pathname.length - 1] === '/' ? location.pathname.slice(0, -1) : location.pathname;
581
+
582
+ if (path.split('/').pop() === 'content' && getQueryParams().cid) {
583
+ subModalId = `-${getQueryParams().cid}`;
584
+ }
585
+
586
+ const { barConfig } = await Themes[Css.currentTheme]();
587
+ await Modal.Render({
588
+ id: `modal-content${subModalId}`,
589
+ route: 'content',
590
+ barConfig,
591
+ title: renderViewTitle({
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>`,
594
+ }),
595
+ html: async () =>
596
+ await Content.Render({
597
+ idModal: `modal-content${subModalId}`,
598
+ titleIcon: html`<img
599
+ class="inl underpost-menu-icon-modal"
600
+ src="${getProxyPath()}assets/ui-icons/doc.png"
601
+ />`,
602
+ }),
603
+ query: true,
604
+ observer: true,
605
+ handleType: 'bar',
606
+ maximize: true,
607
+ mode: 'view',
608
+ slideMenu: 'modal-menu',
609
+ RouterInstance,
610
+ });
611
+ });
612
+
613
+ EventsUI.onClick(`.main-btn-cloud`, async () => {
614
+ const { barConfig } = await Themes[Css.currentTheme]();
615
+ await Modal.Render({
616
+ id: 'modal-cloud',
617
+ route: 'cloud',
618
+ barConfig,
619
+ title: renderViewTitle({
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>`,
622
+ }),
623
+ html: async () => await FileExplorer.Render({ idModal: 'modal-cloud' }),
624
+ handleType: 'bar',
625
+ maximize: true,
626
+ mode: 'view',
627
+ slideMenu: 'modal-menu',
628
+ RouterInstance,
629
+ });
630
+ });
631
+
546
632
  EventsUI.onClick(`.main-btn-recover`, async () => {
547
633
  const { barConfig } = await Themes[Css.currentTheme]();
548
634
  await Modal.Render({
@@ -554,7 +640,7 @@ const MenuUnderpost = {
554
640
  text: `<span class='inl underpost-text-title-modal'>${Translate.Render('recover')}</span>`,
555
641
  }),
556
642
  html: async () =>
557
- await Recover.Render({ idModal: 'modal-recover', user: ElementsUnderpost.Data.user.main.model.user }),
643
+ await Recover.Render({ idModal: 'modal-recover', user: AppStoreUnderpost.Data.user.main.model.user }),
558
644
  handleType: 'bar',
559
645
  maximize: true,
560
646
  mode: 'view',
@@ -32,6 +32,8 @@ const RoutesUnderpost = () => {
32
32
  '/u': { title: 'public-profile', render: () => s(`.main-btn-public-profile`).click() },
33
33
  '/settings': { title: 'settings', render: () => s(`.main-btn-settings`).click() },
34
34
  '/recover': { title: 'recover', render: () => s(`.main-btn-recover`).click() },
35
+ '/content': { title: 'content', render: () => s(`.main-btn-content`).click() },
36
+ '/cloud': { title: 'cloud', render: () => s(`.main-btn-cloud`).click() },
35
37
  '/polyhedron': { title: 'polyhedron', render: () => s(`.main-btn-polyhedron`).click() },
36
38
  };
37
39
  };
@@ -1,54 +1,6 @@
1
- import { Account } from '../core/Account.js';
2
- import { Chat } from '../core/Chat.js';
3
- import { s4 } from '../core/CommonJs.js';
4
- import { loggerFactory } from '../core/Logger.js';
5
- import { SocketIo } from '../core/SocketIo.js';
6
- import { s } from '../core/VanillaJs.js';
7
- import { ElementsUnderpost } from './ElementsUnderpost.js';
1
+ import { SocketIoHandlerProvider } from '../core/SocketIoHandler.js';
2
+ import { AppStoreUnderpost } from './AppStoreUnderpost.js';
8
3
 
9
- const logger = loggerFactory(import.meta);
10
-
11
- const SocketIoUnderpost = {
12
- Init: function () {
13
- return new Promise((resolve) => {
14
- for (const type of Object.keys(ElementsUnderpost.Data)) {
15
- SocketIo.Event[type][s4()] = async (args) => {
16
- args = JSON.parse(args[0]);
17
- switch (type) {
18
- case 'chat':
19
- {
20
- const idModal = 'modal-chat';
21
- if (s(`.${idModal}-chat-box`)) Chat.appendChatBox({ idModal, ...args });
22
- }
23
- break;
24
-
25
- default:
26
- break;
27
- }
28
- const { status } = args;
29
-
30
- switch (status) {
31
- case 'email-confirmed': {
32
- const newUser = { ...ElementsUnderpost.Data.user.main.model.user, emailConfirmed: true };
33
- Account.renderVerifyEmailStatus(newUser);
34
- Account.triggerUpdateEvent({ user: newUser });
35
- break;
36
- }
37
-
38
- default:
39
- break;
40
- }
41
- };
42
- }
43
- SocketIo.Event.connect[s4()] = async (reason) => {
44
- // ElementsUnderpost.Init({ type, id, element });
45
- };
46
- SocketIo.Event.disconnect[s4()] = async (reason) => {
47
- // ElementsUnderpost.removeAll();
48
- };
49
- return resolve();
50
- });
51
- },
52
- };
4
+ const SocketIoUnderpost = SocketIoHandlerProvider.create(AppStoreUnderpost);
53
5
 
54
6
  export { SocketIoUnderpost };
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square70x70logo src="/assets/splash/mstile-70x70.png"/>
6
+ <square150x150logo src="/assets/splash/mstile-150x150.png"/>
7
+ <wide310x150logo src="/assets/splash/mstile-310x150.png"/>
8
+ <square310x310logo src="/assets/splash/mstile-310x310.png"/>
9
+ <TileColor>#E1DB07</TileColor>
10
+ </tile>
11
+ </msapplication>
12
+ </browserconfig>
@@ -0,0 +1,85 @@
1
+ [
2
+ {
3
+ "@context": "https://schema.org",
4
+ "@type": "WebApplication",
5
+ "name": "Cryptokoyn",
6
+ "alternateName": "CKY",
7
+ "url": "https://cryptokoyn.net",
8
+ "description": "Financial portal and token hub for CryptoKoyn (CKY) — the fungible ERC-1155 currency of the Cyberia Online ecosystem. Staking, governance, analytics, and wallet management.",
9
+ "applicationCategory": "FinanceApplication",
10
+ "operatingSystem": "Any",
11
+ "browserRequirements": "Requires JavaScript. Requires HTML5.",
12
+ "offers": {
13
+ "@type": "Offer",
14
+ "price": "0",
15
+ "priceCurrency": "USD"
16
+ },
17
+ "author": {
18
+ "@type": "Organization",
19
+ "name": "Underpost",
20
+ "url": "https://github.com/underpostnet"
21
+ },
22
+ "potentialAction": {
23
+ "@type": "SearchAction",
24
+ "target": "https://cryptokoyn.net/?q={search_term_string}",
25
+ "query-input": "required name=search_term_string"
26
+ },
27
+ "featureList": [
28
+ "ERC-1155 Token Management",
29
+ "Staking Dashboard",
30
+ "Governance Voting",
31
+ "Wallet Management",
32
+ "Analytics & Charts",
33
+ "Real-time Price Tracking"
34
+ ],
35
+ "screenshot": "https://cryptokoyn.net/assets/banner/koyn-social.png",
36
+ "softwareVersion": "1.0.0",
37
+ "inLanguage": "en"
38
+ },
39
+ {
40
+ "@context": "https://schema.org",
41
+ "@type": "Organization",
42
+ "name": "Cryptokoyn",
43
+ "url": "https://cryptokoyn.net",
44
+ "logo": "https://cryptokoyn.net/assets/splash/android-chrome-256x256.png",
45
+ "description": "Financial portal and token hub for CryptoKoyn (CKY) — the fungible ERC-1155 currency of the Cyberia Online ecosystem.",
46
+ "sameAs": [
47
+ "https://github.com/underpostnet"
48
+ ],
49
+ "parentOrganization": {
50
+ "@type": "Organization",
51
+ "name": "Underpost",
52
+ "url": "https://underpost.net"
53
+ }
54
+ },
55
+ {
56
+ "@context": "https://schema.org",
57
+ "@type": "FAQPage",
58
+ "mainEntity": [
59
+ {
60
+ "@type": "Question",
61
+ "name": "What is CryptoKoyn (CKY)?",
62
+ "acceptedAnswer": {
63
+ "@type": "Answer",
64
+ "text": "CryptoKoyn (CKY) is a fungible ERC-1155 token that serves as the primary currency within the Cyberia Online ecosystem. It can be used for in-game transactions, staking, and governance voting."
65
+ }
66
+ },
67
+ {
68
+ "@type": "Question",
69
+ "name": "How do I stake CKY tokens?",
70
+ "acceptedAnswer": {
71
+ "@type": "Answer",
72
+ "text": "You can stake CKY tokens through the Cryptokoyn staking dashboard. Connect your wallet, select the amount you wish to stake, and confirm the transaction to start earning rewards."
73
+ }
74
+ },
75
+ {
76
+ "@type": "Question",
77
+ "name": "Is Cryptokoyn free to use?",
78
+ "acceptedAnswer": {
79
+ "@type": "Answer",
80
+ "text": "Yes, the Cryptokoyn portal is free to use. You only need a compatible web browser and a wallet to interact with the blockchain features."
81
+ }
82
+ }
83
+ ]
84
+ }
85
+ ]
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "Cryptokoyn",
3
+ "short_name": "Cryptokoyn",
4
+ "description": "Financial portal and token hub for CryptoKoyn (CKY) — the fungible ERC-1155 currency of the Cyberia Online ecosystem.",
5
+ "dir": "auto",
6
+ "lang": "en-US",
7
+ "display": "standalone",
8
+ "orientation": "any",
9
+ "scope": "/",
10
+ "start_url": "/?homescreen=1",
11
+ "background_color": "#E1DB07",
12
+ "theme_color": "#E1DB07",
13
+ "icons": [
14
+ {
15
+ "src": "/assets/splash/android-chrome-36x36.png",
16
+ "sizes": "36x36",
17
+ "type": "image/png",
18
+ "purpose": "any maskable"
19
+ },
20
+ {
21
+ "src": "/assets/splash/android-chrome-48x48.png",
22
+ "sizes": "48x48",
23
+ "type": "image/png",
24
+ "purpose": "any maskable"
25
+ },
26
+ {
27
+ "src": "/assets/splash/android-chrome-72x72.png",
28
+ "sizes": "72x72",
29
+ "type": "image/png",
30
+ "purpose": "any maskable"
31
+ },
32
+ {
33
+ "src": "/assets/splash/android-chrome-96x96.png",
34
+ "sizes": "96x96",
35
+ "type": "image/png",
36
+ "purpose": "any maskable"
37
+ },
38
+ {
39
+ "src": "/assets/splash/android-chrome-144x144.png",
40
+ "sizes": "144x144",
41
+ "type": "image/png",
42
+ "purpose": "any maskable"
43
+ },
44
+ {
45
+ "src": "/assets/splash/android-chrome-192x192.png",
46
+ "sizes": "192x192",
47
+ "type": "image/png",
48
+ "purpose": "any maskable"
49
+ },
50
+ {
51
+ "src": "/assets/splash/android-chrome-256x256.png",
52
+ "sizes": "256x256",
53
+ "type": "image/png",
54
+ "purpose": "any maskable"
55
+ }
56
+ ]
57
+ }
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="2.0"
2
+ <xsl:stylesheet version="1.0"
3
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
4
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
5
5
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
@@ -67,7 +67,7 @@
67
67
  <div id="content">
68
68
  <h1>XML Sitemap</h1>
69
69
  <p class="desc"> This is a sitemap generated by <a
70
- href="https://www.nexodev.org">nexodev.org</a>
70
+ href="{{web-url}}">{{web-url}}</a>
71
71
  </p>
72
72
  <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &gt; 0">
73
73
  <table id="sitemap" cellpadding="3">
@@ -145,4 +145,4 @@
145
145
  </html>
146
146
 
147
147
  </xsl:template>
148
- </xsl:stylesheet>
148
+ </xsl:stylesheet>
@@ -1,5 +1,5 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <xsl:stylesheet version="2.0"
2
+ <xsl:stylesheet version="1.0"
3
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
4
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
5
5
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
@@ -67,7 +67,7 @@
67
67
  <div id="content">
68
68
  <h1>XML Sitemap</h1>
69
69
  <p class="desc"> This is a sitemap generated by <a
70
- href="https://www.nexodev.org">nexodev.org</a>
70
+ href="{{web-url}}">{{web-url}}</a>
71
71
  </p>
72
72
  <xsl:if test="count(sitemap:sitemapindex/sitemap:sitemap) &gt; 0">
73
73
  <table id="sitemap" cellpadding="3">
@@ -145,4 +145,4 @@
145
145
  </html>
146
146
 
147
147
  </xsl:template>
148
- </xsl:stylesheet>
148
+ </xsl:stylesheet>
@@ -6,7 +6,7 @@
6
6
  <square150x150logo src="/mstile-150x150.png"/>
7
7
  <wide310x150logo src="/mstile-310x150.png"/>
8
8
  <square310x310logo src="/mstile-310x310.png"/>
9
- <TileColor>#fff</TileColor>
9
+ <TileColor>#0551C4</TileColor>
10
10
  </tile>
11
11
  </msapplication>
12
- </browserconfig>
12
+ </browserconfig>
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "Item Ledger",
3
3
  "short_name": "Item Ledger",
4
- "description": null,
4
+ "description": "Canonical registry, metadata resolver, and IPFS indexer for Object Layer items — semi-fungible and non-fungible ERC-1155 tokens in the Cyberia Online ecosystem. Item search, provenance, and marketplace.",
5
5
  "dir": "auto",
6
6
  "lang": "en-US",
7
7
  "display": "standalone",
8
8
  "orientation": "any",
9
9
  "scope": "/",
10
10
  "start_url": "/?homescreen=1",
11
- "background_color": "#fff",
12
- "theme_color": "#fff",
11
+ "background_color": "#0551C4",
12
+ "theme_color": "#0551C4",
13
13
  "icons": [
14
14
  {
15
15
  "src": "/android-chrome-36x36.png",
@@ -66,4 +66,4 @@
66
66
  "purpose": "any maskable"
67
67
  }
68
68
  ]
69
- }
69
+ }