@danhachuel/thunderbolt 0.2.78 → 0.2.80

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.
@@ -2,7 +2,7 @@
2
2
 
3
3
  Este manual descreve a instalação local da UI Thunderbolt, baseada no MoneyPrinterTurbo, utilizando o pacote npm `@danhachuel/thunderbolt`. O fluxo recomendado instala automaticamente o ambiente Python, as dependências da aplicação, as dependências do MoneyPrinterTurbo, o Streamlit e o suporte FFmpeg através de `imageio-ffmpeg`.
4
4
 
5
- > **Versão deste manual:** 0.2.78
5
+ > **Versão deste manual:** 0.2.80
6
6
  > **Pacote npm:** `@danhachuel/thunderbolt`
7
7
  > **Porta padrão da UI:** `localhost:3030`
8
8
  > **Repositório:** [github.com/DanHachuel/thunderbolt](https://github.com/DanHachuel/thunderbolt)
@@ -194,7 +194,7 @@ npx --yes @danhachuel/thunderbolt install
194
194
 
195
195
  O Thunderbolt inclui as dez opções de idioma usadas pelo fluxo MoneyPrinterTurbo: **🇺🇸 Inglês (en)**, **🇨🇳 Chinês Simplificado (zh)**, **🇩🇪 Alemão (de)**, **🇻🇳 Vietnamita (vi)**, **🇹🇷 Turco (tr)**, **🇧🇷 Português (pt)**, **🇷🇺 Russo (ru)**, **🇪🇸 Espanhol (es)**, **🇮🇩 Indonésio (id)** e **🇮🇹 Italiano (it)**. A criação de vídeos mantém ainda os rótulos históricos para não invalidar Blueprints e tarefas antigas.
196
196
 
197
- No canto superior direito, imediatamente à esquerda de **Deploy**, o botão com a bandeira actual abre o selector do **Idioma da interface**. A escolha fica guardada como `ui_language` em `storage/state/settings.json` e, quando existe um caminho MoneyPrinterTurbo configurado, é sincronizada com `[ui].language` no `config.toml`. Na Criação de Vídeos e em Roteiros, o selector **Script Language** mostra bandeira, nome e código, mas guarda o código curto; essa escolha é sincronizada com `[ui].video_language`.
197
+ No canto superior direito, imediatamente **à direita de Deploy e antes do menu principal**, o botão com a bandeira actual abre o selector do **Idioma da interface**. O espaço à esquerda de **Deploy** fica livre para o indicador de execução do Streamlit. A escolha fica guardada como `ui_language` em `storage/state/settings.json` e, quando existe um caminho MoneyPrinterTurbo configurado, é sincronizada com `[ui].language` no `config.toml`. Na Criação de Vídeos e em Roteiros, o selector **Script Language** mostra bandeira, nome e código, mas guarda o código curto; essa escolha é sincronizada com `[ui].video_language`.
198
198
 
199
199
  ## 4. Diagnóstico antes de iniciar
200
200
 
package/README.md CHANGED
@@ -50,9 +50,9 @@ Os adaptadores do MoneyPrinterTurbo e de publicação nas plataformas são ligad
50
50
 
51
51
  O Thunderbolt mantém os idiomas históricos da criação de vídeos e acrescenta as dez opções canónicas do MoneyPrinterTurbo: **🇺🇸 Inglês (en)**, **🇨🇳 Chinês Simplificado (zh)**, **🇩🇪 Alemão (de)**, **🇻🇳 Vietnamita (vi)**, **🇹🇷 Turco (tr)**, **🇧🇷 Português (pt)**, **🇷🇺 Russo (ru)**, **🇪🇸 Espanhol (es)**, **🇮🇩 Indonésio (id)** e **🇮🇹 Italiano (it)**. Os códigos curtos são os valores persistidos e sincronizados com `ui.video_language` no `config.toml`; a bandeira e o nome são apenas a apresentação visual.
52
52
 
53
- No canto superior direito da aplicação existe um botão compacto com a bandeira do idioma actual, colocado imediatamente à esquerda do botão **Deploy** do Streamlit. Ao abrir o botão, seleccione outro idioma; a preferência é guardada em `storage/state/settings.json` como `ui_language`, e a navegação lateral actualiza-se sem alterar o idioma seleccionado para os vídeos. A primeira implementação traduz o chrome principal da navegação e mantém os rótulos específicos das páginas compatíveis com o fluxo existente.
53
+ No canto superior direito da aplicação existe um botão compacto com a bandeira do idioma actual, colocado imediatamente **à direita do botão Deploy e antes do menu principal** do Streamlit. O espaço à esquerda de **Deploy** fica livre para o indicador de execução. Ao abrir o botão, seleccione outro idioma; a preferência é guardada em `storage/state/settings.json` como `ui_language`, e a navegação lateral actualiza-se sem alterar o idioma seleccionado para os vídeos. A primeira implementação traduz o chrome principal da navegação e mantém os rótulos específicos das páginas compatíveis com o fluxo existente.
54
54
 
55
- ## Navegação da UI 0.2.78
55
+ ## Navegação da UI 0.2.80
56
56
 
57
57
  A barra lateral mantém os níveis principais, nesta ordem: **Início**, **Niche Finder**, **Pipeline**, **Pipeline TikTok**, **Automação**, **Edição**, **AI Influencers** e **Configurações**. **Pipeline** é expansível e contém **Criação de Vídeos**, **Criação de Músicas**, **Roteiros** e **Upload**. **Automação** também é expansível e contém **Automação Youtube**. **Edição** é expansível e contém **Limpador de Metadados**, **Cortes**, **Editor Python** e **Download Mídia**, nessa ordem. **AI Influencers** é expansível e contém **Personagens**, **Redes Sociais** e **Tutorial Meta**, nessa ordem. **Niche Finder** é expansível e contém **Niche Finder Kaggle** e **Niche Finder Apify**. **Configurações** é expansível e contém **Canais Youtube**, **Blueprints Youtube**, **MCP**, **Contas Google**, **Configuração API** e **Notificações**. O Início reúne o dashboard e as filas do Pipeline, sem botões de acções rápidas.
58
58
 
package/app/main.py CHANGED
@@ -188,12 +188,24 @@ st.markdown("""
188
188
  [data-testid="stRadio"] label { border:1px solid #2a4052; border-radius:12px; padding:.65rem .8rem; background:#101b25; min-height:4.3rem; }
189
189
  [data-testid="stRadio"] label:has(input:checked) { border-color:#c59b55; background:linear-gradient(145deg, rgba(96,71,33,.42), rgba(17,27,37,.95)); }
190
190
  [data-testid="stStatusWidget"] { border-color:#2a4052 !important; background:#101b25 !important; }
191
- /* Selector compacto de idioma, visualmente colocado à esquerda do Deploy do Streamlit. */
192
- [data-testid="stPopover"] { position:fixed !important; top:0.34rem !important; right:4.75rem !important; z-index:100000 !important; }
193
- [data-testid="stPopover"] > button { min-width:2.25rem !important; width:2.25rem !important; height:2.25rem !important; padding:0 !important; border:1px solid #2a4052 !important; border-radius:8px !important; background:#101b25 !important; }
194
- [data-testid="stPopover"] > button p { font-size:1.12rem !important; line-height:1 !important; margin:0 !important; }
191
+ /* Selector compacto de idioma, visualmente colocado à direita do Deploy e antes do menu. */
192
+ [data-testid="stPopover"] { position:fixed !important; top:0.20rem !important; right:1.5rem !important; width:1.5rem !important; min-width:1.5rem !important; max-width:1.5rem !important; z-index:100000 !important; pointer-events:auto !important; }
193
+ /* Reservar uma faixa própria entre Deploy e o menu sem deslocar o indicador de execução. */
194
+ [data-testid="stAppDeployButton"] { width:3.3rem !important; min-width:3.3rem !important; max-width:3.3rem !important; }
195
+ [data-testid="stAppDeployButton"] button { width:3.3rem !important; min-width:3.3rem !important; max-width:3.3rem !important; padding:0 !important; justify-content:center !important; }
196
+ [data-testid="stMainMenu"] { width:1.5rem !important; min-width:1.5rem !important; max-width:1.5rem !important; transform:translateX(1rem) !important; }
197
+ [data-testid="stPopover"] > div,
198
+ [data-testid="stPopover"] [data-testid="stPopoverButton"] { width:1.5rem !important; min-width:1.5rem !important; max-width:1.5rem !important; }
199
+ [data-testid="stPopover"] [data-testid="stPopoverButton"] { height:2.25rem !important; padding:0 !important; border:1px solid #2a4052 !important; border-radius:8px !important; background:#101b25 !important; }
200
+ [data-testid="stPopover"] [data-testid="stPopoverButton"] p { font-size:1rem !important; line-height:1 !important; margin:0 !important; }
201
+ [data-testid="stPopover"] [data-testid="stPopoverButton"] [data-testid="stIconMaterial"] { display:none !important; }
195
202
  [data-testid="stPopover"] [data-testid="stPopoverBody"] { min-width:18rem; }
196
- @media (max-width: 700px) { [data-testid="stPopover"] { right:3.2rem !important; } }
203
+ @media (max-width: 700px) {
204
+ [data-testid="stPopover"] { right:1.5rem !important; }
205
+ [data-testid="stAppDeployButton"] { width:3.3rem !important; min-width:3.3rem !important; max-width:3.3rem !important; }
206
+ [data-testid="stAppDeployButton"] button { width:3.3rem !important; min-width:3.3rem !important; max-width:3.3rem !important; }
207
+ [data-testid="stMainMenu"] { width:1.5rem !important; min-width:1.5rem !important; max-width:1.5rem !important; transform:translateX(1rem) !important; }
208
+ }
197
209
 
198
210
  /* Cores dos chips por identidade da plataforma, sem depender da ordem de selecção. */
199
211
  [data-testid="stMultiSelectTagsContainer"] span[data-tag] { color:#ffffff !important; border:0 !important; font-weight:700 !important; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@danhachuel/thunderbolt",
3
- "version": "0.2.78",
3
+ "version": "0.2.80",
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",