underpost 2.8.844 → 2.8.846

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 (68) hide show
  1. package/README.md +14 -2
  2. package/cli.md +4 -3
  3. package/docker-compose.yml +1 -1
  4. package/manifests/deployment/dd-template-development/deployment.yaml +2 -2
  5. package/package.json +1 -2
  6. package/src/cli/index.js +1 -7
  7. package/src/cli/run.js +7 -0
  8. package/src/client/Default.index.js +1 -1
  9. package/src/client/components/core/Chat.js +1 -1
  10. package/src/client/components/core/CommonJs.js +24 -22
  11. package/src/client/components/core/Content.js +1 -5
  12. package/src/client/components/core/Css.js +68 -4
  13. package/src/client/components/core/CssCore.js +5 -0
  14. package/src/client/components/core/Docs.js +9 -10
  15. package/src/client/components/core/DropDown.js +137 -82
  16. package/src/client/components/core/Modal.js +72 -48
  17. package/src/client/components/core/ObjectLayerEngine.js +638 -0
  18. package/src/client/components/core/Panel.js +156 -32
  19. package/src/client/components/core/PanelForm.js +12 -4
  20. package/src/client/components/core/Router.js +63 -2
  21. package/src/client/components/core/Translate.js +6 -2
  22. package/src/client/components/default/MenuDefault.js +27 -1
  23. package/src/client/public/default/android-chrome-144x144.png +0 -0
  24. package/src/client/public/default/android-chrome-192x192.png +0 -0
  25. package/src/client/public/default/android-chrome-256x256.png +0 -0
  26. package/src/client/public/default/android-chrome-36x36.png +0 -0
  27. package/src/client/public/default/android-chrome-48x48.png +0 -0
  28. package/src/client/public/default/android-chrome-72x72.png +0 -0
  29. package/src/client/public/default/android-chrome-96x96.png +0 -0
  30. package/src/client/public/default/apple-touch-icon-114x114-precomposed.png +0 -0
  31. package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
  32. package/src/client/public/default/apple-touch-icon-120x120-precomposed.png +0 -0
  33. package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
  34. package/src/client/public/default/apple-touch-icon-144x144-precomposed.png +0 -0
  35. package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
  36. package/src/client/public/default/apple-touch-icon-152x152-precomposed.png +0 -0
  37. package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
  38. package/src/client/public/default/apple-touch-icon-180x180-precomposed.png +0 -0
  39. package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
  40. package/src/client/public/default/apple-touch-icon-57x57-precomposed.png +0 -0
  41. package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
  42. package/src/client/public/default/apple-touch-icon-60x60-precomposed.png +0 -0
  43. package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
  44. package/src/client/public/default/apple-touch-icon-72x72-precomposed.png +0 -0
  45. package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
  46. package/src/client/public/default/apple-touch-icon-76x76-precomposed.png +0 -0
  47. package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
  48. package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
  49. package/src/client/public/default/apple-touch-icon.png +0 -0
  50. package/src/client/public/default/assets/background/dark.jpg +0 -0
  51. package/src/client/public/default/assets/logo/base-icon.png +0 -0
  52. package/src/client/public/default/assets/mailer/api-user-check.png +0 -0
  53. package/src/client/public/default/assets/mailer/api-user-invalid-token.png +0 -0
  54. package/src/client/public/default/assets/mailer/api-user-recover.png +0 -0
  55. package/src/client/public/default/favicon-16x16.png +0 -0
  56. package/src/client/public/default/favicon-32x32.png +0 -0
  57. package/src/client/public/default/favicon.ico +0 -0
  58. package/src/client/public/default/mstile-144x144.png +0 -0
  59. package/src/client/public/default/mstile-150x150.png +0 -0
  60. package/src/client/public/default/mstile-310x150.png +0 -0
  61. package/src/client/public/default/mstile-310x310.png +0 -0
  62. package/src/client/public/default/mstile-70x70.png +0 -0
  63. package/src/client/public/default/safari-pinned-tab.svg +24 -0
  64. package/src/client/ssr/body/DefaultSplashScreen.js +2 -2
  65. package/src/index.js +1 -1
  66. package/src/server/client-build-docs.js +205 -0
  67. package/src/server/client-build.js +15 -138
  68. package/src/server/conf.js +12 -5
