@kaikybrofc/omnizap-system 2.3.3 → 2.3.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 (46) hide show
  1. package/README.md +20 -22
  2. package/app/modules/stickerModule/stickerCommand.js +1 -6
  3. package/app/modules/stickerModule/stickerTextCommand.js +1 -6
  4. package/package.json +1 -1
  5. package/public/api-docs/index.html +3 -2
  6. package/public/apple-touch-icon.png +0 -0
  7. package/public/bot-whatsapp-para-grupo/index.html +3 -1
  8. package/public/bot-whatsapp-sem-programar/index.html +3 -1
  9. package/public/comandos/index.html +3 -2
  10. package/public/como-automatizar-avisos-no-whatsapp/index.html +3 -1
  11. package/public/como-criar-comandos-whatsapp/index.html +3 -1
  12. package/public/como-evitar-spam-no-whatsapp/index.html +3 -1
  13. package/public/como-moderar-grupo-whatsapp/index.html +3 -1
  14. package/public/como-organizar-comunidade-whatsapp/index.html +3 -1
  15. package/public/favicon-16x16.png +0 -0
  16. package/public/favicon-32x32.png +0 -0
  17. package/public/favicon.ico +0 -0
  18. package/public/index.html +11 -10
  19. package/public/js/apps/homeApp.js +22 -18
  20. package/public/js/apps/loginApp.js +3 -1
  21. package/public/js/apps/userProfileApp.js +0 -9
  22. package/public/licenca/index.html +3 -2
  23. package/public/login/index.html +3 -1
  24. package/public/melhor-bot-whatsapp-para-grupos/index.html +3 -1
  25. package/public/site.webmanifest +24 -0
  26. package/public/stickers/create/index.html +3 -1
  27. package/public/stickers/index.html +3 -1
  28. package/public/termos-de-uso/index.html +3 -2
  29. package/public/user/index.html +227 -121
  30. package/public/user/systemadm/index.html +3 -1
  31. package/server/controllers/admin/adminBanService.js +138 -0
  32. package/server/controllers/admin/adminPanelHandlers.js +1965 -0
  33. package/server/controllers/{systemAdminController.js → admin/systemAdminController.js} +2 -2
  34. package/server/controllers/{stickerCatalogController.js → sticker/stickerCatalogController.js} +129 -2116
  35. package/server/controllers/userController.js +1 -1
  36. package/server/routes/admin/systemAdminRouter.js +1 -1
  37. package/server/routes/indexRouter.js +3 -3
  38. package/server/routes/{stickerCatalog → sticker}/stickerApiRouter.js +1 -1
  39. package/server/routes/{stickerCatalog → sticker}/stickerDataRouter.js +1 -1
  40. package/server/routes/{stickerCatalog → sticker}/stickerSiteRouter.js +1 -1
  41. /package/server/controllers/{stickerCatalog → sticker}/nonCatalogHandlers.js +0 -0
  42. /package/server/routes/{stickerCatalog → sticker}/catalogHandlers/catalogAdminHttp.js +0 -0
  43. /package/server/routes/{stickerCatalog → sticker}/catalogHandlers/catalogAuthHttp.js +0 -0
  44. /package/server/routes/{stickerCatalog → sticker}/catalogHandlers/catalogPublicHttp.js +0 -0
  45. /package/server/routes/{stickerCatalog → sticker}/catalogHandlers/catalogUploadHttp.js +0 -0
  46. /package/server/routes/{stickerCatalog → sticker}/catalogRouter.js +0 -0
package/README.md CHANGED
@@ -76,33 +76,31 @@ O prefixo pode variar no seu grupo. Nos exemplos abaixo, foi usado `/`.
76
76
  Este bloco pode ser atualizado automaticamente pela API (`/api/sticker-packs/readme-markdown`).
77
77
 
78
78
  <!-- README_SNAPSHOT:START -->
79
-
80
79
  ### Snapshot do Sistema
81
80
 
82
- > Atualizado em `2026-03-01T02:48:19.346Z` | cache `1800s`
81
+ > Atualizado em `2026-03-02T03:59:47.711Z` | cache `1800s`
83
82
 
84
- | Metrica | Valor |
85
- | --------------------- | ------: |
86
- | Usuarios (lid_map) | 5.516 |
87
- | Grupos | 116 |
88
- | Packs | 307 |
89
- | Stickers | 7.245 |
90
- | Mensagens registradas | 446.542 |
83
+ | Métrica | Valor |
84
+ | --- | ---: |
85
+ | Usuários (lid_map) | 5.529 |
86
+ | Grupos | 118 |
87
+ | Packs | 318 |
88
+ | Stickers | 8.020 |
89
+ | Mensagens registradas | 453.847 |
91
90
 
