pre-commit and red pill

This commit is contained in:
2024-04-19 20:02:44 +00:00
parent 1720af54e9
commit 536261dce7
18 changed files with 167 additions and 125 deletions

View File

@ -2,4 +2,4 @@ from .home import Home
from .settings import Settings
__all__ = ["Home", "Settings"]
__all__ = ['Home', 'Settings']

View File

@ -2,18 +2,19 @@ import flet as ft
from utils import AppView, Title
from modules.settings import config
def Home(page: ft.Page):
return AppView(
"/",
'/',
[
ft.AppBar(
title=ft.Text(Title(__file__)),
actions=[
ft.IconButton(
icon=ft.icons.SETTINGS,
on_click=lambda _: page.go("/settings"),
)
]
on_click=lambda _: page.go('/settings'),
),
],
),
ft.Container(
height=100,
@ -21,11 +22,11 @@ def Home(page: ft.Page):
content=ft.Column(
controls=[
ft.Text(
"Goodmorning,"
'Goodmorning,',
),
ft.Text(
config.get("general", "name")
)
config.get('general', 'name'),
),
],
),
),

View File

@ -1,4 +1,4 @@
from .settings import Settings
from .functions import config
__all__ = ["Settings", "config"]
__all__ = ['Settings', 'config']

View File

@ -1,3 +1,3 @@
from .config import config
from .theme import Theme
__all__ = ['config', 'Theme']
__all__ = ['config', 'Theme']

View File

@ -5,8 +5,8 @@ static = """
[general]
name = CustomIcon
phone =
email =
phone =
email =
[apps]
dhiraagu = true
@ -17,44 +17,45 @@ stelco = true
medianet = true
[dhiraagu]
phone =
otp =
cookie =
phone =
otp =
cookie =
[ooredoo]
phone =
otp =
cookie =
phone =
otp =
cookie =
[hdc]
property =
nid =
property =
nid =
[mwsc]
meter_no =
account_no =
mobile_no =
meter_no =
account_no =
mobile_no =
[stelco]
account_no =
bill_no =
account_no =
bill_no =
[medianet]
account_no =
nid =
phone =
account_no =
nid =
phone =
"""
class Config(ConfigParser):
def __init__(self) -> None:
super().__init__()
if not os.path.exists("config.ini"):
if not os.path.exists('config.ini'):
self.initialize(content=static)
self.read("config.ini")
self.read('config.ini')
def initialize(self, content):
with open("config.ini", 'a+') as file:
with open('config.ini', 'a+') as file:
file.write(content)
config = Config()
config = Config()

View File

@ -1,9 +1,10 @@
import flet as ft
class Theme:
def __init__(self, page: ft.Page) -> None:
self.page = page
def change(self, theme: ft.ThemeMode = None):
if theme:
self.page.theme_mode = theme
@ -13,4 +14,4 @@ class Theme:
if self.page.theme_mode == ft.ThemeMode.LIGHT
else ft.ThemeMode.LIGHT
)
self.page.update()
self.page.update()

View File

