From ba000a04ae94bec2077f5582dbe2adc93728fff8 Mon Sep 17 00:00:00 2001 From: Maddox Werts Date: Sun, 1 Sep 2024 17:20:36 -0400 Subject: [PATCH] Created password creation scene --- project/backend/ui.c | 33 +++++++++++++++++++++++++++++++++ project/backend/ui.h | 1 + 2 files changed, 34 insertions(+) diff --git a/project/backend/ui.c b/project/backend/ui.c index 73f7d80..fbfb88f 100644 --- a/project/backend/ui.c +++ b/project/backend/ui.c @@ -146,6 +146,9 @@ void ui_draw(Canvas* canvas, void* ctx) { case 3: // View Password ui_p_vpass(canvas, manager); break; + case 4: // Create password + ui_p_cpass(canvas, manager); + break; } } void ui_p_mainmenu(Canvas* canvas, UIManager* manager) { @@ -183,6 +186,19 @@ void ui_p_mainmenu(Canvas* canvas, UIManager* manager) { switch(manager->selection) { case 0: // View Passwords manager->page = 2; + break; + case 1: // Create password + manager->page = 4; + + // Unloading prior password + if (manager->manager->current != NULL) { + FURI_LOG_D(TAG, "Freeing prior password"); + free(manager->manager->current); + } + + // Creating new one + manager->manager->current = pass_create("New Password", "username", "password", 0); + break; case 3: // About Me manager->page = 1; @@ -286,6 +302,23 @@ void ui_p_vpass(Canvas* canvas, UIManager* manager) { canvas_set_font(canvas, FontSecondary); canvas_draw_str(canvas, 106, 62, "Send"); */ } +void ui_p_cpass(Canvas* canvas, UIManager* manager) { + // Displaying password creation screen + canvas_set_font(canvas, FontPrimary); + canvas_draw_str(canvas, 2, 11, "Create Password"); + + canvas_set_font(canvas, FontSecondary); + canvas_draw_str(canvas, 20, 23, manager->manager->current->name); + + canvas_set_font(canvas, FontSecondary); + canvas_draw_str(canvas, 20, 33, manager->manager->current->user); + + canvas_set_font(canvas, FontSecondary); + canvas_draw_str(canvas, 20, 43, manager->manager->current->phrase); + + canvas_set_font(canvas, FontSecondary); + canvas_draw_str(canvas, 25, 53, "Done"); +} void ui_delete(UIManager* manager) { manager_delete(manager->manager); diff --git a/project/backend/ui.h b/project/backend/ui.h index 66e842e..e653d55 100644 --- a/project/backend/ui.h +++ b/project/backend/ui.h @@ -48,6 +48,7 @@ void ui_p_mainmenu(Canvas* canvas, UIManager* manager); void ui_p_about(Canvas* canvas); void ui_p_view(Canvas* canvas, UIManager* manager); void ui_p_vpass(Canvas* canvas, UIManager* manager); +void ui_p_cpass(Canvas* canvas, UIManager* manager); void ui_delete(UIManager* manager);