package/README.md CHANGED
@@ -35,10 +35,16 @@ template
35
35
 
36
36
 
37
37
 
38
+
39
+
40
+
41
+
42
+
43
+
38
44
  <!-- badges -->
39
45
 
40
46
 
41
- [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/2.8.844)](https://socket.dev/npm/package/underpost/overview/2.8.844) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
47
+ [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.ci.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.yml) [![Downloads](https://img.shields.io/npm/dm/underpost.svg)](https://www.npmjs.com/package/underpost) [![Socket Badge](https://socket.dev/api/badge/npm/package/underpost/2.8.846)](https://socket.dev/npm/package/underpost/overview/2.8.846) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master) [![Version](https://img.shields.io/npm/v/underpost.svg)](https://www.npmjs.org/package/underpost) [![License](https://img.shields.io/npm/l/underpost.svg)](https://www.npmjs.com/package/underpost)
42
48
 
43
49
 
44
50
  <!-- end-badges -->
@@ -56,6 +62,12 @@ template
56
62
 
57
63
 
58
64
 
65
+
66
+
67
+
68
+
69
+
70
+
59
71
  </div>
60
72
 
61
73
  <div align="center">
@@ -100,7 +112,7 @@ Run dev client server
100
112
  npm run dev
101
113
  ```
102
114
  <!-- -->
103
- ## underpost ci/cd cli v2.8.844
115
+ ## underpost ci/cd cli v2.8.846
104
116
 
105
117
  ### Usage: `underpost [options] [command]`
106
118
  ```
package/cli.md CHANGED
@@ -1,4 +1,4 @@
1
- ## underpost ci/cd cli v2.8.844
1
+ ## underpost ci/cd cli v2.8.846
2
2
 
3
3
  ### Usage: `underpost [options] [command]`
4
4
  ```
@@ -118,7 +118,8 @@ options.
118
118
  Arguments:
119
119
  path The absolute or relative directory path of the repository.
120
120
  commit-type The type of commit to perform. Options: feat, fix, docs, style,
121
- refactor, perf, cd, test, build, ci, chore, revert, backup.
121
+ refactor, perf, ci, cd, infra, build, test, chore, revert,
122
+ backup.
122
123
  module-tag Optional: Sets a specific module tag for the commit.
123
124
  message Optional: Provides an additional custom message for the commit.
124
125
 
@@ -558,7 +559,7 @@ Options:
558
559
  Runs a script from the specified path.
559
560
 
560
561
  Arguments:
561
- runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, gpu-env, tf-gpu-test, dev-cluster, cyberia-ide, engine-ide, ide, monitor, db-client, cluster, deploy, tf-vae-test, deploy-job.
562
+ runner-id The runner ID to run. Options: spark-template, rmi, kill, secret, gpu-env, tf-gpu-test, dev-cluster, cyberia-ide, engine-ide, ssh-deploy, ide, monitor, db-client, cluster, deploy, tf-vae-test, deploy-job.
562
563
  path The absolute or relative directory path where the script is located.
563
564
 
564
565
  Options:
@@ -58,7 +58,7 @@ services:
58
58
  cpus: '0.25'
59
59
  memory: 20M
60
60
  labels: # labels in Compose file instead of Dockerfile
61
- engine.version: '2.8.844'
61
+ engine.version: '2.8.846'
62
62
  networks:
63
63
  - load-balancer
64
64
 
@@ -17,7 +17,7 @@ spec:
17
17
  spec:
18
18
  containers:
19
19
  - name: dd-template-development-blue
20
- image: localhost/rockylinux9-underpost:v2.8.844
20
+ image: localhost/rockylinux9-underpost:v2.8.846
21
21
  # resources:
22
22
  # requests:
23
23
  # memory: "124Ki"
@@ -100,7 +100,7 @@ spec:
100
100
  spec:
101
101
  containers:
102
102
  - name: dd-template-development-green
103
- image: localhost/rockylinux9-underpost:v2.8.844
103
+ image: localhost/rockylinux9-underpost:v2.8.846
104
104
  # resources:
105
105
  # requests:
106
106
  # memory: "124Ki"
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "type": "module",
3
3
  "main": "src/index.js",
4
4
  "name": "underpost",
5
- "version": "2.8.844",
5
+ "version": "2.8.846",
6
6
  "description": "pwa api rest template",
7
7
  "scripts": {
8
8
  "start": "env-cmd -f .env.production node --max-old-space-size=8192 src/server",
@@ -105,7 +105,6 @@
105
105
  "rrule": "^2.8.1",
106
106
  "sharp": "^0.32.5",
107
107
  "shelljs": "^0.8.5",
108
- "simple-icons": "^13.9.0",
109
108
  "sitemap": "^7.1.1",
110
109
  "socket.io": "^4.8.0",
111
110
  "sortablejs": "^1.15.0",
package/src/cli/index.js CHANGED
@@ -86,13 +86,7 @@ program
86
86
  .argument('<deploy-id>', `The deployment configuration ID. Use 'clean' to restore default environment settings.`)
87
87
  .argument('[env]', 'Optional: The environment to set (e.g., "production", "development"). Defaults to "production".')
88
88
  .description('Sets environment variables and configurations related to a specific deployment ID.')
89
- .action((...args) => {
90
- if (args[0] === 'current') {
91
- console.log(process.env.DEPLOY_ID);
92
- return;
93
- }
94
- loadConf(...args);
95
- });
89
+ .action(loadConf);
96
90
 
97
91
  // 'config' command: Manage Underpost configurations
98
92
  program
package/src/cli/run.js CHANGED
@@ -86,6 +86,13 @@ class UnderpostRun {
86
86
  shellExec(`${baseCommand} run ide /home/dd/engine`);
87
87
  shellExec(`${baseCommand} run ide /home/dd/engine/engine-private`);
88
88
  },
89
+ 'ssh-deploy': (path, options = UnderpostRun.DEFAULT_OPTION) => {
90
+ const baseCommand = options.dev || true ? 'node bin' : 'underpost';
91
+ shellCd('/home/dd/engine');
92
+ shellExec(`git reset`);
93
+ shellExec(`${baseCommand} cmt . --empty cd ssh-${path}`);
94
+ shellExec(`${baseCommand} push . underpostnet/engine`);
95
+ },
89
96
  ide: (path, options = UnderpostRun.DEFAULT_OPTION) => {
90
97
  const { underpostRoot } = options;
91
98
  shellExec(`node ${underpostRoot}/bin/vs ${path}`);
@@ -18,7 +18,7 @@ import { ElementsDefault } from './components/default/ElementsDefault.js';
18
18
  import { Scroll } from './components/core/Scroll.js';
19
19
 
20
20
  const htmlMainBody = async () => {
21
- return html`<span style="color: black; padding: 5px">Hello World!!</span>`;
21
+ return html`<span>Hello World!!</span>`;
22
22
  };
23
23
 
24
24
  window.onload = () =>
@@ -53,7 +53,7 @@ const Chat = {
53
53
  html`
54
54
  <div class="in">
55
55
  <span class="chat-message-header">${getIsoDate(new Date())} | ${id}:</span><br />
56
- ${message}
56
+ <span class="chat-message-body"> ${message}</span>
57
57
  </div>
58
58
  `,
59
59
  );
@@ -822,70 +822,72 @@ const generateRandomPasswordSelection = (length) => {
822
822
 
823
823
  const commitData = {
824
824
  feat: {
825
- description: 'A new feature',
825
+ description: 'New feature or enhancement (frontend, backend, API, or UX)',
826
826
  title: 'Features',
827
827
  emoji: '✨',
828
828
  },
829
829
  fix: {
830
- description: 'A bug fix',
830
+ description: 'Fix a bug',
831
831
  title: 'Bug Fixes',
832
832
  emoji: '🐛',
833
833
  },
834
834
  docs: {
835
- description: 'Documentation only changes',
835
+ description: 'Documentation changes',
836
836
  title: 'Documentation',
837
837
  emoji: '📚',
838
838
  },
839
839
  style: {
840
- description:
841
- 'Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)',
840
+ description: 'Formatting, whitespace, semicolons, code style',
842
841
  title: 'Styles',
843
842
  emoji: '💎',
844
843
  },
845
844
  refactor: {
846
- description: 'A code change that neither fixes a bug nor adds a feature',
845
+ description: 'Code refactor.',
847
846
  title: 'Code Refactoring',
848
847
  emoji: '📦',
849
848
  },
850
849
  perf: {
851
- description: 'A code change that improves performance',
850
+ description: 'Performance improvements across the stack.',
852
851
  title: 'Performance Improvements',
853
852
  emoji: '⚡️',
854
853
  },
854
+ ci: {
855
+ description: 'CI pipeline changes (GitHub Actions, runners, caching)',
856
+ title: 'Continuous Integration',
857
+ emoji: '⚙️',
858
+ },
855
859
  cd: {
856
- description:
857
- 'Changes to our Continuous Delivery configuration files and scripts (example scopes: Jenkins, Spinnaker, ArgoCD)',
860
+ description: 'CD / deployment changes (Remote ssh deployment scripts)',
858
861
  title: 'Continuous Delivery',
859
862
  emoji: '🚀',
860
863
  },
861
- test: {
862
- description: 'Adding missing tests or correcting existing tests',
863
- title: 'Tests',
864
- emoji: '🚨',
864
+ infra: {
865
+ description: 'Infrastructure changes (MAAS, LXD, cloud infra, networking, provisioning).',
866
+ title: 'Infrastructure',
867
+ emoji: '🏗️',
865
868
  },
866
869
  build: {
867
- description: 'Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)',
870
+ description: 'Build system or dependency changes (tooling, bundler, build scripts).',
868
871
  title: 'Builds',
869
872
  emoji: '🛠',
870
873
  },
871
- ci: {
872
- description:
873
- 'Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)',
874
- title: 'Continuous Integrations',
875
- emoji: '⚙️',
874
+ test: {
875
+ description: 'Unit or integration tests added/updated, test helpers, flake fixes.',
876
+ title: 'Tests',
877
+ emoji: '🚨',
876
878
  },
877
879
  chore: {
878
- description: "Other changes that don't modify src or test files",
880
+ description: "Other changes that don't modify src or tests (automation, housekeeping).",
879
881
  title: 'Chores',
880
882
  emoji: '♻️',
881
883
  },
882
884
  revert: {
883
- description: 'Reverts a previous commit',
885
+ description: 'Revert a previous commit or change.',
884
886
  title: 'Reverts',
885
887
  emoji: '🗑',
886
888
  },
887
889
  backup: {
888
- description: 'Changes related to backups, including creation, restoration, and maintenance.',
890
+ description: 'Backups, snapshotting, restore scripts, or backup docs.',
889
891
  title: 'Backups',
890
892
  emoji: '💾',
891
893
  },
@@ -105,7 +105,6 @@ const Content = {
105
105
  class: '',
106
106
  container: '',
107
107
  url: '',
108
- aHrefOptions: { disable: false },
109
108
  raw: false,
110
109
  },
111
110
  ) {
@@ -143,10 +142,7 @@ const Content = {
143
142
  ? getApiBaseUrl({ id: file._id, endpoint: 'file/blob' })
144
143
  : URL.createObjectURL(getBlobFromUint8ArrayFile(file.data.data, file.mimetype));
145
144
  const imgRender = html`<img class="in ${options.class}" ${options.style} src="${url}" />`;
146
- render += html`${options.aHrefOptions?.disable
147
- ? imgRender
148
- : html`<a href="${url}" target="_top">${imgRender}</a>`}`;
149
-
145
+ render += imgRender;
150
146
  break;
151
147
  }
152
148
  case 'pdf': {
@@ -1,9 +1,9 @@
1
- import { getId, newInstance, range, s4, splitEveryXChar } from './CommonJs.js';
1
+ import { getId, newInstance, range, rgbToHex, s4, splitEveryXChar } from './CommonJs.js';
2
2
  import { CssCoreDark, CssCoreLight } from './CssCore.js';
3
3
  import { DropDown } from './DropDown.js';
4
4
  import { Modal } from './Modal.js';
5
5
  import { Translate } from './Translate.js';
6
- import { append, getProxyPath, htmls, s } from './VanillaJs.js';
6
+ import { append, getProxyPath, htmls, s, sa } from './VanillaJs.js';
7
7
 
8
8
  let ThemesScope = [];
9
9
 
@@ -12,6 +12,39 @@ let ThemesScope = [];
12
12
  // https://www.1001fonts.com/
13
13
 
14
14
  const Css = {
15
+ // Menu button container transition styles
16
+ menuButtonContainer: () => css`
17
+ .main-btn-menu {
18
+ transition: all 0.2s ease-in-out;
19
+ position: relative;
20
+ }
21
+
22
+ .main-btn-menu::after {
23
+ content: '';
24
+ position: absolute;
25
+ bottom: 0;
26
+ left: 50%;
27
+ width: 0;
28
+ height: 2px;
29
+ background: currentColor;
30
+ transition: all 0.2s ease-in-out;
31
+ transform: translateX(-50%);
32
+ }
33
+
34
+ .main-btn-menu:hover::after {
35
+ width: 60%;
36
+ }
37
+
38
+ .main-btn-menu.active {
39
+ background: rgba(255, 255, 255, 0.1);
40
+ }
41
+
42
+ .main-btn-menu.active::after {
43
+ width: 80%;
44
+ background: currentColor;
45
+ }
46
+ `,
47
+
15
48
  loadThemes: async function (themes = []) {
16
49
  ThemesScope = [];
17
50
  for (const themeOptions of themes) addTheme(themeOptions);
@@ -31,6 +64,16 @@ const Css = {
31
64
  Init: async function (options) {
32
65
  if (!options) options = ThemesScope[0];
33
66
  const { theme } = options;
67
+
68
+ // Inject menu button container styles
69
+ const styleId = 'menu-btn-container-styles';
70
+ if (!document.getElementById(styleId)) {
71
+ const style = document.createElement('style');
72
+ style.id = styleId;
73
+ style.textContent = this.menuButtonContainer();
74
+ document.head.appendChild(style);
75
+ }
76
+
34
77
  return await Themes[theme](options);
35
78
  },
36
79
  RenderSetting: async function () {
@@ -169,13 +212,13 @@ const addTheme = (options) => {
169
212
  };
170
213
  };
171
214
 
172
- const borderChar = (px, color, selectors) => {
215
+ const borderChar = (px, color, selectors, hover = false) => {
173
216
  if (selectors) {
174
217
  return selectors
175
218
  .map(
176
219
  (selector) => html`
177
220
  <style>
178
- ${selector} {
221
+ ${selector}${hover ? ':hover' : ''} {
179
222
  text-shadow: ${px}px -${px}px ${px}px ${color}, -${px}px ${px}px ${px}px ${color},
180
223
  -${px}px -${px}px ${px}px ${color}, ${px}px ${px}px ${px}px ${color};
181
224
  }
@@ -811,6 +854,24 @@ const imageShimmer = () => html`<div
811
854
  </div>
812
855
  </div>`;
813
856
 
857
+ const renderChessPattern = () => `background: repeating-conic-gradient(#808080 0 25%, #0000 0 50%) 50% / 20px 20px`;
858
+
859
+ const extractBackgroundImageUrl = (element) => {
860
+ const style = window.getComputedStyle(element);
861
+ const imageString = style.backgroundImage;
862
+ const foundUrlRaw = imageString.match(/^url\(?(.+)\)$/i)[1];
863
+ if (!foundUrlRaw) return null;
864
+ const foundUrl = foundUrlRaw.replace(/^['|"| ]*/, '').replace(/['" ]*$/, '');
865
+ if (!foundUrl) return null;
866
+ return foundUrl;
867
+ };
868
+
869
+ const simpleIconsRender = (selector) => {
870
+ sa(selector).forEach((el) => {
871
+ el.src = `https://cdn.simpleicons.org/coveralls/${rgbToHex(window.getComputedStyle(s('html')).color)}`;
872
+ });
873
+ };
874
+
814
875
  export {
815
876
  Css,
816
877
  Themes,
@@ -843,4 +904,7 @@ export {
843
904
  renderWave,
844
905
  cssEffect,
845
906
  imageShimmer,
907
+ simpleIconsRender,
908
+ extractBackgroundImageUrl,
909
+ renderChessPattern,
846
910
  };
@@ -122,6 +122,7 @@ const CssCommonCore = async () => {
122
122
  left: 0;
123
123
  width: 100%;
124
124
  z-index: 1;
125
+ transition: 0.3s;
125
126
  }
126
127
  @keyframes ripple {
127
128
  to {
@@ -607,6 +608,10 @@ const CssCoreLight = {
607
608
  background: gray;
608
609
  transition: 0.3s;
609
610
  }
611
+ .bar-default-modal-icon {
612
+ width: 15px;
613
+ height: 15px;
614
+ }
610
615
  .slide-menu-top-bar {
611
616
  width: 100%;
612
617
  top: 0;
@@ -1,12 +1,12 @@
1
1
  import { Badge } from './Badge.js';
2
2
  import { BtnIcon } from './BtnIcon.js';
3
3
  import { rgbToHex } from './CommonJs.js';
4
- import { Css, darkTheme, dynamicCol, renderCssAttr, ThemeEvents, Themes } from './Css.js';
4
+ import { Css, darkTheme, dynamicCol, renderCssAttr, simpleIconsRender, ThemeEvents, Themes } from './Css.js';
5
5
  import { DropDown } from './DropDown.js';
6
6
  import { buildBadgeToolTipMenuOption, Modal, renderMenuLabel, renderViewTitle } from './Modal.js';
7
7
  import { listenQueryPathInstance, setQueryPath } from './Router.js';
8
8
  import { Translate } from './Translate.js';
9
- import { getProxyPath, getQueryParams, htmls, s } from './VanillaJs.js';
9
+ import { getProxyPath, getQueryParams, htmls, s, sa } from './VanillaJs.js';
10
10
  import Sortable from 'sortablejs';
11
11
 
12
12
  // https://mintlify.com/docs/quickstart
@@ -46,6 +46,11 @@ const Docs = {
46
46
  Modal.Data[ModalId].onObserverListener[ModalId] = () => {
47
47
  if (s(`.iframe-${ModalId}`))
48
48
  s(`.iframe-${ModalId}`).style.height = `${s(`.${ModalId}`).offsetHeight - Modal.headerTitleHeight}px`;
49
+
50
+ if (type.match('coverage')) {
51
+ simpleIconsRender(`.doc-icon-coverage`);
52
+ simpleIconsRender(`.doc-icon-coverage-link`);
53
+ }
49
54
  };
50
55
  Modal.Data[ModalId].onObserverListener[ModalId]();
51
56
  },
@@ -96,10 +101,7 @@ const Docs = {
96
101
  return `${getProxyPath()}docs/coverage`;
97
102
  },
98
103
  themeEvent: () => {
99
- if (s(`.doc-icon-coverage`))
100
- s(`.doc-icon-coverage`).src = `https://cdn.simpleicons.org/coveralls/${rgbToHex(
101
- window.getComputedStyle(s('html')).color,
102
- )}`;
104
+ if (s(`.doc-icon-coverage`)) setTimeout(() => simpleIconsRender(`.doc-icon-coverage`));
103
105
  },
104
106
  },
105
107
  {
@@ -110,10 +112,7 @@ const Docs = {
110
112
  return `https://coveralls.io/github/underpostnet/engine`;
111
113
  },
112
114
  themeEvent: () => {
113
- if (s(`.doc-icon-coverage-link`))
114
- s(`.doc-icon-coverage-link`).src = `https://cdn.simpleicons.org/coveralls/${rgbToHex(
115
- window.getComputedStyle(s('html')).color,
116
- )}`;
115
+ if (s(`.doc-icon-coverage-link`)) setTimeout(() => simpleIconsRender(`.doc-icon-coverage-link`));
117
116
  },
118
117
  },
119
118
  ],