1use crate::constants::LOGO;
2use tiny_gradient::{GradientDisplay, GradientStr, RGB};
3
4pub fn clean_console() {
6 print!("{esc}c", esc = 27 as char);
7}
8
9pub fn chevrons<'a>() -> GradientDisplay<'a, [RGB; 3]> {
10 GradientStr::gradient(
11 &">>>",
12 [RGB::new(9, 42, 208), RGB::new(26, 78, 96), RGB::new(9, 42, 208)],
13 )
14}
15
16
17pub fn indent(amount: u32) -> String {
19 let mut new_amount = String::new();
20
21 for _ in 0..amount {
22 new_amount.push('\n');
23 }
24 new_amount
25}
26
27pub fn rapid_logo<'a>() -> &'static str {
29 "\x1b[38;2;9;42;208m>\x1b[0m\x1b[38;2;15;55;175m>\x1b[0m\x1b[38;2;20;65;140m>\x1b[0m\x1b[38;2;26;78;96m \x1b[0m\x1b[38;2;21;68;130mR\x1b[0m\x1b[38;2;17;60;158m \x1b[0m\x1b[38;2;14;52;184mA\x1b[0m\x1b[38;2;9;42;208m \x1b[0m\x1b[38;2;9;99;215mP\x1b[0m\x1b[38;2;10;130;223m \x1b[0m\x1b[38;2;11;155;233mI\x1b[0m\x1b[38;2;12;177;244m \x1b[0m\x1b[38;2;14;197;255mD\x1b[0m"
36}
37
38pub fn rapid_logo_small<'a>() -> GradientDisplay<'a, [RGB; 4]> {
40 GradientStr::gradient(
41 &"R A P I D",
42 [RGB::new(9, 42, 208), RGB::new(26, 78, 96), RGB::new(9, 42, 208), RGB::new(14, 197, 255)],
43 )
44}
45
46pub fn logo<'a>() -> GradientDisplay<'a, [RGB; 4]> {
48 GradientStr::gradient(
49 &LOGO,
50 [RGB::new(9, 42, 208), RGB::new(26, 78, 96), RGB::new(9, 42, 208), RGB::new(14, 197, 255)],
51 )
52}