From 5173a05a093bfe6afab623c7649106dedb036b61 Mon Sep 17 00:00:00 2001 From: PoliEcho Date: Thu, 10 Apr 2025 00:11:55 +0200 Subject: [PATCH] implement send messages and notiseboard --- src/komens.cpp | 12 +++++++----- src/komens.h | 7 ++++++- src/komens_menu.cpp | 3 +-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/komens.cpp b/src/komens.cpp index 3ef991b..568b918 100644 --- a/src/komens.cpp +++ b/src/komens.cpp @@ -7,8 +7,6 @@ #include #include #include -#include -#include #include #include #include @@ -23,14 +21,18 @@ std::vector komens_allocated; void insert_content(WINDOW *content_window, size_t i, json &resp_from_api); -void komens_page() { +void komens_page(koment_type type) { current_allocated = &komens_allocated; json resp_from_api; { /*std::ifstream f("test-data/komens.json"); resp_from_api = json::parse(f); f.close();*/ - const std::string endpoint = "/api/3/komens/messages/received"; + const char *types[] = {"/api/3/komens/messages/received", + "/api/3/komens/message", + "/api/3/komens/messages/noticeboard"}; + + const std::string endpoint = types[type]; resp_from_api = bakaapi::get_data_from_endpoint(endpoint, POST); } @@ -94,7 +96,7 @@ void komens_page() { komens_items[i] = new_item(title_bufs[i], name_bufs[i]); } - max_item_lenght = max_title_lenght + max_name_lenght; + max_item_lenght = 3 + max_title_lenght + 1 + max_name_lenght; } komens_items[num_of_komens] = nullptr; diff --git a/src/komens.h b/src/komens.h index 9ae724e..3d90014 100644 --- a/src/komens.h +++ b/src/komens.h @@ -1,4 +1,9 @@ #ifndef _ba_ko_hg_ #define _ba_ko_hg_ -void komens_page(); +enum koment_type { + RECEIVED, + SEND, + NOTICEBOARD, +}; +void komens_page(koment_type type); #endif \ No newline at end of file diff --git a/src/komens_menu.cpp b/src/komens_menu.cpp index 7d8cdd0..22a3fc1 100644 --- a/src/komens_menu.cpp +++ b/src/komens_menu.cpp @@ -11,7 +11,6 @@ void komens_menu() { wchar_t *choices[] = { L"received", L"send", L"noticeboard", L"Exit", nullptr, }; - void (*choicesFuncs[])() = {komens_page, nullptr, nullptr, nullptr, nullptr}; ITEM **my_items; int c; @@ -88,7 +87,7 @@ void komens_menu() { if (item_index(current_item(my_menu)) == n_choices - 1) { goto close_menu; } - choicesFuncs[item_index(current_item(my_menu))](); + komens_page(static_cast(item_index(current_item(my_menu)))); pos_menu_cursor(my_menu); refresh(); wrefresh(my_menu_win);