92
91
  #### Tipos de mensagem mais usados (amostra: 25.000)
93
-
94
- | Tipo | Total |
95
- | ----------- | -----: |
96
- | `texto` | 15.772 |
97
- | `figurinha` | 4.775 |
98
- | `reacao` | 1.652 |
99
- | `imagem` | 1.386 |
100
- | `outros` | 1.000 |
101
- | `video` | 225 |
102
- | `audio` | 183 |
103
- | `documento` | 7 |
104
-
105
- <details><summary>Comandos disponiveis (62)</summary>
92
+ | Tipo | Total |
93
+ | --- | ---: |
94
+ | `texto` | 15.317 |
95
+ | `figurinha` | 4.895 |
96
+ | `reacao` | 1.810 |
97
+ | `imagem` | 1.511 |
98
+ | `outros` | 1.079 |
99
+ | `video` | 205 |
100
+ | `audio` | 178 |
101
+ | `documento` | 5 |
102
+
103
+ <details><summary>Comandos disponíveis (62)</summary>
106
104
 
107
105
  `/add` · `/addmode` · `/autorequests` · `/autosticker` · `/ban` · `/captcha` · `/cat` · `/catimg` · `/catprompt` · `/catprompt reset` · `/dado` · `/down` · `/farewell` · `/groups` · `/info` · `/invite` · `/join` · `/leave` · `/menu anime` · `/menu figurinhas` · `/menu ia` · `/menu midia` · `/menu quote` · `/menu stats` · `/menuadm` · `/metadata` · `/newgroup` · `/noticias` · `/nsfw` · `/pack add` · `/pack create` · `/pack list` · `/pack send` · `/ping` · `/play` · `/playvid` · `/prefix` · `/premium` · `/quote` · `/ranking` · `/rankingglobal` · `/requests` · `/revoke` · `/s` · `/semmsg` · `/setdesc` · `/setgroup` · `/setsubject` · `/st` · `/stb` · `/sticker` · `/stickertext` · `/stickertextblink` · `/stickertextwhite` · `/stw` · `/temp` · `/tiktok` · `/toimg` · `/up` · `/updaterequests` · `/user perfil` · `/welcome`
108
106
 
@@ -223,12 +223,7 @@ function buildAutoPackNoticeText(result, commandPrefix = DEFAULT_COMMAND_PREFIX)
223
223
  return duplicateLines.join('\n');
224
224
  }
225
225
 
226
- const savedLines = [
227
- `✅ Figurinha adicionada ao pack *${packName}*${countLabel}.`,
228
- '',
229
- `📋 Gerencie seus packs com *${commandPrefix}pack list*.`,
230
- `🚀 Envie agora com *${commandPrefix}pack send ${packCommandTarget}*.`,
231
- ];
226
+ const savedLines = [`✅ Figurinha adicionada ao pack *${packName}*${countLabel}.`, '', `📋 Gerencie seus packs com *${commandPrefix}pack list*.`, `🚀 Envie agora com *${commandPrefix}pack send ${packCommandTarget}*.`];
232
227
  if (packWebUrl) {
233
228
  savedLines.push(`🌐 Veja no site: ${packWebUrl}`);
234
229
  } else {
@@ -150,12 +150,7 @@ function buildAutoPackNoticeText(result, commandPrefix = DEFAULT_COMMAND_PREFIX)
150
150
  return duplicateLines.join('\n');
151
151
  }
152
152
 
