use std::thread;
use std::time::Duration;
use tinterm::*;
fn main() {
println!("🌟 Tinterm Shimmer Showcase 🌟\n");
println!("1. Basic Shimmer Effect:");
let shimmer = "✨ Shimmering Text ✨".shimmer(Color::GOLD, None);
println!(" Static: {}", shimmer.static_render());
print!(" Animated: ");
shimmer.animate(3);
println!();
println!("2. Shine Effect:");
let shine_red = "🔥 Blazing Fire 🔥".shine(Color::RED);
let shine_blue = "💎 Crystal Blue 💎".shine(Color::CYAN);
let shine_green = "🌿 Forest Green 🌿".shine(Color::GREEN);
println!(" Static renders:");
println!(" {}", shine_red.static_render());
println!(" {}", shine_blue.static_render());
println!(" {}", shine_green.static_render());
print!(" Animated shine: ");
shine_red.animate(2);
println!();
println!("3. Glow Effect:");
let glow_soft = "🌙 Soft Moonlight 🌙".glow(Color::LIGHT_BLUE, 150);
let glow_medium = "⭐ Bright Star ⭐".glow(Color::YELLOW, 200);
let glow_intense = "☀️ Blazing Sun ☀️".glow(Color::ORANGE, 255);
println!(" Static renders:");
println!(" {}", glow_soft.static_render());
println!(" {}", glow_medium.static_render());
println!(" {}", glow_intense.static_render());
println!("4. Shimmer with Background:");
let bg_shimmer = "🎨 Art on Canvas 🎨"
.shimmer(Color::WHITE, Some(Color::DARK_BLUE))
.speed(80);
print!(" ");
bg_shimmer.animate(3);
println!();
println!("5. Gradient Shimmer:");
let gradient_shimmer = "🌈 Rainbow Bridge 🌈"
.shimmer_gradient(Color::RED, Color::VIOLET, None)
.speed(120);
print!(" ");
gradient_shimmer.animate(3);
println!();
println!("6. Speed Variations:");
let fast = "⚡ Lightning Fast ⚡"
.shimmer(Color::YELLOW, None)
.speed(50);
let slow = "🐌 Slow and Steady 🐌"
.shimmer(Color::GREEN, None)
.speed(200);
print!(" Fast: ");
fast.animate(2);
print!(" Slow: ");
slow.animate(2);
println!();
println!("7. Combined Effects:");
let bold_shimmer = "💪 Bold Shimmer 💪".bold().shimmer(Color::RED, None);
let italic_glow = "💫 Italic Glow 💫".italic().glow(Color::PURPLE, 180);
println!(" {}", bold_shimmer.static_render());
println!(" {}", italic_glow.static_render());
println!("8. Multi-line Effects:");
let multiline = "🚀 Launch Sequence\n⭐ Stars Aligning\n🌙 Mission Success";
let multiline_shimmer = multiline.shimmer(Color::CYAN, Some(Color::DARK_BLUE));
print!(" ");
multiline_shimmer.animate(2);
println!();
println!("9. Performance Showcase - Multiple Effects:");
let effects = vec![
"🎯 Target Acquired".shimmer(Color::RED, None),
"🔍 Scanning...".shine(Color::GREEN),
"📡 Signal Strong".glow(Color::BLUE, 200),
"✅ Mission Complete".shimmer_gradient(Color::GREEN, Color::LIME, None),
];
for (i, effect) in effects.iter().enumerate() {
print!(" Effect {}: ", i + 1);
effect.clone().speed(60).animate(1);
thread::sleep(Duration::from_millis(200));
}
println!("\n🎉 Shimmer showcase complete! 🎉");
}