@danhachuel/thunderbolt 0.4.7 → 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 +22 -5
  2. package/package.json +1 -1
package/app/main.py CHANGED
@@ -216,10 +216,8 @@ st.markdown("""
216
216
  [data-testid="stSidebar"] [data-testid="stBaseButton-secondary"] { background:transparent; color:inherit; }
217
217
  [data-testid="stSidebar"] [data-testid="stBaseButton-secondary"]:hover { background:rgba(128,128,128,.08); border-color:rgba(128,128,128,.25); color:inherit; }
218
218
  [data-testid="stSidebar"] [data-testid="stBaseButton-secondary"]:hover { background:color-mix(in srgb, currentColor 8%, transparent); border-color:color-mix(in srgb, currentColor 18%, transparent); color:inherit; }
219
- [data-testid="stSidebar"] [data-testid="stBaseButton-primary"] { background:rgba(128,128,128,.14); color:inherit; border-color:rgba(128,128,128,.30); }
220
- [data-testid="stSidebar"] [data-testid="stBaseButton-primary"] { background:color-mix(in srgb, currentColor 12%, transparent); color:inherit; border-color:color-mix(in srgb, currentColor 22%, transparent); }
221
- [data-testid="stSidebar"] [data-testid="stBaseButton-primary"]:hover { background:rgba(128,128,128,.20); color:inherit; }
222
- [data-testid="stSidebar"] [data-testid="stBaseButton-primary"]:hover { background:color-mix(in srgb, currentColor 18%, transparent); color:inherit; }
219
+ [data-testid="stSidebar"] [data-testid="stBaseButton-primary"] { background:#7c3aed !important; color:#ffffff !important; border-color:#8b5cf6 !important; }
220
+ [data-testid="stSidebar"] [data-testid="stBaseButton-primary"]:hover { background:#6d28d9 !important; color:#ffffff !important; border-color:#a78bfa !important; }
223
221
  [data-testid="stSidebar"] [data-testid="stBaseButton-primary"] span,
224
222
  [data-testid="stSidebar"] [data-testid="stBaseButton-secondary"] span { color:inherit; }
225
223
  [data-testid="stSidebar"] [data-testid="stExpander"] { border:0 !important; background:transparent !important; margin:0.02rem 0 !important; }
@@ -7103,6 +7101,19 @@ def main():
7103
7101
  "Documentação": documentation_items,
7104
7102
  "Configurações": settings_items,
7105
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
+
7106
7117
  aliases = {
7107
7118
  "Dashboard": "Início",
7108
7119
  "Novo vídeo": "Criação de Vídeos",
@@ -7128,6 +7139,12 @@ def main():
7128
7139
  current_page = "Início"
7129
7140
  st.session_state["page"] = current_page
7130
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
+
7131
7148
  if current_page == "Início":
7132
7149
  render_home_update_controls()
7133
7150
  render_ui_language_picker(ui_language)
@@ -7138,7 +7155,7 @@ def main():
7138
7155
 
7139
7156
  def render_nav_button(target: str, icon: str, label: str, scope: str):
7140
7157
  display_label = ui_text(label, ui_language)
7141
- 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"):
7142
7159
  navigate(target)
7143
7160
 
7144
7161
  with st.sidebar:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danhachuel/thunderbolt",
3
- "version": "0.4.7",
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",