use ratatui::layout::Rect;
use ratatui::style::Style;
use ratatui::Frame;
use throbber_widgets_tui::{Throbber, ThrobberState, BRAILLE_SIX};
use crate::tui::theme::colors::CRAIL;
pub fn render_spinner(frame: &mut Frame, area: Rect, state: &mut ThrobberState, label: &str) {
let spinner = Throbber::default()
.throbber_set(BRAILLE_SIX)
.label(label)
.style(Style::default().fg(CRAIL));
frame.render_stateful_widget(spinner, area, state);
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_spinner_state_creation() {
let state = ThrobberState::default();
assert!(std::mem::size_of_val(&state) > 0);
}
#[test]
fn test_spinner_state_can_be_ticked() {
let mut state = ThrobberState::default();
state.calc_next();
}
}