@ -2,11 +2,12 @@ import flet as ft
from utils import AppView, Title
from .functions import Theme
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True
expand=True,
)
settingsContainer.controls.append(ft.Text("General"))
settingsContainer.controls.append(ft.Text('General'))
generalSettings = ft.Container(
content=ft.Column(
controls=[
@ -17,16 +18,16 @@ def Settings(page: ft.Page):
[
ft.ListTile(
leading=ft.Icon(ft.icons.PERSON),
title=ft.Text("Username"),
title=ft.Text('Username'),
subtitle=ft.Text(
"The greeting message"
'The greeting message',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked username"),
)
on_click=lambda _: print('clicked username'),
),
),
ft.Card(
content=ft.Container(
@ -35,16 +36,16 @@ def Settings(page: ft.Page):
[
ft.ListTile(
leading=ft.Icon(ft.icons.PHONE),
title=ft.Text("Phone"),
title=ft.Text('Phone'),
subtitle=ft.Text(
"Personal Phone number"
'Personal Phone number',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked phone"),
)
on_click=lambda _: print('clicked phone'),
),
),
ft.Card(
content=ft.Container(
@ -53,16 +54,16 @@ def Settings(page: ft.Page):
[
ft.ListTile(
leading=ft.Icon(ft.icons.EMAIL),
title=ft.Text("Email"),
title=ft.Text('Email'),
subtitle=ft.Text(
"Personal Email"
'Personal Email',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked email"),
)
on_click=lambda _: print('clicked email'),
),
),
ft.Card(
content=ft.Container(
@ -71,25 +72,25 @@ def Settings(page: ft.Page):
[
ft.ListTile(
leading=ft.Icon(ft.icons.CARD_TRAVEL),
title=ft.Text("NID"),
title=ft.Text('NID'),
subtitle=ft.Text(
"National Idenity Number"
'National Idenity Number',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked email"),
)
on_click=lambda _: print('clicked email'),
),
),
]
)
],
),
)
settingsContainer.controls.append(
generalSettings
generalSettings,
)
settingsContainer.controls.append(ft.Divider())
settingsContainer.controls.append(ft.Text("Notifications"))
settingsContainer.controls.append(ft.Text('Notifications'))
notificationsSettings = ft.Container(
content=ft.Column(
controls=[
@ -100,25 +101,25 @@ def Settings(page: ft.Page):
[
ft.ListTile(
leading=ft.Icon(ft.icons.TELEGRAM),
title=ft.Text("Telegram"),
title=ft.Text('Telegram'),
subtitle=ft.Text(
"Telegram Notifications for reminders and Bill pays"
'Telegram Notifications for reminders and Bill pays',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked username"),
)
on_click=lambda _: print('clicked username'),
),
),
]
)
],
),
)
settingsContainer.controls.append(
notificationsSettings
notificationsSettings,
)
settingsContainer.controls.append(ft.Divider())
settingsContainer.controls.append(ft.Text("Apps"))
settingsContainer.controls.append(ft.Text('Apps'))
appsSettings = ft.Container(
content=ft.Column(
controls=[
@ -131,18 +132,18 @@ def Settings(page: ft.Page):
leading=ft.Image(
border_radius=ft.border_radius.all(10),
fit=ft.ImageFit.CONTAIN,
src="https://asset.brandfetch.io/idZJsIaold/id9-VJM_HU.png"
src='https://asset.brandfetch.io/idZJsIaold/id9-VJM_HU.png',
),
title=ft.Text("Dhiraagu"),
title=ft.Text('Dhiraagu'),
subtitle=ft.Text(
"An ISP Service."
'An ISP Service.',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked dhiraagu"),
)
on_click=lambda _: print('clicked dhiraagu'),
),
),
ft.Card(
content=ft.Container(
@ -153,18 +154,18 @@ def Settings(page: ft.Page):
leading=ft.Image(
border_radius=ft.border_radius.all(10),
fit=ft.ImageFit.CONTAIN,
src="https://asset.brandfetch.io/idR1xFKHLD/idu6J-WQsm.jpeg"
src='https://asset.brandfetch.io/idR1xFKHLD/idu6J-WQsm.jpeg',
),
title=ft.Text("Ooredoo"),
title=ft.Text('Ooredoo'),
subtitle=ft.Text(
"An ISP Service."
'An ISP Service.',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked ooredoo"),
)
on_click=lambda _: print('clicked ooredoo'),
),
),
ft.Card(
content=ft.Container(
@ -175,18 +176,18 @@ def Settings(page: ft.Page):
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"
src='https://www.stelco.com.mv/wp-content/uploads/2022/02/unnamed.png',
),
title=ft.Text("STELCO"),
title=ft.Text('STELCO'),
subtitle=ft.Text(
"Electricity Bills"
'Electricity Bills',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked stelco"),
)
on_click=lambda _: print('clicked stelco'),
),
),
ft.Card(
content=ft.Container(
@ -197,18 +198,18 @@ def Settings(page: ft.Page):
leading=ft.Image(
border_radius=ft.border_radius.all(10),
fit=ft.ImageFit.CONTAIN,
src="https://asset.brandfetch.io/idOZWUOUm-/idNastd9Bg.jpeg"
src='https://asset.brandfetch.io/idOZWUOUm-/idNastd9Bg.jpeg',
),
title=ft.Text("MWSC"),
title=ft.Text('MWSC'),
subtitle=ft.Text(
"Water Bills"
'Water Bills',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked mwsc"),
)
on_click=lambda _: print('clicked mwsc'),
),
),
ft.Card(
content=ft.Container(
@ -219,25 +220,26 @@ def Settings(page: ft.Page):
leading=ft.Image(
border_radius=ft.border_radius.all(10),
fit=ft.ImageFit.CONTAIN,
src="https://asset.brandfetch.io/idLMZnv5SC/iduyX4keYN.jpeg"
src='https://asset.brandfetch.io/idLMZnv5SC/iduyX4keYN.jpeg',
),
title=ft.Text("Medianet"),
title=ft.Text('Medianet'),
subtitle=ft.Text(
"Online Television Service"
'Online Television Service',
),
),
]
],
),
padding=10,
on_click=lambda _: print("clicked medianet"),
)
on_click=lambda _: print('clicked medianet'),
),
),
]
)
],
),
)
settingsContainer.controls.append(appsSettings)
settingsContainer.controls.append(ft.Divider())
settingsContainer.controls.append(ft.Text("Theme"))
settingsContainer.controls.append(ft.Text('Theme'))
def _on_theme_change(e):
Theme(page).change()
themeSettings = ft.Container(
@ -248,29 +250,29 @@ def Settings(page: ft.Page):
content=ft.Container(
ft.Switch(
value=True,
label=" Switch to dark theme",
on_change=_on_theme_change
label=' Switch to dark theme',
on_change=_on_theme_change,
),
),
padding=10,
on_click=None,
)
),
),
]
)
],
),
)
settingsContainer.controls.append(themeSettings)
return AppView(
"/settings",
'/settings',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go("/")
on_click=lambda _: page.go('/'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer
settingsContainer,
],
)