Skip to content

Commit c239161

Browse files
authored
Merge pull request #199 from tuttle-dev/dev-refactor-core-views
refactor: major: core views as classes
2 parents 2209faa + 1e5d500 commit c239161

File tree

13 files changed

+886
-816
lines changed

13 files changed

+886
-816
lines changed

app/app.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from core.database_storage_impl import DatabaseStorageImpl
1919
from core.models import RouteView
2020
from core.utils import AlertDialogControls
21-
from core.views import get_heading
21+
from core.views import StdHeading
2222
from error_views.page_not_found_screen import Error404Screen
2323
from home.view import HomeScreen
2424
from loguru import logger
@@ -149,7 +149,7 @@ def show_snack(
149149
self.page.snack_bar.open = False
150150
self.page.update()
151151
self.page.snack_bar = SnackBar(
152-
get_heading(
152+
StdHeading(
153153
title=message,
154154
size=HEADLINE_4_SIZE,
155155
color=ERROR_COLOR if is_error else WHITE_COLOR,

app/auth/view.py

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -75,22 +75,22 @@ def on_bank_name_changed(self, e):
7575

7676
def build(self):
7777
"""Called when form is built"""
78-
self.vat_number_field = views.get_std_txt_field(
78+
self.vat_number_field = views.StdTextField(
7979
on_change=self.on_vat_number_changed,
8080
label="VAT Number",
8181
hint="Value Added Tax number of the user, legally required for invoices.",
8282
)
83-
self.bank_name_field = views.get_std_txt_field(
83+
self.bank_name_field = views.StdTextField(
8484
on_change=self.on_bank_name_changed,
8585
label="Name",
8686
hint="Name of account",
8787
)
88-
self.bank_iban_field = views.get_std_txt_field(
88+
self.bank_iban_field = views.StdTextField(
8989
on_change=self.on_bank_iban_changed,
9090
label="IBAN",
9191
hint="International Bank Account Number",
9292
)
93-
self.bank_ibc_field = views.get_std_txt_field(
93+
self.bank_ibc_field = views.StdTextField(
9494
on_change=self.on_bank_bic_changed,
9595
label="BIC",
9696
hint="Bank Identifier Code",
@@ -99,13 +99,13 @@ def build(self):
9999
spacing=dimens.SPACE_MD,
100100
controls=[
101101
self.vat_number_field,
102-
views.xsSpace,
103-
views.get_sub_heading_txt("Bank Account"),
102+
views.Spacer(xs_space=True),
103+
views.StdSubHeading("Bank Account"),
104104
self.bank_name_field,
105105
self.bank_iban_field,
106106
self.bank_ibc_field,
107-
views.stdSpace,
108-
views.get_primary_btn(
107+
views.Spacer(),
108+
views.StdPrimaryButton(
109109
label="Save",
110110
on_click=lambda e: self.on_form_submit(self.user),
111111
),
@@ -225,71 +225,71 @@ def on_submit_btn_clicked(self, e):
225225

226226
def build(self):
227227
"""Called when form is built"""
228-
self.name_field = views.get_std_txt_field(
228+
self.name_field = views.StdTextField(
229229
lambda e: self.on_field_value_changed("name", e),
230230
"Name",
231231
"your name",
232232
on_focus=self.on_field_focus,
233233
keyboard_type=utils.KEYBOARD_NAME,
234234
)
235-
self.email_field = views.get_std_txt_field(
235+
self.email_field = views.StdTextField(
236236
lambda e: self.on_field_value_changed("email", e),
237237
"Email",
238238
"your email address",
239239
on_focus=self.on_field_focus,
240240
keyboard_type=utils.KEYBOARD_EMAIL,
241241
)
242-
self.phone_field = views.get_std_txt_field(
242+
self.phone_field = views.StdTextField(
243243
lambda e: self.on_field_value_changed("phone", e),
244244
"Phone (optional)",
245245
"your phone number",
246246
on_focus=self.on_field_focus,
247247
keyboard_type=utils.KEYBOARD_PHONE,
248248
)
249-
self.title_field = views.get_std_txt_field(
249+
self.title_field = views.StdTextField(
250250
lambda e: self.on_field_value_changed("title", e),
251251
"Job Title",
252252
"What is your role as a freelancer?",
253253
on_focus=self.on_field_focus,
254254
keyboard_type=utils.KEYBOARD_TEXT,
255255
)
256-
self.website_field = views.get_std_txt_field(
256+
self.website_field = views.StdTextField(
257257
lambda e: self.on_field_value_changed("website", e),
258258
"Website (optional)",
259259
"URL of your website.",
260260
)
261-
self.street_field = views.get_std_txt_field(
261+
self.street_field = views.StdTextField(
262262
lambda e: self.on_field_value_changed("street", e),
263263
label="Street Name",
264264
keyboard_type=utils.KEYBOARD_TEXT,
265265
expand=1,
266266
)
267-
self.street_number_field = views.get_std_txt_field(
267+
self.street_number_field = views.StdTextField(
268268
lambda e: self.on_field_value_changed("street_number", e),
269269
label="Street Number",
270270
keyboard_type=utils.KEYBOARD_NUMBER,
271271
expand=1,
272272
)
273-
self.postal_code_field = views.get_std_txt_field(
273+
self.postal_code_field = views.StdTextField(
274274
lambda e: self.on_field_value_changed("postal_code", e),
275275
label="Postal Code",
276276
keyboard_type=utils.KEYBOARD_NUMBER,
277277
expand=1,
278278
)
279279

280-
self.city_field = views.get_std_txt_field(
280+
self.city_field = views.StdTextField(
281281
lambda e: self.on_field_value_changed("city", e),
282282
label="City",
283283
keyboard_type=utils.KEYBOARD_TEXT,
284284
expand=1,
285285
)
286-
self.country_field = views.get_std_txt_field(
286+
self.country_field = views.StdTextField(
287287
lambda e: self.on_field_value_changed("country", e),
288288
label="Country",
289289
keyboard_type=utils.KEYBOARD_TEXT,
290290
)
291-
self.form_err_control = views.get_error_txt("")
292-
self.submit_btn = views.get_primary_btn(
291+
self.form_err_control = views.StdErrorText("")
292+
self.submit_btn = views.StdPrimaryButton(
293293
on_click=self.on_submit_btn_clicked,
294294
label=self.submit_btn_label,
295295
)
@@ -401,16 +401,16 @@ def did_mount(self):
401401
self.show_login_if_signed_out_else_redirect()
402402

403403
def build(self):
404-
self.loading_indicator = views.horizontal_progress
404+
self.loading_indicator = views.StdProgressBar()
405405
self.form_container = Column(
406406
controls=[
407-
# views.get_labelled_logo(),
408-
views.get_heading_with_subheading(
407+
# views.StdAppLogoWithLabel(),
408+
views.StdHeadingWithSubheading(
409409
"Welcome to Tuttle",
410410
"Let's get you started: Please enter your details below. Your data will be stored locally and will not be sent to a server.",
411411
),
412412
self.loading_indicator,
413-
views.stdSpace,
413+
views.Spacer(),
414414
]
415415
)
416416
page_view = ResponsiveRow(
@@ -427,13 +427,13 @@ def build(self):
427427
horizontal_alignment=utils.CENTER_ALIGNMENT,
428428
expand=True,
429429
controls=[
430-
views.mdSpace,
431-
views.get_image(
430+
views.Spacer(md_space=True),
431+
views.StdImage(
432432
image_paths.splashImgPath,
433433
"welcome screen image",
434434
width=300,
435435
),
436-
views.get_heading_with_subheading(
436+
views.StdHeadingWithSubheading(
437437
"Tuttle",
438438
"Time and money management for freelancers",
439439
alignment_in_container=utils.CENTER_ALIGNMENT,
@@ -450,7 +450,7 @@ def build(self):
450450
content=Column(
451451
[
452452
self.form_container,
453-
views.get_secondary_btn(
453+
views.StdSecondaryButton(
454454
on_click=self.on_proceed_with_demo_data_clicked,
455455
label="Proceed with demo",
456456
icon="TOYS",
@@ -507,7 +507,7 @@ def profile_destination_content_wrapper(
507507
):
508508
"""returns a container that wraps the destination content"""
509509
# ADD SPACING TO THE TOP OF THE CONTENT
510-
controls.insert(0, views.mdSpace)
510+
controls.insert(0, views.Spacer(md_space=True))
511511
return Column(
512512
spacing=dimens.SPACE_STD,
513513
run_spacing=0,
@@ -564,13 +564,13 @@ def uploading_profile_pic_progress_listener(self, e):
564564
self.update_self()
565565

566566
def build(self):
567-
self.profile_photo_img = views.get_profile_photo_img()
568-
self.update_photo_btn = views.get_secondary_btn(
567+
self.profile_photo_img = views.StdProfilePhotoImg()
568+
self.update_photo_btn = views.StdSecondaryButton(
569569
label="Update Photo",
570570
on_click=self.on_update_photo_clicked,
571571
)
572572
self.profile_photo_content = [
573-
views.get_heading(
573+
views.StdHeading(
574574
"Profile Photo",
575575
size=fonts.HEADLINE_4_SIZE,
576576
),
@@ -632,7 +632,7 @@ def build(self):
632632
submit_btn_label="Save",
633633
)
634634
self.user_info_content = [
635-
views.get_heading(
635+
views.StdHeading(
636636
"Personal Info",
637637
size=fonts.HEADLINE_4_SIZE,
638638
),
@@ -681,7 +681,7 @@ def build(self):
681681
on_form_submit=self.on_update_payment_info,
682682
)
683683
self.payment_info_content = [
684-
views.get_heading(
684+
views.StdHeading(
685685
"Payment Settings",
686686
size=fonts.HEADLINE_4_SIZE,
687687
),
@@ -720,7 +720,7 @@ def __init__(self, params: TuttleViewParams):
720720
)
721721
self.current_menu_index = 0
722722
# initialize the side bar menu
723-
self.side_bar_menu = views.get_std_navigation_menu(
723+
self.side_bar_menu = views.StdNavigationMenu(
724724
title=self.menu_handler.menu_title,
725725
destinations=self.get_menu_destinations(),
726726
on_change=lambda e: self.on_menu_destination_change(e),
@@ -744,7 +744,7 @@ def get_menu_destinations(self):
744744
item.selected_icon,
745745
size=dimens.ICON_SIZE,
746746
),
747-
label_content=views.get_body_txt(item.label),
747+
label_content=views.StdBodyText(item.label),
748748
padding=padding.symmetric(horizontal=dimens.SPACE_SM),
749749
)
750750
items.append(itemDestination)

0 commit comments

Comments
 (0)