1use genius_rust::song::Song;
2use owo_colors::{
3 colors::{css::Orange, Black, BrightGreen, BrightYellow, Cyan, Magenta, Yellow},
4 OwoColorize,
5};
6use rand::Rng;
7
8pub fn print_colorized(song: &Song) {
9 let mut rng = rand::thread_rng();
10 match rng.gen_range(0..5) {
11 0 => {
12 println!(
13 "\n{}{}{}",
14 song.primary_artist.name.fg::<Black>().bg::<Magenta>(),
15 " - ".fg::<Black>().bg::<Magenta>(),
16 song.title.fg::<Black>().bg::<Magenta>()
17 );
18 println!("{}\n", song.url.fg::<Magenta>());
19 }
20 1 => {
21 println!(
22 "\n{}{}{}",
23 song.primary_artist.name.fg::<Black>().bg::<Cyan>(),
24 " - ".fg::<Black>().bg::<Cyan>(),
25 song.title.fg::<Black>().bg::<Cyan>()
26 );
27 println!("{}\n", song.url.fg::<Cyan>());
28 }
29 2 => {
30 println!(
31 "\n{}{}{}",
32 song.primary_artist.name.fg::<Black>().bg::<Orange>(),
33 " - ".fg::<Black>().bg::<Orange>(),
34 song.title.fg::<Black>().bg::<Orange>()
35 );
36 println!("{}\n", song.url.fg::<Orange>());
37 }
38 3 => {
39 println!(
40 "\n{}{}{}",
41 song.primary_artist.name.fg::<Black>().bg::<BrightGreen>(),
42 " - ".fg::<Black>().bg::<BrightGreen>(),
43 song.title.fg::<Black>().bg::<BrightGreen>()
44 );
45 println!("{}\n", song.url.fg::<BrightGreen>());
46 }
47 4 => {
48 println!(
49 "\n{}{}{}",
50 song.primary_artist.name.fg::<Black>().bg::<Yellow>(),
51 " - ".fg::<Black>().bg::<Yellow>(),
52 song.title.fg::<Black>().bg::<Yellow>()
53 );
54 println!("{}\n", song.url.fg::<Yellow>());
55 }
56
57 5 => {
58 println!(
59 "\n{}{}{}",
60 song.primary_artist.name.fg::<Black>().bg::<BrightYellow>(),
61 " - ".fg::<Black>().bg::<BrightYellow>(),
62 song.title.fg::<Black>().bg::<BrightYellow>()
63 );
64 println!("{}\n", song.url.fg::<BrightYellow>());
65 }
66 _ => {
67 println!(
68 "\n{}{}{}",
69 song.primary_artist.name.fg::<Black>().bg::<Magenta>(),
70 " - ".fg::<Black>().bg::<Magenta>(),
71 song.title.fg::<Black>().bg::<Magenta>()
72 );
73 println!("{}\n", song.url.fg::<Magenta>());
74 }
75 }
76}