feat: 🎸 First part working & Added some ponies

This commit is contained in:
Atsukoro1 2022-12-01 16:43:59 +01:00
parent cdff610377
commit 8588a07d1a
3 changed files with 79 additions and 16 deletions

View file

@ -1,17 +1,25 @@
use crate::{helpers, system}; use super::{file::file_open, colors::print_cyan_bold};
use crate::helpers::{self, colors::print_bold};
use super::file::file_open; pub fn print_detail(title: &str, value: String, introduction: bool) {
print!(" ");
pub fn print_detail(title: &str, value: String) { if introduction {
print_bold(&format!(
"{}@{}",
title,
value
), true);
} else {
helpers::colors::print_cyan_bold(&title, true); helpers::colors::print_cyan_bold(&title, true);
for _ in 0..(8 - title.len()) { for _ in 0..(10 - title.len()) {
print!(" "); print!(" ");
} }
helpers::colors::print_bold(" : ", true); helpers::colors::print_bold(" : ", true);
print!("{}", &value); print!("{}", &value);
println!(); }
} }
pub fn print_ponyline(line: u16, pony: &str) { pub fn print_ponyline(line: u16, pony: &str) {
@ -20,6 +28,6 @@ pub fn print_ponyline(line: u16, pony: &str) {
.skip(line as usize) .skip(line as usize)
.take(1) .take(1)
.for_each(|line| { .for_each(|line| {
print!("{}", line); print_cyan_bold(line, true);
}); });
} }

View file

@ -1,9 +1,64 @@
mod helpers; mod helpers;
mod system; mod system;
struct Action<'a> {
name: &'a str,
func: fn() -> String,
}
static ACTIONS: [Action; 8] = [
Action {
name: "Distro",
func: system::host::get_distro,
},
Action {
name: "Kernel",
func: system::specs::get_kernel,
},
Action {
name: "Uptime",
func: system::host::get_uptime,
},
Action {
name: "Shell",
func: system::host::get_shell,
},
Action {
name: "Resolution",
func: system::host::get_resolution,
},
Action {
name: "IP",
func: system::net::get_ipaddr,
},
Action {
name: "CPU",
func: system::specs::get_cpu,
},
Action {
name: "RAM",
func: system::specs::get_ram_used,
}
];
fn main() { fn main() {
for i in 0..31 { for i in 0..12 {
helpers::print::print_ponyline(i, "celestia"); helpers::print::print_ponyline(i, "rainbowdash");
helpers::print::print_detail("User", system::host::get_user());
if i == 0 {
helpers::print::print_detail(
&system::host::get_user(),
system::host::get_hostname(),
true
);
} else if ACTIONS.len() > (i as usize) && i != 0 {
helpers::print::print_detail(
ACTIONS[i as usize - 1].name,
(ACTIONS[i as usize - 1].func)(),
false
);
}
println!();
} }
} }

View file

@ -60,7 +60,7 @@ pub fn get_distro() -> String {
#[cfg(target_os = "linux")] #[cfg(target_os = "linux")]
pub fn get_uptime() -> String { pub fn get_uptime() -> String {
let mut temp_buf: String = file_open("/proc/uptime"); let temp_buf: String = file_open("/proc/uptime");
let uptime: u128 = temp_buf.split(".") let uptime: u128 = temp_buf.split(".")
.collect::<Vec<&str>>()[0] .collect::<Vec<&str>>()[0]