@danhachuel/thunderbolt 0.4.8 → 0.4.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/app/main.py +20 -1
  2. package/package.json +1 -1
package/app/main.py CHANGED
@@ -7101,6 +7101,19 @@ def main():
7101
7101
  "Documentação": documentation_items,
7102
7102
  "Configurações": settings_items,
7103
7103
  }
7104
+ nav_paths = {
7105
+ "Início": "/inicio", "Automação": "/automacao", "Automação Youtube": "/automacao/youtube",
7106
+ "Niche Finder": "/niche-finder", "Niche Finder Kaggle": "/niche-finder/kaggle", "Niche Finder Apify": "/niche-finder/apify",
7107
+ "Pipeline Vídeos": "/pipeline-videos", "Criação de Vídeos": "/pipeline-videos/criacao", "Backlog Vídeos": "/pipeline-videos/backlog", "Roteiros": "/pipeline-videos/roteiros", "Thumbnails": "/pipeline-videos/thumbnails", "Upload": "/pipeline-videos/upload",
7108
+ "Pipeline Música": "/pipeline-musica", "Criação de Músicas": "/pipeline-musica/criacao", "Music Backlog": "/pipeline-musica/backlog", "Vozes Personalizadas": "/pipeline-musica/vozes-personalizadas", "Upload Música": "/pipeline-musica/upload",
7109
+ "Canais/Perfis (Vídeos)": "/canais-perfis-videos", "Canais YouTube": "/canais-perfis-videos/canais-youtube", "Blueprints Youtube": "/canais-perfis-videos/blueprints-youtube", "Contas TikTok": "/canais-perfis-videos/contas-tiktok", "Prompt Masters": "/canais-perfis-videos/prompt-masters", "Facebook Pages": "/canais-perfis-videos/facebook-pages",
7110
+ "AI Influencers": "/ai-influencers", "Personagens": "/ai-influencers/personagens", "Geração de Conteúdo IA": "/ai-influencers/geracao-conteudo", "Motion Control": "/ai-influencers/motion-control", "UGC Products": "/ai-influencers/ugc-products", "Redes Sociais": "/ai-influencers/redes-sociais",
7111
+ "Edição": "/edicao", "Limpador de Metadados": "/edicao/limpador-metadados", "Cortes": "/edicao/cortes", "Editor Python": "/edicao/editor-python", "Download Mídia": "/edicao/download-midia",
7112
+ "Growth": "/growth", "Analista Growth Youtube": "/growth/youtube", "Analista Growth Tiktok": "/growth/tiktok", "Analista Growth Instagram": "/growth/instagram", "Analista Facebook Pages": "/growth/facebook-pages", "Analista Bilibili": "/growth/bilibili",
7113
+ "Documentação": "/documentacao", "Tutorial Meta": "/documentacao/meta", "Tutorial Supabase": "/documentacao/supabase", "Tutorial Kaggle": "/documentacao/kaggle", "Tutorial Apify": "/documentacao/apify", "Tutorial YouTube Video-Upload Frontend": "/documentacao/youtube-video-upload-frontend",
7114
+ "Configurações": "/configuracoes", "MCP": "/configuracoes/mcp", "Notificações": "/configuracoes/notificacoes", "Logs": "/configuracoes/logs", "Configuração API": "/configuracoes/api",
7115
+ }
7116
+
7104
7117
  aliases = {
7105
7118
  "Dashboard": "Início",
7106
7119
  "Novo vídeo": "Criação de Vídeos",
@@ -7126,6 +7139,12 @@ def main():
7126
7139
  current_page = "Início"
7127
7140
  st.session_state["page"] = current_page
7128
7141
  ui_language = current_ui_language()
7142
+ current_path = nav_paths.get(current_page, "/inicio")
7143
+
7144
+ def is_nav_item_active(target: str) -> bool:
7145
+ """Activate one item only when its own path equals the current path."""
7146
+ return current_path == nav_paths.get(target)
7147
+
7129
7148
  if current_page == "Início":
7130
7149
  render_home_update_controls()
7131
7150
  render_ui_language_picker(ui_language)
@@ -7136,7 +7155,7 @@ def main():
7136
7155
 
7137
7156
  def render_nav_button(target: str, icon: str, label: str, scope: str):
7138
7157
  display_label = ui_text(label, ui_language)
7139
- if st.button(display_label, key=f"nav_{scope}_{target}", icon=icon, use_container_width=True, type="primary" if current_page == target else "secondary"):
7158
+ if st.button(display_label, key=f"nav_{scope}_{target}", icon=icon, use_container_width=True, type="primary" if is_nav_item_active(target) else "secondary"):
7140
7159
  navigate(target)
7141
7160
 
7142
7161
  with st.sidebar:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danhachuel/thunderbolt",
3
- "version": "0.4.8",
3
+ "version": "0.4.9",
4
4
  "description": "Thunderbolt — interface local para operação de canais faceless e motor MoneyPrinterTurbo",
5
5
  "license": "MIT",
6
6
  "main": "scripts/cli.mjs",