fix: redimensiona janela de chat ao minimizar/expandir

- Adiciona funcao set_chat_minimized que redimensiona a janela
- Modo minimizado: 200x56 (tamanho do chip)
- Modo expandido: 380x520 (tamanho completo)
- Janela reposiciona automaticamente no canto inferior direito
- Adiciona comando is_chat_using_sse para verificar modo de conexao

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
esdrasrenan 2025-12-07 17:12:29 -03:00
parent 53376fe5b0
commit a0edaf8adb
3 changed files with 69 additions and 5 deletions

View file

@ -910,3 +910,37 @@ pub fn minimize_chat_window(app: &tauri::AppHandle, ticket_id: &str) -> Result<(
}
Ok(())
}
/// Redimensiona a janela de chat para modo minimizado (chip) ou expandido
pub fn set_chat_minimized(app: &tauri::AppHandle, ticket_id: &str, minimized: bool) -> Result<(), String> {
let label = format!("chat-{}", ticket_id);
let window = app.get_webview_window(&label).ok_or("Janela nao encontrada")?;
// Tamanhos
let (width, height) = if minimized {
(200.0, 56.0) // Tamanho do chip
} else {
(380.0, 520.0) // Tamanho expandido
};
// Calcular posicao no canto inferior direito
let (x, y) = if let Some(monitor) = window.current_monitor().ok().flatten() {
let size = monitor.size();
let scale = monitor.scale_factor();
let margin = 20.0;
let taskbar_height = 50.0;
(
(size.width as f64 / scale) - width - margin,
(size.height as f64 / scale) - height - margin - taskbar_height,
)
} else {
(100.0, 100.0)
};
// Aplicar novo tamanho e posicao
window.set_size(tauri::LogicalSize::new(width, height)).map_err(|e| e.to_string())?;
window.set_position(tauri::LogicalPosition::new(x, y)).map_err(|e| e.to_string())?;
crate::log_info!("Chat {} -> minimized={}", ticket_id, minimized);
Ok(())
}