Files
app-ethereum/src_nbgl/ui_message_signing.c

59 lines
1.7 KiB
C
Raw Normal View History

2023-06-06 16:58:27 +02:00
#include "ui_nbgl.h"
#include "ui_signing.h"
2023-07-18 16:41:49 +02:00
#include "ui_logic.h"
2023-06-06 16:58:27 +02:00
#include "ui_message_signing.h"
#include "glyphs.h"
static void (*g_approved_func)(void) = NULL;
static void (*g_rejected_func)(void) = NULL;
static void ui_message_rejection_handler() {
nbgl_useCaseStatus("Message signing\ncancelled", false, g_rejected_func);
2023-06-06 16:58:27 +02:00
}
static void ui_message_confirm_rejection(void) {
nbgl_useCaseConfirm(REJECT_QUESTION(TEXT_MESSAGE),
NULL,
REJECT_CONFIRM_BUTTON,
RESUME(TEXT_MESSAGE),
ui_message_rejection_handler);
2023-06-06 16:58:27 +02:00
}
void ui_message_review_choice(bool confirm) {
if (confirm) {
nbgl_useCaseStatus("MESSAGE\nSIGNED", true, g_approved_func);
} else {
ui_message_confirm_rejection();
}
}
void ui_message_start(const char *title,
void (*start_func)(void),
void (*approved_func)(void),
void (*rejected_func)(void)) {
g_approved_func = approved_func;
g_rejected_func = rejected_func;
2024-04-09 14:05:13 +02:00
nbgl_useCaseReviewStart(&C_Review_64px,
2023-06-06 16:58:27 +02:00
title,
NULL,
REJECT_BUTTON,
2023-06-06 16:58:27 +02:00
start_func,
ui_message_confirm_rejection);
}
static void ui_message_712_approved(void) {
2023-07-18 16:41:49 +02:00
ui_712_approve();
2023-06-06 16:58:27 +02:00
}
static void ui_message_712_rejected(void) {
2023-07-18 16:41:49 +02:00
ui_712_reject();
2023-06-06 16:58:27 +02:00
}
void ui_typed_message_review_choice(bool confirm) {
if (confirm) {
nbgl_useCaseReviewStatus(STATUS_TYPE_MESSAGE_SIGNED, ui_message_712_approved);
} else {
nbgl_useCaseReviewStatus(STATUS_TYPE_MESSAGE_REJECTED, ui_message_712_rejected);
}
}