Skip to content

Commit 86c31c2

Browse files
bettseskotopes
andauthored
Picopass: add subheader to loclass UI (#197)
Co-authored-by: あく <[email protected]>
1 parent 97423fc commit 86c31c2

File tree

3 files changed

+28
-1
lines changed

3 files changed

+28
-1
lines changed

scenes/picopass_scene_loclass.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ void picopass_scene_loclass_on_enter(void* context) {
3636

3737
loclass_set_callback(picopass->loclass, picopass_loclass_result_callback, picopass);
3838
loclass_set_header(picopass->loclass, "Loclass");
39+
loclass_set_subheader(picopass->loclass, "Hold To Reader");
3940

4041
picopass_blink_emulate_start(picopass);
4142
view_dispatcher_switch_to_view(picopass->view_dispatcher, PicopassViewLoclass);

views/loclass.c

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,16 @@ struct Loclass {
1313
typedef struct {
1414
FuriString* header;
1515
uint8_t num_macs;
16+
FuriString* subheader;
1617
} LoclassViewModel;
1718

1819
static void loclass_draw_callback(Canvas* canvas, void* model) {
1920
LoclassViewModel* m = model;
2021

2122
char draw_str[32] = {};
22-
canvas_set_font(canvas, FontSecondary);
23+
canvas_set_font(canvas, FontPrimary);
2324
canvas_draw_str_aligned(canvas, 64, 0, AlignCenter, AlignTop, furi_string_get_cstr(m->header));
25+
canvas_set_font(canvas, FontSecondary);
2426

2527
if(m->num_macs == 255) {
2628
return;
@@ -37,6 +39,9 @@ static void loclass_draw_callback(Canvas* canvas, void* model) {
3739

3840
elements_progress_bar_with_text(canvas, 0, 20, 128, progress, draw_str);
3941

42+
canvas_draw_str_aligned(
43+
canvas, 64, 45, AlignCenter, AlignBottom, furi_string_get_cstr(m->subheader));
44+
4045
elements_button_center(canvas, "Skip");
4146
}
4247

@@ -61,13 +66,20 @@ Loclass* loclass_alloc() {
6166
view_set_context(loclass->view, loclass);
6267
with_view_model(
6368
loclass->view, LoclassViewModel * model, { model->header = furi_string_alloc(); }, false);
69+
with_view_model(
70+
loclass->view,
71+
LoclassViewModel * model,
72+
{ model->subheader = furi_string_alloc(); },
73+
false);
6474
return loclass;
6575
}
6676

6777
void loclass_free(Loclass* loclass) {
6878
furi_assert(loclass);
6979
with_view_model(
7080
loclass->view, LoclassViewModel * model, { furi_string_free(model->header); }, false);
81+
with_view_model(
82+
loclass->view, LoclassViewModel * model, { furi_string_free(model->subheader); }, false);
7183
view_free(loclass->view);
7284
free(loclass);
7385
}
@@ -80,6 +92,7 @@ void loclass_reset(Loclass* loclass) {
8092
{
8193
model->num_macs = 0;
8294
furi_string_reset(model->header);
95+
furi_string_reset(model->subheader);
8396
},
8497
false);
8598
}
@@ -104,6 +117,17 @@ void loclass_set_header(Loclass* loclass, const char* header) {
104117
loclass->view, LoclassViewModel * model, { furi_string_set(model->header, header); }, true);
105118
}
106119

120+
void loclass_set_subheader(Loclass* loclass, const char* subheader) {
121+
furi_assert(loclass);
122+
furi_assert(subheader);
123+
124+
with_view_model(
125+
loclass->view,
126+
LoclassViewModel * model,
127+
{ furi_string_set(model->subheader, subheader); },
128+
true);
129+
}
130+
107131
void loclass_set_num_macs(Loclass* loclass, uint16_t num_macs) {
108132
furi_assert(loclass);
109133
with_view_model(

views/loclass.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ void loclass_set_callback(Loclass* loclass, LoclassCallback callback, void* cont
1919

2020
void loclass_set_header(Loclass* loclass, const char* header);
2121

22+
void loclass_set_subheader(Loclass* loclass, const char* subheader);
23+
2224
void loclass_set_num_macs(Loclass* loclass, uint16_t num_macs);

0 commit comments

Comments
 (0)