88#include " console.hpp"
99#include " char.hpp"
1010#include " calculator_shell.hpp"
11+ #include " definitions.hpp"
1112
12- #ifdef _WIN32
13+ #ifdef PLATFORM_WINDOWS
1314#include < windows.h>
1415#include < conio.h>
1516#else
@@ -34,59 +35,62 @@ void banner() {
3435 / \| | \ |\ __\ \ __\/ _ \ / _ \| | __| |___ __| |___
3536| Y Y \ | / |_| | | || | ( <_> | <_> ) |__ /__ __/ /__ __/ )" ;
3637
37- const char * banner3 = R"(
38+ const char * banner3 = R"(
3839|__|_| /____/|____/__| |__||__| \____/ \____/|____/ |__| |__|
39- \/ )" ;
40+ \/ )" ;
4041
4142 /* Print using ansi color codes for a fade effect from white to blue. */
4243 std::cout << ansi::BG_BLACK;
43- std::cout << ansi::BOLD << ansi::WHITE << banner << ansi::RESET;
44+ std::cout << ansi::BOLD << ansi::BRIGHT_WHITE << banner << ansi::RESET;
4445 std::cout << ansi::BG_BLACK;
45- std::cout << ansi::BOLD << ansi::CYAN << banner2 << ansi::RESET;
46+ std::cout << ansi::BOLD << ansi::BRIGHT_CYAN << banner2 << ansi::RESET;
4647 std::cout << ansi::BG_BLACK;
47- std::cout << ansi::BOLD << ansi::BLUE << banner3 << ansi::RESET << " \n " << " \n " ;
48+ std::cout << ansi::BOLD << ansi::BRIGHT_BLUE << banner3 << ansi::RESET;
49+ /* Print the version. */
50+ std::cout << ansi::BG_BLACK;
51+ std::cout << ansi::BOLD << ansi::BRIGHT_BLUE << " version " << APP_VERSION << " " << ansi::RESET << " \n " << " \n " ;
4852}
4953
5054void option_exit () {
51- std::cout << ansi::GREEN << " Valid choice!" << ansi::RESET << " \n " ;
55+ std::cout << ansi::BRIGHT_GREEN << " Valid choice!" << ansi::RESET << " \n " ;
5256 exit (0 );
5357}
5458
5559void option_timer () {
56- std::cout << ansi::GREEN << " Valid choice!" << ansi::RESET << " \n " ;
57- std::cout << ansi::CYAN << " Enter a number of seconds: " << ansi::RESET;
60+ std::cout << ansi::BRIGHT_GREEN << " Valid choice!" << ansi::RESET << " \n " ;
61+ std::cout << ansi::BRIGHT_CYAN << " Enter a number of seconds: " << ansi::RESET;
5862 std::string seconds;
5963 std::getline (std::cin, seconds);
6064 int seconds_int;
6165 try {
6266 seconds_int = std::stoi (seconds);
6367 }
6468 catch (std::invalid_argument& e) {
65- std::cerr << ansi::RED << e.what () << ansi::RESET << " \n " ;
69+ std::cerr << ansi::BRIGHT_RED << e.what () << ansi::RESET << " \n " ;
6670 std::this_thread::sleep_for (std::chrono::seconds (1 ));
6771 initialize ();
6872 }
6973 catch (std::out_of_range& e) {
70- std::cerr << ansi::RED << e.what () << ansi::RESET << " \n " ;
74+ std::cerr << ansi::BRIGHT_RED << e.what () << ansi::RESET << " \n " ;
7175 std::this_thread::sleep_for (std::chrono::seconds (1 ));
7276 initialize ();
7377 }
7478 int timer = seconds_int;
7579 while (timer > 0 ) {
76- std::cout << ansi::WHITE << timer << ansi::RESET << " \n " ;
80+ std::cout << ansi::BRIGHT_WHITE << timer << ansi::RESET << " \n " ;
7781 std::this_thread::sleep_for (std::chrono::seconds (1 ));
7882 timer--;
7983 }
8084 initialize ();
8185}
8286
8387void option_discord () {
84- std::cout << ansi::GREEN << " Valid choice!" << ansi::RESET << " \n " ;
85- std::cout << ansi::CYAN << " Enter Discord webhook URL: " << ansi::RESET;
88+ std::cout << ansi::BRIGHT_GREEN << " Valid choice!" << ansi::RESET << " \n " ;
89+ std::cout << ansi::BRIGHT_CYAN << " Enter Discord webhook URL: " << ansi::RESET;
8690 std::string webhook_url;
8791 std::getline (std::cin, webhook_url);
8892
89- std::cout << ansi::CYAN << " Enter message to send: " << ansi::RESET;
93+ std::cout << ansi::BRIGHT_CYAN << " Enter message to send: " << ansi::RESET;
9094 std::string message;
9195 std::getline (std::cin, message);
9296
@@ -95,29 +99,29 @@ void option_discord() {
9599}
96100
97101void option_telegram () {
98- std::cout << ansi::GREEN << " Valid choice!" << ansi::RESET << " \n " ;
99- std::cout << ansi::CYAN << " Enter Telegram bot token: " << ansi::RESET;
102+ std::cout << ansi::BRIGHT_GREEN << " Valid choice!" << ansi::RESET << " \n " ;
103+ std::cout << ansi::BRIGHT_CYAN << " Enter Telegram bot token: " << ansi::RESET;
100104 std::string bot_token;
101105 std::getline (std::cin, bot_token);
102106
103- std::cout << ansi::CYAN << " Enter Telegram chat ID: " << ansi::RESET;
107+ std::cout << ansi::BRIGHT_CYAN << " Enter Telegram chat ID: " << ansi::RESET;
104108 std::string chat_id;
105109 std::getline (std::cin, chat_id);
106110
107- std::cout << ansi::CYAN << " Enter message to send: " << ansi::RESET;
111+ std::cout << ansi::BRIGHT_CYAN << " Enter message to send: " << ansi::RESET;
108112 std::string message;
109113 std::getline (std::cin, message);
110114
111115 telegram::send_message (bot_token, chat_id, message);
112116 initialize ();
113117}
114118
115- #ifdef __linux__
119+ #ifdef PLATFORM_POSIX
116120void option_password () {
117- std::cout << ansi::GREEN << " Valid choice!" << ansi::RESET << " \n " ;
118- std::cout << ansi::GREEN << " Generated password: " << ansi::RESET << " \n " ;
121+ std::cout << ansi::BRIGHT_GREEN << " Valid choice!" << ansi::RESET << " \n " ;
122+ std::cout << ansi::BRIGHT_GREEN << " Generated password: " << ansi::RESET << " \n " ;
119123 int success = system (" head -c 1000 /dev/urandom | tr -dc 'A-Za-z0-9' | head -c 32; echo" ); // More secure than using a timestamp seed
120- std::cout << ansi::CYAN << " Press any key to continue...\n " << ansi::RESET;
124+ std::cout << ansi::BRIGHT_CYAN << " Press any key to continue...\n " << ansi::RESET;
121125 char_utils::get_char ();
122126 initialize ();
123127}
@@ -126,23 +130,23 @@ void option_password() {
126130void menu () {
127131 console::clear ();
128132 banner ();
129- std::cout << ansi::BOLD << ansi::ITALIC << ansi::UNDERLINE << ansi::BG_BLUE << ansi::CYAN ;
133+ std::cout << ansi::BOLD << ansi::ITALIC << ansi::UNDERLINE << ansi::BG_BRIGHT_BLUE << ansi::BRIGHT_CYAN ;
130134 std::cout << " OPTIONS: \n " ;
131135 std::cout << ansi::RESET;
132- std::cout << ansi::UNDERLINE << ansi::BG_BLUE << ansi::CYAN ;
136+ std::cout << ansi::UNDERLINE << ansi::BG_BRIGHT_BLUE << ansi::BRIGHT_CYAN ;
133137 std::cout << check_Vector[0 ] << " exit \n " ;
134138 std::cout << check_Vector[1 ] << " timer \n " ;
135139 std::cout << check_Vector[2 ] << " send Discord message \n " ;
136140 std::cout << check_Vector[3 ] << " send Telegram message \n " ;
137- #ifdef __linux__
141+ #ifdef PLATFORM_POSIX
138142 std::cout << check_Vector[4 ] << " generate secure password\n " ;
139143 std::cout << check_Vector[5 ] << " calculator shell \n " ;
140- #elif defined(_WIN32 )
144+ #elif defined(PLATFORM_WINDOWS )
141145 std::cout << check_Vector[4 ] << " calculator shell \n " ;
142146#endif
143147 std::cout << " \n " ;
144148 std::cout << ansi::RESET;
145- std::cout << ansi::CYAN << " Use W/S to navigate, E to select.\n " << ansi::RESET;
149+ std::cout << ansi::BRIGHT_CYAN << " Use W/S to navigate, E to select.\n " << ansi::RESET;
146150}
147151
148152void read () {
@@ -196,20 +200,20 @@ void read() {
196200 case 3 :
197201 option_telegram ();
198202 break ;
199- #ifdef __linux__
203+ #ifdef PLATFORM_POSIX
200204 case 4 :
201205 option_password ();
202206 break ;
203207 case 5 :
204- std::cout << ansi::GREEN << " Valid choice!" << ansi::RESET << " \n " ;
205- std::cout << ansi::BOLD << ansi::ITALIC << ansi::CYAN << " Welcome to the calculator shell, type 'help' for commands.\n " << ansi::RESET;
208+ std::cout << ansi::BRIGHT_GREEN << " Valid choice!" << ansi::RESET << " \n " ;
209+ std::cout << ansi::BOLD << ansi::ITALIC << ansi::BRIGHT_CYAN << " Welcome to the calculator shell, type 'help' for commands.\n " << ansi::RESET;
206210 option_shell ();
207211 initialize ();
208212 break ;
209- #elif defined(_WIN32 )
213+ #elif defined(PLATFORM_WINDOWS )
210214 case 4 :
211- std::cout << ansi::GREEN << " Valid choice!" << ansi::RESET << " \n " ;
212- std::cout << ansi::BOLD << ansi::ITALIC << ansi::CYAN << " Welcome to the calculator shell, type 'help' for commands.\n " << ansi::RESET;
215+ std::cout << ansi::BRIGHT_GREEN << " Valid choice!" << ansi::RESET << " \n " ;
216+ std::cout << ansi::BOLD << ansi::ITALIC << ansi::BRIGHT_CYAN << " Welcome to the calculator shell, type 'help' for commands.\n " << ansi::RESET;
213217 option_shell ();
214218 initialize ();
215219 break ;
@@ -219,7 +223,7 @@ void read() {
219223 }
220224 }
221225 else {
222- std::cerr << ansi::RED << " Invalid choice." << ansi::RESET << " \n " ;
226+ std::cerr << ansi::BRIGHT_RED << " Invalid choice." << ansi::RESET << " \n " ;
223227 std::this_thread::sleep_for (std::chrono::seconds (1 ));
224228 initialize ();
225229 }
@@ -233,18 +237,21 @@ void initialize() {
233237}
234238
235239void checkCurlIsInstalled () {
236- #ifdef _WIN32
240+ #ifdef PLATFORM_WINDOWS
237241 int curl = system (" curl --version >nul 2>&1" );
238242 if (curl != 0 ) {
239243 std::cout << " Curl not installed. Install it by running: winget install cURL.cURL\n " ;
240244 exit (1 );
241245 }
242- #else
246+ #elif defined(PLATFORM_POSIX)
243247 int curl = system (" curl --version >/dev/null 2>&1" );
244248 if (curl != 0 ) {
245- std::cout << " Curl not installed. As a Linux user, you are expected to know how to install it. \n " ;
249+ std::cout << " Curl not installed.\n " ;
246250 exit (1 );
247251 }
252+ #else
253+ std::cout << " No.\n " ;
254+ exit (1 );
248255#endif
249256}
250257
0 commit comments