55 lines
1.4 KiB
C
55 lines
1.4 KiB
C
/* SPDX-License-Identifier: MIT */
|
|
/* Copyright (c) 2026 Oleksandr Zhylin */
|
|
|
|
#include <modals.h>
|
|
#include <widget.h>
|
|
#include "main.h"
|
|
|
|
void app_draw_modal(app_t *app) {
|
|
if (app->modal.needs_destroy ||
|
|
(app->query_args->state == S_WAIT_SERVER && app->modal.is_initiated)) {
|
|
destroy_dialogue(&(app->modal), app);
|
|
}
|
|
if (!app->modal.is_initiated) {
|
|
switch (app->query_args->state) {
|
|
case S_ASK_SEVER_IP:
|
|
init_asa_modal(app);
|
|
break;
|
|
case S_ASK_LOGIN_TYPE:
|
|
init_login_option_modal(app);
|
|
break;
|
|
case S_ASK_LOGIN_USER:
|
|
init_login_credentials_modal(app);
|
|
break;
|
|
case S_PRINT_SERVER_MESSAGE:
|
|
init_server_message_modal(app);
|
|
break;
|
|
case S_FILE_DOWNLOAD:
|
|
init_dwn_pr_modal(app, false);
|
|
break;
|
|
case S_UPLOAD_FILE:
|
|
init_dwn_pr_modal(app, true);
|
|
break;
|
|
case S_UPLOAD_FILE_SELECT:
|
|
init_upload_dialogue_modal(app);
|
|
break;
|
|
case S_ASK_REGISTER:
|
|
init_register_modal(app);
|
|
break;
|
|
case S_UPLOAD_PARAMS:
|
|
init_upload_props_dialogue_modal(app);
|
|
break;
|
|
default:
|
|
if (app->query_args->notification != NULL) {
|
|
init_notification_modal(app);
|
|
} else {
|
|
return;
|
|
}
|
|
}
|
|
app->active_callback = app->modal.w.callback;
|
|
app->active_win = app->modal.win;
|
|
app->active_win_type = aw_modal;
|
|
app->active_widget = &(app->modal);
|
|
}
|
|
draw_dialogue(&(app->modal));
|
|
} |