cyberia 3.2.5 → 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.
- package/.github/workflows/engine-cyberia.cd.yml +2 -2
- package/.github/workflows/release.cd.yml +1 -2
- package/CHANGELOG.md +351 -1
- package/CLI-HELP.md +40 -13
- package/Dockerfile +0 -4
- package/README.md +242 -497
- package/bin/build.js +19 -5
- package/bin/cyberia.js +1149 -240
- package/bin/deploy.js +570 -1
- package/bin/file.js +6 -0
- package/bin/index.js +1149 -240
- package/bin/vs.js +1 -1
- package/conf.js +67 -89
- package/deployment.yaml +4 -222
- package/hardhat/package-lock.json +32 -32
- package/hardhat/package.json +3 -3
- package/jsconfig.json +1 -1
- package/manifests/cronjobs/dd-cron/dd-cron-backup.yaml +2 -2
- package/manifests/cronjobs/dd-cron/dd-cron-dns.yaml +2 -2
- package/manifests/deployment/dd-cyberia-development/deployment.yaml +4 -222
- package/manifests/deployment/dd-cyberia-development/proxy.yaml +10 -118
- package/manifests/deployment/dd-default-development/deployment.yaml +2 -6
- package/manifests/deployment/dd-test-development/deployment.yaml +136 -66
- package/manifests/deployment/dd-test-development/proxy.yaml +41 -5
- package/package.json +23 -14
- package/proxy.yaml +10 -118
- package/scripts/k3s-node-setup.sh +2 -2
- package/scripts/nat-iptables.sh +103 -18
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.controller.js +18 -18
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.model.js +7 -14
- package/src/api/atlas-sprite-sheet/atlas-sprite-sheet.service.js +76 -21
- package/src/api/core/core.controller.js +10 -10
- package/src/api/core/core.service.js +10 -10
- package/src/api/crypto/crypto.controller.js +8 -8
- package/src/api/crypto/crypto.service.js +8 -8
- package/src/api/cyberia-action/cyberia-action.controller.js +74 -0
- package/src/api/cyberia-action/cyberia-action.model.js +87 -0
- package/src/api/cyberia-action/cyberia-action.router.js +27 -0
- package/src/api/cyberia-action/cyberia-action.service.js +42 -0
- package/src/api/cyberia-dialogue/cyberia-dialogue.controller.js +13 -13
- package/src/api/cyberia-dialogue/cyberia-dialogue.model.js +11 -11
- package/src/api/cyberia-dialogue/cyberia-dialogue.router.js +2 -2
- package/src/api/cyberia-dialogue/cyberia-dialogue.service.js +16 -16
- package/src/api/cyberia-entity/cyberia-entity.controller.js +10 -10
- package/src/api/cyberia-entity/cyberia-entity.service.js +10 -10
- package/src/api/cyberia-instance/cyberia-fallback-world.js +19 -209
- package/src/api/cyberia-instance/cyberia-instance.controller.js +14 -14
- package/src/api/cyberia-instance/cyberia-instance.model.js +3 -0
- package/src/api/cyberia-instance/cyberia-instance.service.js +22 -57
- package/src/api/cyberia-instance/cyberia-portal-connector.js +20 -246
- package/src/api/cyberia-instance/cyberia-world-generator.js +505 -0
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.controller.js +10 -10
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.defaults.js +216 -55
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.model.js +4 -1
- package/src/api/cyberia-instance-conf/cyberia-instance-conf.service.js +18 -14
- package/src/api/cyberia-map/cyberia-map.controller.js +10 -10
- package/src/api/cyberia-map/cyberia-map.service.js +10 -10
- package/src/api/cyberia-quest/cyberia-quest.controller.js +74 -0
- package/src/api/cyberia-quest/cyberia-quest.model.js +67 -0
- package/src/api/cyberia-quest/cyberia-quest.router.js +27 -0
- package/src/api/cyberia-quest/cyberia-quest.service.js +42 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.controller.js +74 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.model.js +49 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.router.js +27 -0
- package/src/api/cyberia-quest-progress/cyberia-quest-progress.service.js +42 -0
- package/src/api/default/default.controller.js +10 -10
- package/src/api/default/default.service.js +10 -10
- package/src/api/document/document.controller.js +12 -12
- package/src/api/document/document.model.js +10 -16
- package/src/api/file/file.controller.js +8 -8
- package/src/api/file/file.model.js +10 -10
- package/src/api/file/file.service.js +36 -36
- package/src/api/instance/instance.controller.js +10 -10
- package/src/api/instance/instance.model.js +4 -10
- package/src/api/instance/instance.service.js +10 -10
- package/src/api/ipfs/ipfs.controller.js +12 -12
- package/src/api/ipfs/ipfs.model.js +4 -13
- package/src/api/ipfs/ipfs.service.js +14 -28
- package/src/api/object-layer/object-layer.controller.js +12 -12
- package/src/api/object-layer/object-layer.model.js +4 -17
- package/src/api/object-layer/object-layer.service.js +12 -12
- package/src/api/object-layer-render-frames/object-layer-render-frames.controller.js +10 -10
- package/src/api/object-layer-render-frames/object-layer-render-frames.model.js +6 -16
- package/src/api/object-layer-render-frames/object-layer-render-frames.service.js +18 -14
- package/src/api/test/test.controller.js +8 -8
- package/src/api/test/test.service.js +8 -8
- package/src/api/user/guest.service.js +99 -0
- package/src/api/user/user.controller.js +6 -6
- package/src/api/user/user.model.js +8 -13
- package/src/api/user/user.service.js +3 -20
- package/src/cli/cluster.js +61 -14
- package/src/cli/db.js +47 -2
- package/src/cli/deploy.js +67 -35
- package/src/cli/fs.js +79 -8
- package/src/cli/image.js +43 -1
- package/src/cli/index.js +26 -1
- package/src/cli/release.js +57 -1
- package/src/cli/repository.js +69 -31
- package/src/cli/run.js +415 -36
- package/src/cli/ssh.js +1 -1
- package/src/cli/static.js +43 -115
- package/src/client/Cryptokoyn.index.js +18 -21
- package/src/client/CyberiaPortal.index.js +19 -23
- package/src/client/Default.index.js +21 -33
- package/src/client/Itemledger.index.js +20 -26
- package/src/client/Underpost.index.js +19 -23
- package/src/client/components/core/404.js +4 -4
- package/src/client/components/core/500.js +4 -4
- package/src/client/components/core/Account.js +73 -60
- package/src/client/components/core/AgGrid.js +23 -33
- package/src/client/components/core/Alert.js +12 -13
- package/src/client/components/core/AppStore.js +1 -1
- package/src/client/components/core/Auth.js +35 -37
- package/src/client/components/core/Badge.js +7 -13
- package/src/client/components/core/BtnIcon.js +15 -17
- package/src/client/components/core/CalendarCore.js +42 -63
- package/src/client/components/core/Chat.js +13 -15
- package/src/client/components/core/ClientEvents.js +87 -0
- package/src/client/components/core/ColorPaletteElement.js +309 -0
- package/src/client/components/core/Content.js +17 -14
- package/src/client/components/core/Css.js +15 -71
- package/src/client/components/core/CssCore.js +12 -16
- package/src/client/components/core/D3Chart.js +4 -4
- package/src/client/components/core/Docs.js +64 -91
- package/src/client/components/core/DropDown.js +69 -91
- package/src/client/components/core/EventBus.js +92 -0
- package/src/client/components/core/EventsUI.js +14 -17
- package/src/client/components/core/FileExplorer.js +96 -228
- package/src/client/components/core/FullScreen.js +47 -75
- package/src/client/components/core/Input.js +24 -69
- package/src/client/components/core/Keyboard.js +25 -18
- package/src/client/components/core/KeyboardAvoidance.js +145 -0
- package/src/client/components/core/LoadingAnimation.js +25 -31
- package/src/client/components/core/LogIn.js +41 -41
- package/src/client/components/core/LogOut.js +23 -14
- package/src/client/components/core/Modal.js +462 -178
- package/src/client/components/core/NotificationManager.js +14 -18
- package/src/client/components/core/Panel.js +54 -50
- package/src/client/components/core/PanelForm.js +25 -125
- package/src/client/components/core/Polyhedron.js +110 -214
- package/src/client/components/core/PublicProfile.js +39 -32
- package/src/client/components/core/Recover.js +48 -44
- package/src/client/components/core/Responsive.js +88 -32
- package/src/client/components/core/RichText.js +9 -18
- package/src/client/components/core/Router.js +24 -3
- package/src/client/components/core/SearchBox.js +37 -37
- package/src/client/components/core/SignUp.js +39 -30
- package/src/client/components/core/SocketIo.js +31 -2
- package/src/client/components/core/SocketIoHandler.js +6 -6
- package/src/client/components/core/ToggleSwitch.js +8 -20
- package/src/client/components/core/ToolTip.js +5 -17
- package/src/client/components/core/Translate.js +56 -59
- package/src/client/components/core/Validator.js +26 -16
- package/src/client/components/core/Wallet.js +15 -26
- package/src/client/components/core/Worker.js +163 -27
- package/src/client/components/core/windowGetDimensions.js +7 -7
- package/src/client/components/cryptokoyn/{MenuCryptokoyn.js → AppShellCryptokoyn.js} +57 -57
- package/src/client/components/cryptokoyn/CssCryptokoyn.js +15 -15
- package/src/client/components/cryptokoyn/LogInCryptokoyn.js +6 -4
- package/src/client/components/cryptokoyn/LogOutCryptokoyn.js +6 -4
- package/src/client/components/cryptokoyn/RouterCryptokoyn.js +37 -0
- package/src/client/components/cryptokoyn/SettingsCryptokoyn.js +4 -4
- package/src/client/components/cryptokoyn/SignUpCryptokoyn.js +6 -4
- package/src/client/components/cyberia/InstanceEngineCyberia.js +141 -60
- package/src/client/components/cyberia/MapEngineCyberia.js +691 -214
- package/src/client/components/cyberia/ObjectLayerEngine.js +19 -0
- package/src/client/components/cyberia/ObjectLayerEngineModal.js +1204 -94
- package/src/client/components/cyberia/ObjectLayerEngineViewer.js +196 -298
- package/src/client/components/cyberia-portal/{MenuCyberiaPortal.js → AppShellCyberiaPortal.js} +102 -102
- package/src/client/components/cyberia-portal/CommonCyberiaPortal.js +305 -61
- package/src/client/components/cyberia-portal/CssCyberiaPortal.js +15 -15
- package/src/client/components/cyberia-portal/LogInCyberiaPortal.js +6 -4
- package/src/client/components/cyberia-portal/LogOutCyberiaPortal.js +6 -4
- package/src/client/components/cyberia-portal/MainBodyCyberiaPortal.js +4 -4
- package/src/client/components/cyberia-portal/RouterCyberiaPortal.js +60 -0
- package/src/client/components/cyberia-portal/SettingsCyberiaPortal.js +4 -4
- package/src/client/components/cyberia-portal/SignUpCyberiaPortal.js +6 -4
- package/src/client/components/cyberia-portal/TranslateCyberiaPortal.js +4 -4
- package/src/client/components/default/{MenuDefault.js → AppShellDefault.js} +87 -87
- package/src/client/components/default/CssDefault.js +12 -12
- package/src/client/components/default/LogInDefault.js +6 -4
- package/src/client/components/default/LogOutDefault.js +6 -4
- package/src/client/components/default/RouterDefault.js +47 -0
- package/src/client/components/default/SettingsDefault.js +4 -4
- package/src/client/components/default/SignUpDefault.js +6 -4
- package/src/client/components/default/TranslateDefault.js +3 -3
- package/src/client/components/itemledger/{MenuItemledger.js → AppShellItemledger.js} +57 -57
- package/src/client/components/itemledger/CssItemledger.js +15 -15
- package/src/client/components/itemledger/LogInItemledger.js +6 -4
- package/src/client/components/itemledger/LogOutItemledger.js +6 -4
- package/src/client/components/itemledger/RouterItemledger.js +38 -0
- package/src/client/components/itemledger/SettingsItemledger.js +4 -4
- package/src/client/components/itemledger/SignUpItemledger.js +6 -4
- package/src/client/components/itemledger/TranslateItemledger.js +3 -3
- package/src/client/components/underpost/{MenuUnderpost.js → AppShellUnderpost.js} +88 -88
- package/src/client/components/underpost/CssUnderpost.js +14 -14
- package/src/client/components/underpost/CyberpunkBloggerUnderpost.js +4 -4
- package/src/client/components/underpost/DocumentSearchProvider.js +1 -1
- package/src/client/components/underpost/LabGalleryUnderpost.js +12 -15
- package/src/client/components/underpost/LogInUnderpost.js +6 -4
- package/src/client/components/underpost/LogOutUnderpost.js +6 -4
- package/src/client/components/underpost/RouterUnderpost.js +45 -0
- package/src/client/components/underpost/SettingsUnderpost.js +4 -4
- package/src/client/components/underpost/SignUpUnderpost.js +6 -4
- package/src/client/components/underpost/TranslateUnderpost.js +4 -4
- package/src/client/public/cyberia-docs/ACTION-SYSTEM.md +235 -0
- package/src/client/public/cyberia-docs/ARCHITECTURE.md +443 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLI.md +417 -0
- package/src/client/public/cyberia-docs/CYBERIA-CLIENT.md +313 -0
- package/src/client/public/cyberia-docs/CYBERIA-SERVER.md +260 -0
- package/src/client/public/cyberia-docs/ENTITY-PROFILE.md +241 -0
- package/src/client/public/cyberia-docs/HARDHAT-MODULE.md +300 -0
- package/src/client/public/cyberia-docs/OFF-CHAIN-ECONOMY.md +279 -0
- package/src/client/public/cyberia-docs/QUEST-SYSTEM.md +206 -0
- package/src/client/public/cyberia-docs/ROADMAP.md +240 -0
- package/src/client/public/cyberia-docs/WHITE-PAPER.md +732 -0
- package/src/client/services/atlas-sprite-sheet/atlas-sprite-sheet.service.js +14 -20
- package/src/client/services/core/core.service.js +17 -49
- package/src/client/services/crypto/crypto.service.js +8 -13
- package/src/client/services/cyberia-action/cyberia-action.service.js +99 -0
- package/src/client/services/cyberia-dialogue/cyberia-dialogue.service.js +10 -16
- package/src/client/services/cyberia-entity/cyberia-entity.management.js +5 -5
- package/src/client/services/cyberia-entity/cyberia-entity.service.js +10 -16
- package/src/client/services/cyberia-instance/cyberia-instance.management.js +6 -6
- package/src/client/services/cyberia-instance/cyberia-instance.service.js +12 -18
- package/src/client/services/cyberia-instance-conf/cyberia-instance-conf.service.js +10 -16
- package/src/client/services/cyberia-map/cyberia-map.management.js +6 -6
- package/src/client/services/cyberia-map/cyberia-map.service.js +12 -18
- package/src/client/services/cyberia-quest/cyberia-quest.service.js +99 -0
- package/src/client/services/cyberia-quest-progress/cyberia-quest-progress.service.js +99 -0
- package/src/client/services/default/default.management.js +159 -267
- package/src/client/services/default/default.service.js +10 -16
- package/src/client/services/document/document.service.js +14 -19
- package/src/client/services/file/file.service.js +8 -13
- package/src/client/services/instance/instance.management.js +5 -5
- package/src/client/services/instance/instance.service.js +10 -15
- package/src/client/services/ipfs/ipfs.service.js +12 -18
- package/src/client/services/object-layer/object-layer.management.js +12 -12
- package/src/client/services/object-layer/object-layer.service.js +20 -26
- package/src/client/services/object-layer-render-frames/object-layer-render-frames.service.js +10 -16
- package/src/client/services/test/test.service.js +8 -13
- package/src/client/services/user/guest.service.js +86 -0
- package/src/client/services/user/user.management.js +5 -5
- package/src/client/services/user/user.service.js +14 -20
- package/src/client/ssr/body/404.js +3 -3
- package/src/client/ssr/body/500.js +3 -3
- package/src/client/ssr/body/CacheControl.js +5 -2
- package/src/client/ssr/body/DefaultSplashScreen.js +19 -12
- package/src/client/ssr/body/UnderpostDefaultSplashScreen.js +13 -6
- package/src/client/ssr/head/PwaItemledger.js +197 -60
- package/src/client/ssr/mailer/DefaultRecoverEmail.js +19 -20
- package/src/client/ssr/mailer/DefaultVerifyEmail.js +15 -16
- package/src/client/ssr/offline/Maintenance.js +12 -11
- package/src/client/ssr/offline/NoNetworkConnection.js +3 -3
- package/src/client/ssr/pages/Test.js +2 -2
- package/src/client/sw/core.sw.js +212 -0
- package/src/grpc/cyberia/grpc-server.js +179 -67
- package/src/index.js +1 -1
- package/src/runtime/cyberia-client/Dockerfile +80 -0
- package/src/runtime/cyberia-server/Dockerfile +37 -0
- package/src/runtime/express/Dockerfile +4 -4
- package/src/runtime/lampp/Dockerfile +8 -7
- package/src/runtime/wp/Dockerfile +11 -17
- package/src/server/atlas-sprite-sheet-generator.js +4 -2
- package/src/server/client-build-docs.js +45 -46
- package/src/server/client-build.js +334 -60
- package/src/server/client-formatted.js +47 -16
- package/src/server/conf.js +5 -4
- package/src/server/data-query.js +32 -20
- package/src/server/dns.js +22 -0
- package/src/server/ipfs-client.js +232 -91
- package/src/server/object-layer.js +1 -6
- package/src/server/process.js +13 -27
- package/src/server/semantic-layer-generator-floor.js +11 -51
- package/src/server/semantic-layer-generator-resource.js +259 -0
- package/src/server/semantic-layer-generator-skin.js +41 -171
- package/src/server/semantic-layer-generator.js +122 -14
- package/src/server/shape-generator.js +108 -0
- package/src/server/start.js +17 -3
- package/src/server/valkey.js +141 -235
- package/tsconfig.docs.json +15 -0
- package/typedoc.dd-cyberia.json +29 -0
- package/typedoc.json +29 -0
- package/WHITE-PAPER.md +0 -1540
- package/hardhat/README.md +0 -531
- package/hardhat/WHITE-PAPER.md +0 -1540
- package/jsdoc.dd-cyberia.json +0 -68
- package/jsdoc.json +0 -68
- package/src/api/object-layer/README.md +0 -672
- package/src/client/components/core/ColorPalette.js +0 -5267
- package/src/client/components/core/JoyStick.js +0 -80
- package/src/client/components/cryptokoyn/RoutesCryptokoyn.js +0 -39
- package/src/client/components/cyberia-portal/RoutesCyberiaPortal.js +0 -62
- package/src/client/components/cyberia-portal/ServerCyberiaPortal.js +0 -136
- package/src/client/components/default/RoutesDefault.js +0 -49
- package/src/client/components/itemledger/RoutesItemledger.js +0 -40
- package/src/client/components/underpost/RoutesUnderpost.js +0 -47
- package/src/client/sw/default.sw.js +0 -127
- package/src/client/sw/template.sw.js +0 -84
- package/src/grpc/cyberia/OFF_CHAIN_ECONOMY.md +0 -305
- package/src/grpc/cyberia/README.md +0 -326
|
@@ -1,24 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { Worker } from './components/core/Worker.js';
|
|
4
|
+
import { RouterDefault } from './components/default/RouterDefault.js';
|
|
5
|
+
import { AppShellDefault } from './components/default/AppShellDefault.js';
|
|
6
|
+
import { AppStoreDefault } from './components/default/AppStoreDefault.js';
|
|
7
|
+
import { SocketIoDefault } from './components/default/SocketIoDefault.js';
|
|
6
8
|
import { LogInDefault } from './components/default/LogInDefault.js';
|
|
7
9
|
import { LogOutDefault } from './components/default/LogOutDefault.js';
|
|
8
10
|
import { SignUpDefault } from './components/default/SignUpDefault.js';
|
|
9
|
-
import { MenuDefault } from './components/default/MenuDefault.js';
|
|
10
|
-
import { RouterDefault } from './components/default/RoutesDefault.js';
|
|
11
|
-
import { TranslateDefault } from './components/default/TranslateDefault.js';
|
|
12
|
-
import { Worker } from './components/core/Worker.js';
|
|
13
|
-
import { Keyboard } from './components/core/Keyboard.js';
|
|
14
|
-
import { SocketIo } from './components/core/SocketIo.js';
|
|
15
|
-
import { SocketIoDefault } from './components/default/SocketIoDefault.js';
|
|
16
|
-
import { AppStoreDefault } from './components/default/AppStoreDefault.js';
|
|
17
11
|
import { CssDefaultDark, CssDefaultLight } from './components/default/CssDefault.js';
|
|
12
|
+
import { TranslateDefault } from './components/default/TranslateDefault.js';
|
|
18
13
|
import { EventsUI } from './components/core/EventsUI.js';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const htmlMainBody = async () => {
|
|
14
|
+
const DefaultTemplate = async () => {
|
|
22
15
|
setTimeout(() => {
|
|
23
16
|
EventsUI.onClick('.get-started-button', (e) => {
|
|
24
17
|
e.preventDefault();
|
|
@@ -32,11 +25,10 @@ const htmlMainBody = async () => {
|
|
|
32
25
|
<span class="greeting">Hello, World!</span>
|
|
33
26
|
<span class="subtitle">Welcome to Our Platform</span>
|
|
34
27
|
</h1>
|
|
35
|
-
|
|
36
28
|
<div class="features">
|
|
37
29
|
<div class="feature-card">
|
|
38
30
|
<i class="icon">🚀</i>
|
|
39
|
-
<h3>Fast & Reliable</h3>
|
|
31
|
+
<h3>Fast & Reliable</h3>
|
|
40
32
|
<p>Lightning-fast performance with 99.9% uptime</p>
|
|
41
33
|
</div>
|
|
42
34
|
<div class="feature-card">
|
|
@@ -50,7 +42,6 @@ const htmlMainBody = async () => {
|
|
|
50
42
|
<p>Everything you need in one place</p>
|
|
51
43
|
</div>
|
|
52
44
|
</div>
|
|
53
|
-
|
|
54
45
|
<button class="cta-button get-started-button">
|
|
55
46
|
Get Started
|
|
56
47
|
<span class="button-icon">→</span>
|
|
@@ -60,24 +51,21 @@ const htmlMainBody = async () => {
|
|
|
60
51
|
`;
|
|
61
52
|
};
|
|
62
53
|
|
|
54
|
+
const CssDefaultThemes = [CssDefaultDark, CssDefaultLight];
|
|
55
|
+
|
|
63
56
|
window.onload = () =>
|
|
64
57
|
Worker.instance({
|
|
65
58
|
router: RouterDefault,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
await LogInDefault();
|
|
78
|
-
await LogOutDefault();
|
|
79
|
-
await SignUpDefault();
|
|
80
|
-
await Keyboard.Init();
|
|
81
|
-
await Modal.RenderSeoSanitizer();
|
|
59
|
+
template: DefaultTemplate,
|
|
60
|
+
themes: CssDefaultThemes,
|
|
61
|
+
translate: TranslateDefault,
|
|
62
|
+
render: AppShellDefault,
|
|
63
|
+
appStore: AppStoreDefault,
|
|
64
|
+
socketPath: '/',
|
|
65
|
+
session: {
|
|
66
|
+
socket: SocketIoDefault,
|
|
67
|
+
login: LogInDefault,
|
|
68
|
+
signout: LogOutDefault,
|
|
69
|
+
signup: SignUpDefault,
|
|
82
70
|
},
|
|
83
71
|
});
|
|
@@ -1,41 +1,35 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { Worker } from './components/core/Worker.js';
|
|
4
|
+
import { RouterItemledger } from './components/itemledger/RouterItemledger.js';
|
|
5
|
+
import { AppShellItemledger } from './components/itemledger/AppShellItemledger.js';
|
|
6
|
+
import { AppStoreItemledger } from './components/itemledger/AppStoreItemledger.js';
|
|
7
|
+
import { SocketIoItemledger } from './components/itemledger/SocketIoItemledger.js';
|
|
6
8
|
import { LogInItemledger } from './components/itemledger/LogInItemledger.js';
|
|
7
9
|
import { LogOutItemledger } from './components/itemledger/LogOutItemledger.js';
|
|
8
10
|
import { SignUpItemledger } from './components/itemledger/SignUpItemledger.js';
|
|
9
|
-
import { MenuItemledger } from './components/itemledger/MenuItemledger.js';
|
|
10
|
-
import { RouterItemledger } from './components/itemledger/RoutesItemledger.js';
|
|
11
|
-
import { TranslateItemledger } from './components/itemledger/TranslateItemledger.js';
|
|
12
|
-
import { Worker } from './components/core/Worker.js';
|
|
13
|
-
import { Keyboard } from './components/core/Keyboard.js';
|
|
14
|
-
import { SocketIo } from './components/core/SocketIo.js';
|
|
15
|
-
import { SocketIoItemledger } from './components/itemledger/SocketIoItemledger.js';
|
|
16
|
-
import { AppStoreItemledger } from './components/itemledger/AppStoreItemledger.js';
|
|
17
11
|
import { CssItemledgerDark, CssItemledgerLight } from './components/itemledger/CssItemledger.js';
|
|
18
|
-
import {
|
|
19
|
-
import { EventsUI } from './components/core/EventsUI.js';
|
|
12
|
+
import { TranslateItemledger } from './components/itemledger/TranslateItemledger.js';
|
|
20
13
|
|
|
21
|
-
const
|
|
14
|
+
const ItemledgerTemplate = async () => {
|
|
22
15
|
return html``;
|
|
23
16
|
};
|
|
24
17
|
|
|
18
|
+
const CssItemledgerThemes = [CssItemledgerDark, CssItemledgerLight];
|
|
19
|
+
|
|
25
20
|
window.onload = () =>
|
|
26
21
|
Worker.instance({
|
|
27
22
|
router: RouterItemledger,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
await Keyboard.Init();
|
|
23
|
+
template: ItemledgerTemplate,
|
|
24
|
+
themes: CssItemledgerThemes,
|
|
25
|
+
translate: TranslateItemledger,
|
|
26
|
+
render: AppShellItemledger,
|
|
27
|
+
appStore: AppStoreItemledger,
|
|
28
|
+
|
|
29
|
+
session: {
|
|
30
|
+
socket: SocketIoItemledger,
|
|
31
|
+
login: LogInItemledger,
|
|
32
|
+
signout: LogOutItemledger,
|
|
33
|
+
signup: SignUpItemledger,
|
|
40
34
|
},
|
|
41
35
|
});
|
|
@@ -1,35 +1,31 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
3
|
+
import { Worker } from './components/core/Worker.js';
|
|
4
|
+
import { RouterUnderpost } from './components/underpost/RouterUnderpost.js';
|
|
5
|
+
import { AppShellUnderpost } from './components/underpost/AppShellUnderpost.js';
|
|
6
|
+
import { AppStoreUnderpost } from './components/underpost/AppStoreUnderpost.js';
|
|
7
|
+
import { SocketIoUnderpost } from './components/underpost/SocketIoUnderpost.js';
|
|
6
8
|
import { LogInUnderpost } from './components/underpost/LogInUnderpost.js';
|
|
7
9
|
import { LogOutUnderpost } from './components/underpost/LogOutUnderpost.js';
|
|
8
10
|
import { SignUpUnderpost } from './components/underpost/SignUpUnderpost.js';
|
|
9
|
-
import { MenuUnderpost } from './components/underpost/MenuUnderpost.js';
|
|
10
|
-
import { RouterUnderpost } from './components/underpost/RoutesUnderpost.js';
|
|
11
|
-
import { TranslateUnderpost } from './components/underpost/TranslateUnderpost.js';
|
|
12
|
-
import { Worker } from './components/core/Worker.js';
|
|
13
|
-
import { Keyboard } from './components/core/Keyboard.js';
|
|
14
|
-
import { SocketIoUnderpost } from './components/underpost/SocketIoUnderpost.js';
|
|
15
|
-
import { SocketIo } from './components/core/SocketIo.js';
|
|
16
|
-
import { AppStoreUnderpost } from './components/underpost/AppStoreUnderpost.js';
|
|
17
11
|
import { CssUnderpostDark, CssUnderpostLight } from './components/underpost/CssUnderpost.js';
|
|
12
|
+
import { TranslateUnderpost } from './components/underpost/TranslateUnderpost.js';
|
|
13
|
+
|
|
14
|
+
const CssUnderpostThemes = [CssUnderpostDark, CssUnderpostLight];
|
|
18
15
|
|
|
19
16
|
window.onload = () =>
|
|
20
17
|
Worker.instance({
|
|
21
18
|
router: RouterUnderpost,
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
await Keyboard.Init();
|
|
19
|
+
|
|
20
|
+
themes: CssUnderpostThemes,
|
|
21
|
+
translate: TranslateUnderpost,
|
|
22
|
+
render: AppShellUnderpost,
|
|
23
|
+
appStore: AppStoreUnderpost,
|
|
24
|
+
|
|
25
|
+
session: {
|
|
26
|
+
socket: SocketIoUnderpost,
|
|
27
|
+
login: LogInUnderpost,
|
|
28
|
+
signout: LogOutUnderpost,
|
|
29
|
+
signup: SignUpUnderpost,
|
|
34
30
|
},
|
|
35
31
|
});
|
|
@@ -2,8 +2,8 @@ import { Alert } from './Alert.js';
|
|
|
2
2
|
import { Modal } from './Modal.js';
|
|
3
3
|
import { s } from './VanillaJs.js';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
class Page404 {
|
|
6
|
+
static async instance(options = { idModal: '' }) {
|
|
7
7
|
setTimeout(() => {
|
|
8
8
|
Modal.Data[options.idModal].onObserverListener['404'] = () => {
|
|
9
9
|
if (s(`.container-404-${options.idModal}`))
|
|
@@ -14,7 +14,7 @@ const Page404 = {
|
|
|
14
14
|
Modal.Data[options.idModal].onObserverListener['404']();
|
|
15
15
|
});
|
|
16
16
|
return html`<div class="in container-404-${options.idModal}">${await Alert.e404()}</div>`;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
19
|
|
|
20
20
|
export { Page404 };
|
|
@@ -2,8 +2,8 @@ import { Alert } from './Alert.js';
|
|
|
2
2
|
import { Modal } from './Modal.js';
|
|
3
3
|
import { s } from './VanillaJs.js';
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
class Page500 {
|
|
6
|
+
static async instance(options = { idModal: '' }) {
|
|
7
7
|
setTimeout(() => {
|
|
8
8
|
Modal.Data[options.idModal].onObserverListener['500'] = () => {
|
|
9
9
|
if (s(`.container-500-${options.idModal}`))
|
|
@@ -14,7 +14,7 @@ const Page500 = {
|
|
|
14
14
|
Modal.Data[options.idModal].onObserverListener['500']();
|
|
15
15
|
});
|
|
16
16
|
return html`<div class="in container-500-${options.idModal}">${await Alert.e500()}</div>`;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
19
|
|
|
20
20
|
export { Page500 };
|
|
@@ -15,13 +15,25 @@ import { Validator } from './Validator.js';
|
|
|
15
15
|
import { append, htmls, s } from './VanillaJs.js';
|
|
16
16
|
import { getProxyPath } from './Router.js';
|
|
17
17
|
import { getApiBaseUrl } from '../../services/core/core.service.js';
|
|
18
|
+
import { AccountEventType, accountEvents } from './ClientEvents.js';
|
|
18
19
|
import { loggerFactory } from './Logger.js';
|
|
19
20
|
|
|
20
21
|
const logger = loggerFactory(import.meta);
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
UpdateEvent
|
|
24
|
-
|
|
23
|
+
class Account {
|
|
24
|
+
static UpdateEvent = {};
|
|
25
|
+
static onUpdated(listener, options = {}) {
|
|
26
|
+
if (options.key) Account.UpdateEvent[options.key] = listener;
|
|
27
|
+
return accountEvents.on(AccountEventType.updated, listener, options);
|
|
28
|
+
}
|
|
29
|
+
static offUpdated(key) {
|
|
30
|
+
delete Account.UpdateEvent[key];
|
|
31
|
+
return accountEvents.off(key);
|
|
32
|
+
}
|
|
33
|
+
static hasUpdatedListener(key) {
|
|
34
|
+
return accountEvents.has(key);
|
|
35
|
+
}
|
|
36
|
+
static async instance(options = { user: {}, bottomRender: async () => '', idModal: '' }) {
|
|
25
37
|
// app profile page design example
|
|
26
38
|
// CSS animated backgrounds
|
|
27
39
|
let { user, idModal } = options;
|
|
@@ -82,7 +94,7 @@ const Account = {
|
|
|
82
94
|
const currentUser = LogIn.Scope.user.main.model.user;
|
|
83
95
|
if (!currentUser || !currentUser._id) {
|
|
84
96
|
NotificationManager.Push({
|
|
85
|
-
html: Translate.
|
|
97
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
86
98
|
status: 'error',
|
|
87
99
|
});
|
|
88
100
|
return;
|
|
@@ -90,7 +102,7 @@ const Account = {
|
|
|
90
102
|
// Guest users cannot submit form
|
|
91
103
|
if (currentUser.role === 'guest') {
|
|
92
104
|
NotificationManager.Push({
|
|
93
|
-
html: Translate.
|
|
105
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
94
106
|
status: 'error',
|
|
95
107
|
});
|
|
96
108
|
return;
|
|
@@ -99,7 +111,7 @@ const Account = {
|
|
|
99
111
|
const { successKeys, errorKeys, errorMessage } = await validators();
|
|
100
112
|
if (errorMessage) {
|
|
101
113
|
NotificationManager.Push({
|
|
102
|
-
html: `${errorKeys.map((e) => Translate.
|
|
114
|
+
html: `${errorKeys.map((e) => Translate.instance(e.replace('account-', '')))} ${errorMessage}`,
|
|
103
115
|
});
|
|
104
116
|
return;
|
|
105
117
|
}
|
|
@@ -117,7 +129,7 @@ const Account = {
|
|
|
117
129
|
html:
|
|
118
130
|
result.status === 'error' && result.message
|
|
119
131
|
? result.message
|
|
120
|
-
: Translate.
|
|
132
|
+
: Translate.instance(`${result.status}-update-user`),
|
|
121
133
|
status: result.status,
|
|
122
134
|
});
|
|
123
135
|
if (result.status === 'success') {
|
|
@@ -151,7 +163,7 @@ const Account = {
|
|
|
151
163
|
const currentUser = LogIn.Scope.user.main.model.user;
|
|
152
164
|
if (!currentUser || !currentUser._id) {
|
|
153
165
|
NotificationManager.Push({
|
|
154
|
-
html: Translate.
|
|
166
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
155
167
|
status: 'error',
|
|
156
168
|
});
|
|
157
169
|
return;
|
|
@@ -159,7 +171,7 @@ const Account = {
|
|
|
159
171
|
// Guest users cannot verify email
|
|
160
172
|
if (currentUser.role === 'guest') {
|
|
161
173
|
NotificationManager.Push({
|
|
162
|
-
html: Translate.
|
|
174
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
163
175
|
status: 'error',
|
|
164
176
|
});
|
|
165
177
|
return;
|
|
@@ -173,7 +185,7 @@ const Account = {
|
|
|
173
185
|
},
|
|
174
186
|
});
|
|
175
187
|
NotificationManager.Push({
|
|
176
|
-
html: result.status === 'error' ? result.message : Translate.
|
|
188
|
+
html: result.status === 'error' ? result.message : Translate.instance(`email send`),
|
|
177
189
|
status: result.status,
|
|
178
190
|
});
|
|
179
191
|
});
|
|
@@ -196,7 +208,7 @@ const Account = {
|
|
|
196
208
|
const currentUser = LogIn.Scope.user.main.model.user;
|
|
197
209
|
if (!currentUser || !currentUser._id) {
|
|
198
210
|
NotificationManager.Push({
|
|
199
|
-
html: Translate.
|
|
211
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
200
212
|
status: 'error',
|
|
201
213
|
});
|
|
202
214
|
s(`.account-profile-image`).style.opacity = 1;
|
|
@@ -205,7 +217,7 @@ const Account = {
|
|
|
205
217
|
// Guest users cannot upload profile images
|
|
206
218
|
if (currentUser.role === 'guest') {
|
|
207
219
|
NotificationManager.Push({
|
|
208
|
-
html: Translate.
|
|
220
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
209
221
|
status: 'error',
|
|
210
222
|
});
|
|
211
223
|
s(`.account-profile-image`).style.opacity = 1;
|
|
@@ -259,12 +271,12 @@ const Account = {
|
|
|
259
271
|
if (topbarImg) topbarImg.src = newImageSrc;
|
|
260
272
|
|
|
261
273
|
NotificationManager.Push({
|
|
262
|
-
html: Translate.
|
|
274
|
+
html: Translate.instance('success-update-user'),
|
|
263
275
|
status: 'success',
|
|
264
276
|
});
|
|
265
277
|
} else {
|
|
266
278
|
NotificationManager.Push({
|
|
267
|
-
html: data?.message || Translate.
|
|
279
|
+
html: data?.message || Translate.instance('file-upload-failed'),
|
|
268
280
|
status: 'error',
|
|
269
281
|
});
|
|
270
282
|
}
|
|
@@ -286,7 +298,7 @@ const Account = {
|
|
|
286
298
|
html: async () => {
|
|
287
299
|
return html`
|
|
288
300
|
<div class="in section-mp" style="text-align: center">
|
|
289
|
-
${Translate.
|
|
301
|
+
${Translate.instance('confirm-delete-account')}
|
|
290
302
|
</div>
|
|
291
303
|
`;
|
|
292
304
|
},
|
|
@@ -304,7 +316,7 @@ const Account = {
|
|
|
304
316
|
const descriptionValue = s(`.account-brief-description`).value;
|
|
305
317
|
if (!descriptionValue || descriptionValue === 'undefined' || descriptionValue.trim() === '') {
|
|
306
318
|
NotificationManager.Push({
|
|
307
|
-
html: Translate.
|
|
319
|
+
html: Translate.instance('brief-description-cannot-be-empty'),
|
|
308
320
|
status: 'error',
|
|
309
321
|
});
|
|
310
322
|
return;
|
|
@@ -313,7 +325,7 @@ const Account = {
|
|
|
313
325
|
const currentUser = LogIn.Scope.user.main.model.user;
|
|
314
326
|
if (!currentUser || !currentUser._id) {
|
|
315
327
|
NotificationManager.Push({
|
|
316
|
-
html: Translate.
|
|
328
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
317
329
|
status: 'error',
|
|
318
330
|
});
|
|
319
331
|
return;
|
|
@@ -321,7 +333,7 @@ const Account = {
|
|
|
321
333
|
// Guest users cannot update brief description
|
|
322
334
|
if (currentUser.role === 'guest') {
|
|
323
335
|
NotificationManager.Push({
|
|
324
|
-
html: Translate.
|
|
336
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
325
337
|
status: 'error',
|
|
326
338
|
});
|
|
327
339
|
return;
|
|
@@ -331,7 +343,7 @@ const Account = {
|
|
|
331
343
|
html:
|
|
332
344
|
result.status === 'error' && result.message
|
|
333
345
|
? result.message
|
|
334
|
-
: Translate.
|
|
346
|
+
: Translate.instance(`${result.status}-update-user`),
|
|
335
347
|
status: result.status,
|
|
336
348
|
});
|
|
337
349
|
if (result.status === 'success') {
|
|
@@ -357,7 +369,7 @@ const Account = {
|
|
|
357
369
|
const currentUser = LogIn.Scope.user.main.model.user;
|
|
358
370
|
if (!currentUser || !currentUser._id) {
|
|
359
371
|
NotificationManager.Push({
|
|
360
|
-
html: Translate.
|
|
372
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
361
373
|
status: 'error',
|
|
362
374
|
});
|
|
363
375
|
return;
|
|
@@ -365,7 +377,7 @@ const Account = {
|
|
|
365
377
|
// Guest users cannot toggle public profile
|
|
366
378
|
if (currentUser.role === 'guest') {
|
|
367
379
|
NotificationManager.Push({
|
|
368
|
-
html: Translate.
|
|
380
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
369
381
|
status: 'error',
|
|
370
382
|
});
|
|
371
383
|
return;
|
|
@@ -375,7 +387,7 @@ const Account = {
|
|
|
375
387
|
html:
|
|
376
388
|
result.status === 'error' && result.message
|
|
377
389
|
? result.message
|
|
378
|
-
: Translate.
|
|
390
|
+
: Translate.instance(`${result.status}-update-user`),
|
|
379
391
|
status: result.status,
|
|
380
392
|
});
|
|
381
393
|
if (result.status === 'success') {
|
|
@@ -403,14 +415,14 @@ const Account = {
|
|
|
403
415
|
const currentUser = LogIn.Scope.user.main.model.user;
|
|
404
416
|
if (!currentUser || !currentUser._id) {
|
|
405
417
|
NotificationManager.Push({
|
|
406
|
-
html: Translate.
|
|
418
|
+
html: Translate.instance('error-user-not-authenticated'),
|
|
407
419
|
status: 'error',
|
|
408
420
|
});
|
|
409
421
|
return;
|
|
410
422
|
}
|
|
411
423
|
const result = await UserService.delete({ id: currentUser._id });
|
|
412
424
|
NotificationManager.Push({
|
|
413
|
-
html: result.status === 'error' ? result.message : Translate.
|
|
425
|
+
html: result.status === 'error' ? result.message : Translate.instance(`success-delete-account`),
|
|
414
426
|
status: result.status,
|
|
415
427
|
});
|
|
416
428
|
s(`.btn-account-delete-confirm`).classList.remove('hide');
|
|
@@ -436,27 +448,27 @@ const Account = {
|
|
|
436
448
|
|
|
437
449
|
<form class="in">
|
|
438
450
|
<div class="in">
|
|
439
|
-
${await Input.
|
|
451
|
+
${await Input.instance({
|
|
440
452
|
id: `account-username`,
|
|
441
453
|
type: 'text',
|
|
442
|
-
label: html`<i class="fa-solid fa-pen-to-square"></i> ${Translate.
|
|
454
|
+
label: html`<i class="fa-solid fa-pen-to-square"></i> ${Translate.instance('username')}`,
|
|
443
455
|
containerClass: 'inl section-mp width-mini-box input-container',
|
|
444
456
|
placeholder: true,
|
|
445
457
|
disabled: false,
|
|
446
458
|
extension: async () =>
|
|
447
|
-
html`${await BtnIcon.
|
|
459
|
+
html`${await BtnIcon.instance({
|
|
448
460
|
class: `in wfa btn-input-extension btn-account-update-username`,
|
|
449
461
|
type: 'button',
|
|
450
462
|
style: 'text-align: left',
|
|
451
|
-
label: html`${Translate.
|
|
463
|
+
label: html`${Translate.instance(`update`)}`,
|
|
452
464
|
})}`,
|
|
453
465
|
})}
|
|
454
466
|
</div>
|
|
455
467
|
<div class="in">
|
|
456
|
-
${await Input.
|
|
468
|
+
${await Input.instance({
|
|
457
469
|
id: `account-email`,
|
|
458
470
|
type: 'email',
|
|
459
|
-
label: html`<i class="fa-solid fa-envelope"></i> ${Translate.
|
|
471
|
+
label: html`<i class="fa-solid fa-envelope"></i> ${Translate.instance('email')}`,
|
|
460
472
|
containerClass: 'inl section-mp width-mini-box input-container',
|
|
461
473
|
placeholder: true,
|
|
462
474
|
autocomplete: 'email',
|
|
@@ -464,57 +476,57 @@ const Account = {
|
|
|
464
476
|
extension: !(options && options.disabled && options.disabled.includes('emailConfirm'))
|
|
465
477
|
? async () =>
|
|
466
478
|
html`<div class="in verify-email-status"></div>
|
|
467
|
-
${await BtnIcon.
|
|
479
|
+
${await BtnIcon.instance({
|
|
468
480
|
class: `in wfa btn-input-extension btn-confirm-email`,
|
|
469
481
|
type: 'button',
|
|
470
482
|
style: 'text-align: left',
|
|
471
483
|
label: html`<div class="in">
|
|
472
|
-
<i class="fa-solid fa-paper-plane"></i> ${Translate.
|
|
473
|
-
${Translate.
|
|
484
|
+
<i class="fa-solid fa-paper-plane"></i> ${Translate.instance('send')}
|
|
485
|
+
${Translate.instance('verify-email')}
|
|
474
486
|
</div> `,
|
|
475
487
|
})}`
|
|
476
488
|
: undefined,
|
|
477
489
|
})}
|
|
478
490
|
</div>
|
|
479
491
|
<div class="in">
|
|
480
|
-
${await Input.
|
|
492
|
+
${await Input.instance({
|
|
481
493
|
id: `account-password`,
|
|
482
494
|
type: 'password',
|
|
483
495
|
autocomplete: 'new-password',
|
|
484
|
-
label: html`<i class="fa-solid fa-lock"></i> ${Translate.
|
|
496
|
+
label: html`<i class="fa-solid fa-lock"></i> ${Translate.instance('password')}`,
|
|
485
497
|
containerClass: 'inl section-mp width-mini-box input-container',
|
|
486
498
|
placeholder: true,
|
|
487
499
|
disabled: true,
|
|
488
500
|
disabledEye: true,
|
|
489
501
|
extension: async () =>
|
|
490
|
-
html`${await BtnIcon.
|
|
502
|
+
html`${await BtnIcon.instance({
|
|
491
503
|
class: `in wfa btn-input-extension btn-account-change-password`,
|
|
492
504
|
type: 'button',
|
|
493
505
|
style: 'text-align: left',
|
|
494
|
-
label: html`${Translate.
|
|
506
|
+
label: html`${Translate.instance(`change-password`)}`,
|
|
495
507
|
})}`,
|
|
496
508
|
})}
|
|
497
509
|
</div>
|
|
498
510
|
<div class="in">
|
|
499
|
-
${await Input.
|
|
511
|
+
${await Input.instance({
|
|
500
512
|
id: `account-brief-description`,
|
|
501
|
-
label: html`<i class="fa-solid fa-pen-fancy"></i> ${Translate.
|
|
513
|
+
label: html`<i class="fa-solid fa-pen-fancy"></i> ${Translate.instance('brief-description')}`,
|
|
502
514
|
containerClass: 'inl section-mp width-mini-box input-container',
|
|
503
515
|
placeholder: true,
|
|
504
516
|
rows: 4,
|
|
505
517
|
extension: async () =>
|
|
506
|
-
html`${await BtnIcon.
|
|
518
|
+
html`${await BtnIcon.instance({
|
|
507
519
|
class: `in wfa btn-input-extension btn-brief-description-update`,
|
|
508
520
|
type: 'button',
|
|
509
521
|
style: 'text-align: left',
|
|
510
|
-
label: html`${Translate.
|
|
522
|
+
label: html`${Translate.instance(`update`)}`,
|
|
511
523
|
})}`,
|
|
512
524
|
})}
|
|
513
525
|
</div>
|
|
514
526
|
<div class="in section-mp">
|
|
515
|
-
${await ToggleSwitch.
|
|
527
|
+
${await ToggleSwitch.instance({
|
|
516
528
|
wrapper: true,
|
|
517
|
-
wrapperLabel: html`<i class="fa-solid fa-globe"></i> ${Translate.
|
|
529
|
+
wrapperLabel: html`<i class="fa-solid fa-globe"></i> ${Translate.instance('public-profile')}`,
|
|
518
530
|
id: 'account-public-profile',
|
|
519
531
|
disabledOnClick: true,
|
|
520
532
|
checked: user.publicProfile ? true : false,
|
|
@@ -522,35 +534,36 @@ const Account = {
|
|
|
522
534
|
</div>
|
|
523
535
|
${options?.bottomRender ? await options.bottomRender() : ``}
|
|
524
536
|
<div class="in hide">
|
|
525
|
-
${await BtnIcon.
|
|
537
|
+
${await BtnIcon.instance({
|
|
526
538
|
class: 'in section-mp form-button btn-account',
|
|
527
|
-
label: Translate.
|
|
539
|
+
label: Translate.instance('update'),
|
|
528
540
|
type: 'submit',
|
|
529
541
|
})}
|
|
530
542
|
</div>
|
|
531
543
|
</form>
|
|
532
544
|
<div class="in">
|
|
533
|
-
${await BtnIcon.
|
|
545
|
+
${await BtnIcon.instance({
|
|
534
546
|
class: 'in section-mp form-button btn-account-delete hide',
|
|
535
|
-
label: html` ${Translate.
|
|
547
|
+
label: html` ${Translate.instance(`delete-account`)}`,
|
|
536
548
|
type: 'button',
|
|
537
549
|
style: 'color: #5f5f5f',
|
|
538
550
|
})}
|
|
539
|
-
${await BtnIcon.
|
|
551
|
+
${await BtnIcon.instance({
|
|
540
552
|
class: 'in section-mp form-button btn-account-delete-confirm',
|
|
541
|
-
label: html` ${Translate.
|
|
553
|
+
label: html` ${Translate.instance(`delete-account`)}`,
|
|
542
554
|
type: 'button',
|
|
543
555
|
style: 'color: #5f5f5f',
|
|
544
556
|
})}
|
|
545
557
|
</div>
|
|
546
558
|
`;
|
|
547
|
-
}
|
|
548
|
-
|
|
559
|
+
}
|
|
560
|
+
static async triggerUpdateEvent(options = { user: {} }) {
|
|
561
|
+
await accountEvents.emit(AccountEventType.updated, options);
|
|
549
562
|
for (const updateEvent of Object.keys(this.UpdateEvent)) {
|
|
550
563
|
await this.UpdateEvent[updateEvent](options);
|
|
551
564
|
}
|
|
552
|
-
}
|
|
553
|
-
renderVerifyEmailStatus
|
|
565
|
+
}
|
|
566
|
+
static renderVerifyEmailStatus(user) {
|
|
554
567
|
if (s('.verify-email-status')) {
|
|
555
568
|
if (s(`.btn-confirm-email`)) {
|
|
556
569
|
if (user.emailConfirmed) s(`.btn-confirm-email`).classList.add('hide');
|
|
@@ -558,14 +571,14 @@ const Account = {
|
|
|
558
571
|
}
|
|
559
572
|
htmls(
|
|
560
573
|
'.verify-email-status',
|
|
561
|
-
html`${renderStatus(user.emailConfirmed ? 'success' : 'error', { class: 'inl' })} ${Translate.
|
|
562
|
-
${Translate.
|
|
574
|
+
html`${renderStatus(user.emailConfirmed ? 'success' : 'error', { class: 'inl' })} ${Translate.instance('email')}
|
|
575
|
+
${Translate.instance(user.emailConfirmed ? 'confirmed' : 'unconfirmed')}`,
|
|
563
576
|
);
|
|
564
577
|
if (user.emailConfirmed === true) s(`.account-email`).setAttribute('disabled', '');
|
|
565
578
|
}
|
|
566
|
-
}
|
|
567
|
-
instanceModalUiEvents
|
|
568
|
-
|
|
579
|
+
}
|
|
580
|
+
static instanceModalUiEvents = async (user) => null;
|
|
581
|
+
static async updateForm(user) {
|
|
569
582
|
if (!s(`.modal-account`)) return;
|
|
570
583
|
|
|
571
584
|
// Always sync the current user data into LogIn.Scope, preserving profileImage if it exists
|
|
@@ -611,7 +624,7 @@ const Account = {
|
|
|
611
624
|
ToggleSwitch.Tokens['account-public-profile'].click();
|
|
612
625
|
}
|
|
613
626
|
}
|
|
614
|
-
}
|
|
615
|
-
}
|
|
627
|
+
}
|
|
628
|
+
}
|
|
616
629
|
|
|
617
630
|
export { Account };
|