2024-04-19 16:59:43 +00:00
|
|
|
import flet as ft
|
|
|
|
from utils import AppView, Title
|
2024-04-19 19:39:11 +00:00
|
|
|
from .functions import Theme
|
2024-04-19 16:59:43 +00:00
|
|
|
|
|
|
|
def Settings(page: ft.Page):
|
2024-04-19 19:39:11 +00:00
|
|
|
settingsContainer = ft.ListView(
|
|
|
|
expand=True
|
|
|
|
)
|
|
|
|
settingsContainer.controls.append(ft.Text("General"))
|
|
|
|
generalSettings = ft.Container(
|
|
|
|
content=ft.Column(
|
|
|
|
controls=[
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Icon(ft.icons.PERSON),
|
|
|
|
title=ft.Text("Username"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"The greeting message"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked username"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Icon(ft.icons.PHONE),
|
|
|
|
title=ft.Text("Phone"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"Personal Phone number"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked phone"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Icon(ft.icons.EMAIL),
|
|
|
|
title=ft.Text("Email"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"Personal Email"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked email"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Icon(ft.icons.CARD_TRAVEL),
|
|
|
|
title=ft.Text("NID"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"National Idenity Number"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked email"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
]
|
|
|
|
)
|
|
|
|
)
|
|
|
|
settingsContainer.controls.append(
|
|
|
|
generalSettings
|
|
|
|
)
|
|
|
|
settingsContainer.controls.append(ft.Divider())
|
|
|
|
settingsContainer.controls.append(ft.Text("Notifications"))
|
|
|
|
notificationsSettings = ft.Container(
|
|
|
|
content=ft.Column(
|
|
|
|
controls=[
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Icon(ft.icons.TELEGRAM),
|
|
|
|
title=ft.Text("Telegram"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"Telegram Notifications for reminders and Bill pays"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked username"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
]
|
|
|
|
)
|
|
|
|
)
|
|
|
|
settingsContainer.controls.append(
|
|
|
|
notificationsSettings
|
|
|
|
)
|
|
|
|
settingsContainer.controls.append(ft.Divider())
|
|
|
|
settingsContainer.controls.append(ft.Text("Apps"))
|
|
|
|
appsSettings = ft.Container(
|
|
|
|
content=ft.Column(
|
|
|
|
controls=[
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Image(
|
|
|
|
border_radius=ft.border_radius.all(10),
|
|
|
|
fit=ft.ImageFit.CONTAIN,
|
|
|
|
src="https://asset.brandfetch.io/idZJsIaold/id9-VJM_HU.png"
|
|
|
|
),
|
|
|
|
title=ft.Text("Dhiraagu"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"An ISP Service."
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked dhiraagu"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Image(
|
|
|
|
border_radius=ft.border_radius.all(10),
|
|
|
|
fit=ft.ImageFit.CONTAIN,
|
|
|
|
src="https://asset.brandfetch.io/idR1xFKHLD/idu6J-WQsm.jpeg"
|
|
|
|
),
|
|
|
|
title=ft.Text("Ooredoo"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"An ISP Service."
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked ooredoo"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Image(
|
|
|
|
border_radius=ft.border_radius.all(10),
|
|
|
|
fit=ft.ImageFit.CONTAIN,
|
|
|
|
src="https://www.stelco.com.mv/wp-content/uploads/2022/02/unnamed.png"
|
|
|
|
),
|
|
|
|
title=ft.Text("STELCO"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"Electricity Bills"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked stelco"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Image(
|
|
|
|
border_radius=ft.border_radius.all(10),
|
|
|
|
fit=ft.ImageFit.CONTAIN,
|
|
|
|
src="https://asset.brandfetch.io/idOZWUOUm-/idNastd9Bg.jpeg"
|
|
|
|
),
|
|
|
|
title=ft.Text("MWSC"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"Water Bills"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked mwsc"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
ink=True,
|
|
|
|
content=ft.Column(
|
|
|
|
[
|
|
|
|
ft.ListTile(
|
|
|
|
leading=ft.Image(
|
|
|
|
border_radius=ft.border_radius.all(10),
|
|
|
|
fit=ft.ImageFit.CONTAIN,
|
|
|
|
src="https://asset.brandfetch.io/idLMZnv5SC/iduyX4keYN.jpeg"
|
|
|
|
),
|
|
|
|
title=ft.Text("Medianet"),
|
|
|
|
subtitle=ft.Text(
|
|
|
|
"Online Television Service"
|
|
|
|
),
|
|
|
|
),
|
|
|
|
]
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=lambda _: print("clicked medianet"),
|
|
|
|
)
|
|
|
|
),
|
|
|
|
]
|
|
|
|
)
|
|
|
|
)
|
|
|
|
settingsContainer.controls.append(appsSettings)
|
|
|
|
settingsContainer.controls.append(ft.Divider())
|
|
|
|
settingsContainer.controls.append(ft.Text("Theme"))
|
|
|
|
def _on_theme_change(e):
|
|
|
|
Theme(page).change()
|
|
|
|
themeSettings = ft.Container(
|
|
|
|
content=ft.Column(
|
|
|
|
controls=[
|
|
|
|
ft.Card(
|
|
|
|
content=ft.Container(
|
|
|
|
content=ft.Container(
|
|
|
|
ft.Switch(
|
|
|
|
value=True,
|
|
|
|
label=" Switch to dark theme",
|
|
|
|
on_change=_on_theme_change
|
|
|
|
),
|
|
|
|
),
|
|
|
|
padding=10,
|
|
|
|
on_click=None,
|
|
|
|
)
|
|
|
|
),
|
|
|
|
]
|
|
|
|
)
|
|
|
|
)
|
|
|
|
settingsContainer.controls.append(themeSettings)
|
2024-04-19 16:59:43 +00:00
|
|
|
return AppView(
|
|
|
|
"/settings",
|
|
|
|
[
|
|
|
|
ft.AppBar(
|
|
|
|
leading=ft.IconButton(
|
|
|
|
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
|
|
|
|
on_click=lambda _: page.go("/")
|
|
|
|
),
|
|
|
|
title=ft.Text(Title(str(__file__))),
|
|
|
|
bgcolor=ft.colors.TRANSPARENT
|
|
|
|
),
|
2024-04-19 19:39:11 +00:00
|
|
|
settingsContainer
|
2024-04-19 16:59:43 +00:00
|
|
|
],
|
|
|
|
)
|