153
- const savedLines = [
154
- `✅ Figurinha adicionada ao pack *${packName}*${countLabel}.`,
155
- '',
156
- `📋 Gerencie seus packs com *${commandPrefix}pack list*.`,
157
- `🚀 Envie agora com *${commandPrefix}pack send ${packCommandTarget}*.`,
158
- ];
153
+ const savedLines = [`✅ Figurinha adicionada ao pack *${packName}*${countLabel}.`, '', `📋 Gerencie seus packs com *${commandPrefix}pack list*.`, `🚀 Envie agora com *${commandPrefix}pack send ${packCommandTarget}*.`];
159
154
  if (packWebUrl) {
160
155
  savedLines.push(`🌐 Veja no site: ${packWebUrl}`);
161
156
  } else {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaikybrofc/omnizap-system",
3
- "version": "2.3.3",
3
+ "version": "2.3.5",
4
4
  "description": "Sistema profissional de automação WhatsApp com tecnologia Baileys",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -9,8 +9,9 @@
9
9
  <meta name="author" content="OmniZap System" />
10
10
  <meta name="robots" content="index, follow, max-snippet:-1" />
11
11
  <link rel="canonical" href="https://omnizap.shop/api-docs/" />
12
- <link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
13
- <link rel="apple-touch-icon" href="https://iili.io/FC3FABe.jpg" />
12
+ <link rel="icon" href="/favicon.ico" sizes="any" />
13
+ <link rel="manifest" href="/site.webmanifest" />
14
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
14
15
  <link rel="sitemap" type="application/xml" href="https://omnizap.shop/sitemap.xml" />
15
16
  <meta property="og:type" content="website" />
16
17
  <meta property="og:locale" content="pt_BR" />
Binary file
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="bot para grupo whatsapp, bot whatsapp pronto, automacao para grupos, moderacao grupo whatsapp" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/bot-whatsapp-para-grupo/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="bot whatsapp sem programar, bot pronto whatsapp, automacao whatsapp sem codigo" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/bot-whatsapp-sem-programar/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
@@ -8,8 +8,9 @@
8
8
  <meta name="keywords" content="comandos bot whatsapp, comandos omnizap, bot para grupo whatsapp, automacao whatsapp" />
9
9
  <meta name="robots" content="index, follow, max-snippet:-1" />
10
10
  <link rel="canonical" href="https://omnizap.shop/comandos/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
12
- <link rel="apple-touch-icon" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
13
14
  <link rel="preconnect" href="https://fonts.googleapis.com" />
14
15
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
15
16
  <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="automatizar avisos whatsapp, lembrete automatico whatsapp, bot para avisos" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/como-automatizar-avisos-no-whatsapp/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="comandos whatsapp, bot com comandos, automacao de respostas whatsapp" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/como-criar-comandos-whatsapp/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="como evitar spam whatsapp, bot anti spam whatsapp, moderacao whatsapp" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/como-evitar-spam-no-whatsapp/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="como moderar grupo whatsapp, bot para moderar grupo, organizacao de grupo whatsapp" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/como-moderar-grupo-whatsapp/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="organizar comunidade whatsapp, bot para comunidade, automacao whatsapp grupo" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/como-organizar-comunidade-whatsapp/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
Binary file
Binary file
Binary file
package/public/index.html CHANGED
@@ -10,8 +10,9 @@
10
10
  <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1" />
11
11
  <meta name="theme-color" content="#0f172a" />
12
12
  <link rel="canonical" href="https://omnizap.shop/" />
13
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
14
- <link rel="apple-touch-icon" href="/assets/images/brand-icon-192.png" />
13
+ <link rel="icon" href="/favicon.ico" sizes="any" />
14
+ <link rel="manifest" href="/site.webmanifest" />
15
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
15
16
 
16
17
  <meta property="og:type" content="website" />
17
18
  <meta property="og:locale" content="pt_BR" />
@@ -879,20 +880,20 @@
879
880
 
880
881
  <div class="proof-grid" aria-label="Prova social">
881
882
  <article class="proof">
882
- <strong id="proof-bots-online">--</strong>
883
- <span>bots online agora</span>
883
+ <strong id="proof-users-total">--</strong>
884
+ <span>usuarios no sistema</span>
884
885
  </article>
885
886
  <article class="proof">
886
- <strong id="proof-messages-today">--</strong>
887
- <span>mensagens hoje</span>
887
+ <strong id="proof-messages-total">--</strong>
888
+ <span>mensagens totais</span>
888
889
  </article>
889
890
  <article class="proof">
890
- <strong id="proof-spam-blocked">--</strong>
891
- <span>spam bloqueado hoje</span>
891
+ <strong id="proof-commands-total">--</strong>
892
+ <span>comandos usados totais</span>
892
893
  </article>
893
894
  <article class="proof">
894
- <strong id="proof-uptime">--</strong>
895
- <span>uptime do bot</span>
895
+ <strong id="proof-system-latency">--</strong>
896
+ <span>latencia do sistema</span>
896
897
  </article>
897
898
  </div>
898
899
  </div>
@@ -462,19 +462,19 @@ const initAddBotCtas = () => {
462
462
  };
463
463
 
464
464
  const initSocialProof = () => {
465
- const botsOnlineEl = document.getElementById('proof-bots-online');
466
- const messagesTodayEl = document.getElementById('proof-messages-today');
467
- const spamBlockedEl = document.getElementById('proof-spam-blocked');
468
- const uptimeEl = document.getElementById('proof-uptime');
465
+ const usersTotalEl = document.getElementById('proof-users-total');
466
+ const messagesTotalEl = document.getElementById('proof-messages-total');
467
+ const commandsTotalEl = document.getElementById('proof-commands-total');
468
+ const latencyEl = document.getElementById('proof-system-latency');
469
469
  const statusEl = document.getElementById('proof-status');
470
470
 
471
- if (!botsOnlineEl || !messagesTodayEl || !spamBlockedEl || !uptimeEl) return null;
471
+ if (!usersTotalEl || !messagesTotalEl || !commandsTotalEl || !latencyEl) return null;
472
472
 
473
473
  const setFallback = () => {
474
- botsOnlineEl.textContent = 'n/d';
475
- messagesTodayEl.textContent = 'n/d';
476
- spamBlockedEl.textContent = 'n/d';
477
- uptimeEl.textContent = 'n/d';
474
+ usersTotalEl.textContent = 'n/d';
475
+ messagesTotalEl.textContent = 'n/d';
476
+ commandsTotalEl.textContent = 'n/d';
477
+ latencyEl.textContent = 'n/d';
478
478
  if (statusEl) statusEl.textContent = 'bot pronto';
479
479
  };
480
480
 
@@ -504,20 +504,24 @@ const initSocialProof = () => {
504
504
  animateCountUp(element, numeric);
505
505
  };
506
506
 
507
+ const setLatencyMetric = (element, value) => {
508
+ const numeric = Number(value);
509
+ if (!Number.isFinite(numeric)) {
510
+ element.textContent = 'n/d';
511
+ return;
512
+ }
513
+ element.textContent = `${Math.max(0, Math.round(numeric))} ms`;
514
+ };
515
+
507
516
  const refreshMetrics = async ({ forceRefresh = false, animate = false } = {}) => {
508
517
  const bootstrapData = await fetchHomeBootstrapPayload({ forceRefresh });
509
518
  const summary = bootstrapData?.system_summary || {};
510
519
  const realtime = bootstrapData?.home_realtime || {};
511
520
 
512
- const botsOnline = Number(realtime?.bots_online);
513
- const messagesToday = Number(realtime?.messages_today);
514
- const spamBlockedToday = Number(realtime?.spam_blocked_today);
515
- const uptime = String(realtime?.uptime || summary?.process?.uptime || '').trim() || 'n/d';
516
-
517
- setNumericMetric(botsOnlineEl, botsOnline, { animate });
518
- setNumericMetric(messagesTodayEl, messagesToday, { animate });
519
- setNumericMetric(spamBlockedEl, spamBlockedToday, { animate });
520
- uptimeEl.textContent = uptime;
521
+ setNumericMetric(usersTotalEl, realtime?.total_users, { animate });
522
+ setNumericMetric(messagesTotalEl, realtime?.total_messages, { animate });
523
+ setNumericMetric(commandsTotalEl, realtime?.total_commands, { animate });
524
+ setLatencyMetric(latencyEl, realtime?.system_latency_ms);
521
525
 
522
526
  if (statusEl) {
523
527
  statusEl.textContent = `bot ${normalizeStatus(summary?.system_status || summary?.bot?.connection_status)}`;
@@ -72,7 +72,9 @@ if (root) {
72
72
  const isAuthenticatedGoogleSession = (sessionData) => {
73
73
  if (!sessionData || typeof sessionData !== 'object') return false;
74
74
  if (!isAuthenticatedFlagEnabled(sessionData.authenticated)) return false;
75
- const provider = String(sessionData.provider || '').trim().toLowerCase();
75
+ const provider = String(sessionData.provider || '')
76
+ .trim()
77
+ .toLowerCase();
76
78
  if (provider && provider !== 'google') return false;
77
79
  const ownerJid = String(sessionData.owner_jid || '').trim();
78
80
  const userSub = String(sessionData?.user?.sub || '').trim();
@@ -21,10 +21,6 @@ if (root) {
21
21
  metricStickers: document.getElementById('metric-stickers'),
22
22
  metricDownloads: document.getElementById('metric-downloads'),
23
23
  metricLikes: document.getElementById('metric-likes'),
24
- summary: document.getElementById('user-summary'),
25
- ownerJid: document.getElementById('user-owner-jid'),
26
- googleSub: document.getElementById('user-google-sub'),
27
- expiresAt: document.getElementById('user-expires-at'),
28
24
  actions: document.getElementById('user-actions'),
29
25
  chatLink: document.getElementById('user-chat-link'),
30
26
  logoutBtn: document.getElementById('user-logout-btn'),
@@ -150,12 +146,7 @@ if (root) {
150
146
  };
151
147
  }
152
148
 
153
- setText(ui.ownerJid, ownerJid || 'n/d');
154
- setText(ui.googleSub, String(user?.sub || '').trim() || 'n/d');
155
- setText(ui.expiresAt, formatDateTime(sessionData?.expires_at));
156
-
157
149
  if (ui.profile) ui.profile.hidden = false;
158
- if (ui.summary) ui.summary.hidden = false;
159
150
  if (ui.actions) ui.actions.hidden = false;
160
151
  };
161
152
 
@@ -7,8 +7,9 @@
7
7
  <meta name="description" content="Informações de licença do OmniZap System (MIT License)." />
8
8
  <meta name="robots" content="index, follow" />
9
9
  <link rel="canonical" href="https://omnizap.shop/licenca/" />
10
- <link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
11
- <link rel="apple-touch-icon" href="https://iili.io/FC3FABe.jpg" />
10
+ <link rel="icon" href="/favicon.ico" sizes="any" />
11
+ <link rel="manifest" href="/site.webmanifest" />
12
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
13
  <style>
13
14
  :root {
14
15
  --bg: #0f172a;
@@ -8,7 +8,9 @@
8
8
  <meta name="robots" content="noindex, nofollow" />
9
9
  <meta name="theme-color" content="#0f172a" />
10
10
  <link rel="canonical" href="https://omnizap.shop/login/" />
11
- <link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
  <link rel="preconnect" href="https://fonts.googleapis.com" />
13
15
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
14
16
  <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700&display=swap" rel="stylesheet" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="melhor bot whatsapp, bot para grupos, comparativo bot whatsapp" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/melhor-bot-whatsapp-para-grupos/" />
11
- <link rel="icon" type="image/png" href="/assets/images/brand-icon-192.png" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
 
13
15
  <meta property="og:type" content="article" />
14
16
  <meta property="og:locale" content="pt_BR" />
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "OmniZap",
3
+ "short_name": "OmniZap",
4
+ "icons": [
5
+ {
6
+ "src": "/favicon-32x32.png",
7
+ "sizes": "32x32",
8
+ "type": "image/png"
9
+ },
10
+ {
11
+ "src": "/favicon-16x16.png",
12
+ "sizes": "16x16",
13
+ "type": "image/png"
14
+ },
15
+ {
16
+ "src": "/apple-touch-icon.png",
17
+ "sizes": "180x180",
18
+ "type": "image/png"
19
+ }
20
+ ],
21
+ "theme_color": "#070f20",
22
+ "background_color": "#070f20",
23
+ "display": "standalone"
24
+ }
@@ -6,7 +6,9 @@
6
6
  <title>OmniZap | Criar novo Pack</title>
7
7
  <meta name="description" content="Crie um novo pack com fluxo visual passo a passo. Adicione stickers, escolha capa e publique no catálogo OmniZap." />
8
8
  <meta name="robots" content="noindex, nofollow" />
9
- <link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
9
+ <link rel="icon" href="/favicon.ico" sizes="any" />
10
+ <link rel="manifest" href="/site.webmanifest" />
11
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
10
12
  <link rel="preconnect" href="https://fonts.googleapis.com" />
11
13
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
12
14
  <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@500;600;700;800&display=swap" rel="stylesheet" />
@@ -8,7 +8,9 @@
8
8
  <meta name="keywords" content="stickers omnizap, catálogo stickers, packs whatsapp, api stickers, bot whatsapp stickers" />
9
9
  <meta name="robots" content="index, follow" />
10
10
  <link rel="canonical" href="https://omnizap.shop/stickers/" />
11
- <link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
11
+ <link rel="icon" href="/favicon.ico" sizes="any" />
12
+ <link rel="manifest" href="/site.webmanifest" />
13
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
14
  <link rel="preconnect" href="https://fonts.googleapis.com" />
13
15
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
14
16
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap" rel="stylesheet" />
@@ -7,8 +7,9 @@
7
7
  <meta name="description" content="Termos de Uso e diretrizes de privacidade do OmniZap System." />
8
8
  <meta name="robots" content="index, follow" />
9
9
  <link rel="canonical" href="https://omnizap.shop/termos-de-uso/" />
10
- <link rel="icon" type="image/jpeg" href="https://iili.io/FC3FABe.jpg" />
11
- <link rel="apple-touch-icon" href="https://iili.io/FC3FABe.jpg" />
10
+ <link rel="icon" href="/favicon.ico" sizes="any" />
11
+ <link rel="manifest" href="/site.webmanifest" />
12
+ <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
12
13
  <style>
13
14
  :root {
14
15
  --bg: #0f172a;