this fixes #1 and improved the code base

This commit is contained in:
Aman Ahmed Zahir 2024-04-21 04:44:52 +00:00
parent 558a9abecc
commit 887dfcc088
29 changed files with 542 additions and 139 deletions

View File

@ -18,6 +18,7 @@ repos:
- id: detect-private-key - id: detect-private-key
- id: fix-byte-order-marker - id: fix-byte-order-marker
- id: mixed-line-ending - id: mixed-line-ending
- id: file-contents-sorter
- repo: https://github.com/hhatto/autopep8 - repo: https://github.com/hhatto/autopep8
rev: v2.1.0 rev: v2.1.0
hooks: hooks:
@ -30,3 +31,7 @@ repos:
rev: v3.15.2 rev: v3.15.2
hooks: hooks:
- id: pyupgrade - id: pyupgrade
- repo: https://github.com/abdelrahman0w/ouro
rev: v0.2.0
hooks:
- id: ouro

View File

@ -1,5 +1,5 @@
from .apps import Apps from .apps import Apps
__all__ = [ __all__ = [
"Apps" 'Apps',
] ]

View File

@ -43,7 +43,7 @@ def Apps(page: ft.Page):
), ),
) )
AppRow.controls.append( AppRow.controls.append(
ft.Text('Dhiraagu') ft.Text('Dhiraagu'),
) )
AppRow.controls.append( AppRow.controls.append(
ft.Container( ft.Container(
@ -56,7 +56,10 @@ def Apps(page: ft.Page):
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.ACCOUNT_BOX, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.ACCOUNT_BOX,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -68,16 +71,22 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Gift",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Gift',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.ELECTRIC_BOLT, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.ELECTRIC_BOLT,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -89,16 +98,22 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Reload",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Reload',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.DASHBOARD, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.DASHBOARD,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -110,16 +125,22 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Usage",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Usage',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.RECEIPT, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.RECEIPT,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -131,16 +152,19 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Bills",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Bills',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
], ],
alignment=ft.MainAxisAlignment.CENTER, alignment=ft.MainAxisAlignment.CENTER,
), ),
) ),
) )
if config.getint('apps', 'ooredoo') == 1: if config.getint('apps', 'ooredoo') == 1:
appList.content.controls.append( appList.content.controls.append(
@ -165,10 +189,10 @@ def Apps(page: ft.Page):
padding=10, padding=10,
on_click=lambda _: page.go('/apps/ooredoo'), on_click=lambda _: page.go('/apps/ooredoo'),
), ),
) ),
) )
AppRow.controls.append( AppRow.controls.append(
ft.Text('Ooredoo') ft.Text('Ooredoo'),
) )
AppRow.controls.append( AppRow.controls.append(
ft.Container( ft.Container(
@ -181,7 +205,10 @@ def Apps(page: ft.Page):
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.SETTINGS_PHONE, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.SETTINGS_PHONE,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -193,16 +220,22 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Add-ons",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Add-ons',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.ELECTRIC_BOLT, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.ELECTRIC_BOLT,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -214,16 +247,22 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Raastas",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Raastas',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.DASHBOARD, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.DASHBOARD,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -235,16 +274,22 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Balance",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Balance',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
ft.Column( ft.Column(
controls=[ controls=[
ft.Container( ft.Container(
content=ft.Icon(ft.icons.RECEIPT, color=ft.colors.WHITE), content=ft.Icon(
ft.icons.RECEIPT,
color=ft.colors.WHITE,
),
margin=10, margin=10,
padding=10, padding=10,
alignment=ft.alignment.center, alignment=ft.alignment.center,
@ -256,16 +301,19 @@ def Apps(page: ft.Page):
on_click=None, on_click=None,
), ),
ft.Container( ft.Container(
content=ft.Text("Bills",text_align=ft.TextAlign.CENTER), content=ft.Text(
'Bills',
text_align=ft.TextAlign.CENTER,
),
alignment=ft.alignment.center, alignment=ft.alignment.center,
width=80 width=80,
) ),
] ],
), ),
], ],
alignment=ft.MainAxisAlignment.CENTER, alignment=ft.MainAxisAlignment.CENTER,
), ),
) ),
) )
if config.getint('apps', 'mwsc') == 1: if config.getint('apps', 'mwsc') == 1:
appList.content.controls.append( appList.content.controls.append(
@ -313,7 +361,7 @@ def Apps(page: ft.Page):
], ],
), ),
padding=10, padding=10,
on_click=lambda _:page.go('/apps/stelco'), on_click=lambda _: page.go('/apps/stelco'),
), ),
), ),
) )
@ -353,6 +401,6 @@ def Apps(page: ft.Page):
title=ft.Text(Title(str(__file__))), title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT, bgcolor=ft.colors.TRANSPARENT,
), ),
appsContainer appsContainer,
], ],
) )

View File

@ -9,5 +9,5 @@ __all__ = [
'Ooredoo', 'Ooredoo',
'Medianet', 'Medianet',
'Stelco', 'Stelco',
'Mwsc' 'Mwsc',
] ]

View File

@ -1,5 +1,5 @@
from .app import App as Dhiraagu from .app import App as Dhiraagu
__all__ = [ __all__ = [
'Dhiraagu' 'Dhiraagu',
] ]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED, ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'), on_click=lambda _: page.go('/apps'),
), ),
title=ft.Text("Dhiraagu"), title=ft.Text('Dhiraagu'),
bgcolor=ft.colors.TRANSPARENT, bgcolor=ft.colors.TRANSPARENT,
), ),
], ],

View File

@ -1,5 +1,5 @@
from .app import App as Medianet from .app import App as Medianet
__all__ = [ __all__ = [
"Medianet" 'Medianet',
] ]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED, ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'), on_click=lambda _: page.go('/apps'),
), ),
title=ft.Text("Medianet"), title=ft.Text('Medianet'),
bgcolor=ft.colors.TRANSPARENT, bgcolor=ft.colors.TRANSPARENT,
), ),
], ],

View File

@ -1,5 +1,5 @@
from .app import App as Mwsc from .app import App as Mwsc
__all__ = [ __all__ = [
'Mwsc' 'Mwsc',
] ]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED, ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'), on_click=lambda _: page.go('/apps'),
), ),
title=ft.Text("MWSC"), title=ft.Text('MWSC'),
bgcolor=ft.colors.TRANSPARENT, bgcolor=ft.colors.TRANSPARENT,
), ),
], ],

View File

@ -1,5 +1,5 @@
from .app import App as Ooredoo from .app import App as Ooredoo
__all__ = [ __all__ = [
'Ooredoo' 'Ooredoo',
] ]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED, ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'), on_click=lambda _: page.go('/apps'),
), ),
title=ft.Text("Ooredoo"), title=ft.Text('Ooredoo'),
bgcolor=ft.colors.TRANSPARENT, bgcolor=ft.colors.TRANSPARENT,
), ),
], ],

View File

@ -1,5 +1,5 @@
from .app import App as Stelco from .app import App as Stelco
__all__ = [ __all__ = [
'Stelco' 'Stelco',
] ]

View File

@ -11,7 +11,7 @@ def App(page: ft.Page):
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED, ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/apps'), on_click=lambda _: page.go('/apps'),
), ),
title=ft.Text("STELCO"), title=ft.Text('STELCO'),
bgcolor=ft.colors.TRANSPARENT, bgcolor=ft.colors.TRANSPARENT,
), ),
], ],

View File

@ -20,6 +20,7 @@ def main(page: ft.Page):
page.views.pop() page.views.pop()
top_view = page.views[-1] top_view = page.views[-1]
page.go(top_view.route) page.go(top_view.route)
if config.get('general', 'theme') == 'dark': if config.get('general', 'theme') == 'dark':
page.theme_mode = ft.ThemeMode.DARK page.theme_mode = ft.ThemeMode.DARK
else: else:

View File

@ -45,7 +45,8 @@ def Home(page: ft.Page):
[ [
ft.Container( ft.Container(
content=ft.Icon( content=ft.Icon(
ft.icons.APPS, color=ft.colors.WHITE, ft.icons.APPS,
color=ft.colors.WHITE,
), ),
margin=10, margin=10,
padding=10, padding=10,
@ -59,34 +60,8 @@ def Home(page: ft.Page):
), ),
ft.Container( ft.Container(
content=ft.Icon( content=ft.Icon(
ft.icons.HISTORY, color=ft.colors.WHITE, ft.icons.HISTORY,
), color=ft.colors.WHITE,
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
on_click=None,
),
ft.Container(
content=ft.Icon(
ft.icons.SETTINGS, color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
ink=True,
on_click=lambda _: page.go('/settings'),
),
ft.Container(
content=ft.Icon(
ft.icons.LIST, color=ft.colors.WHITE,
), ),
margin=10, margin=10,
padding=10, padding=10,
@ -100,6 +75,38 @@ def Home(page: ft.Page):
'Clickable with Ink clicked!', 'Clickable with Ink clicked!',
), ),
), ),
ft.Container(
content=ft.Icon(
ft.icons.LIST,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
ink=True,
on_click=lambda e: print(
'Clickable with Ink clicked!',
),
),
ft.Container(
content=ft.Icon(
ft.icons.SETTINGS,
color=ft.colors.WHITE,
),
margin=10,
padding=10,
alignment=ft.alignment.center,
bgcolor=ft.colors.GREY_700,
width=60,
height=60,
border_radius=10,
ink=True,
on_click=lambda _: page.go('/settings'),
),
], ],
alignment=ft.MainAxisAlignment.CENTER, alignment=ft.MainAxisAlignment.CENTER,
), ),

View File

@ -0,0 +1,13 @@
from .dhiraagu_settings import Settings as DhiraaguSettings
from .medianet_settings import Settings as MedianetSettings
from .mwsc_settings import Settings as MwscSettings
from .ooredoo_settings import Settings as OoredooSettings
from .stelco_settings import Settings as StelcoSettings
__all__ = [
'DhiraaguSettings',
'MedianetSettings',
'MwscSettings',
'OoredooSettings',
'StelcoSettings'
]

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'dhiraagu'))
if config.getint('apps', 'dhiraagu'):
config.save('apps', 'dhiraagu', '0')
else:
config.save('apps', 'dhiraagu', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'dhiraagu') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/dhiraagu',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'medianet'))
if config.getint('apps', 'medianet'):
config.save('apps', 'medianet', '0')
else:
config.save('apps', 'medianet', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'medianet') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/medianet',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'mwsc'))
if config.getint('apps', 'mwsc'):
config.save('apps', 'mwsc', '0')
else:
config.save('apps', 'mwsc', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'mwsc') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/mwsc',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'ooredoo'))
if config.getint('apps', 'ooredoo'):
config.save('apps', 'ooredoo', '0')
else:
config.save('apps', 'ooredoo', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'ooredoo') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/ooredoo',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

@ -0,0 +1,58 @@
import flet as ft
from utils import AppView, Title
from ..functions import config
def Settings(page: ft.Page):
settingsContainer = ft.ListView(
expand=True,
)
settingsContainer.controls.append(ft.Text('General'))
def _on_enable_change(e):
print(config.getint('apps', 'stelco'))
if config.getint('apps', 'stelco'):
config.save('apps', 'stelco', '0')
else:
config.save('apps', 'stelco', '1')
page.update()
generalSettings = ft.Container(
content=ft.Column(
controls=[
ft.Card(
content=ft.Container(
content=ft.Container(
ft.Switch(
label=' Enable this module',
on_change=_on_enable_change,
value=False
),
),
padding=10,
on_click=None,
),
),
],
),
)
if config.getint('apps', 'stelco') == 1:
generalSettings.content.controls[0].content.content.content.value = True
settingsContainer.controls.append(
generalSettings,
)
return AppView(
'/settings/stelco',
[
ft.AppBar(
leading=ft.IconButton(
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
on_click=lambda _: page.go('/settings'),
),
title=ft.Text(Title(str(__file__))),
bgcolor=ft.colors.TRANSPARENT,
),
settingsContainer,
],
)

View File

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

View File

@ -2,20 +2,19 @@ from configparser import ConfigParser
import os import os
static = """ static = """
[general] [general]
name = name =
phone = phone =
email = email =
theme = dark nid =
theme = light
[apps] [apps]
dhiraagu = 1 dhiraagu = 0
ooredoo = 1 ooredoo = 0
hdc = 1 mwsc = 0
mwsc = 1 stelco = 0
stelco = 1 medianet = 0
medianet = 1
[dhiraagu] [dhiraagu]
phone = phone =
@ -45,6 +44,7 @@ bill_no =
account_no = account_no =
nid = nid =
phone = phone =
""" """

View File

@ -17,19 +17,24 @@ def Settings(page: ft.Page):
content=newName, content=newName,
actions=[ actions=[
ft.CupertinoButton( ft.CupertinoButton(
'Save', on_click=lambda _: ( 'Save',
on_click=lambda _: (
setattr( setattr(
dlg, 'open', False, dlg,
'open',
False,
), ),
config.save( config.save(
'general', 'name', 'general',
'name',
newName.value, newName.value,
), ),
page.update(), page.update(),
), ),
), ),
ft.CupertinoButton( ft.CupertinoButton(
'Close', on_click=lambda _: ( 'Close',
on_click=lambda _: (
setattr(dlg, 'open', False), setattr(dlg, 'open', False),
page.update(), page.update(),
), ),
@ -48,19 +53,24 @@ def Settings(page: ft.Page):
content=newPhone, content=newPhone,
actions=[ actions=[
ft.CupertinoButton( ft.CupertinoButton(
'Save', on_click=lambda _: ( 'Save',
on_click=lambda _: (
setattr( setattr(
dlg, 'open', False, dlg,
'open',
False,
), ),
config.save( config.save(
'general', 'phone', 'general',
'phone',
newPhone.value, newPhone.value,
), ),
page.update(), page.update(),
), ),
), ),
ft.CupertinoButton( ft.CupertinoButton(
'Close', on_click=lambda _: ( 'Close',
on_click=lambda _: (
setattr(dlg, 'open', False), setattr(dlg, 'open', False),
page.update(), page.update(),
), ),
@ -79,19 +89,24 @@ def Settings(page: ft.Page):
content=newEmail, content=newEmail,
actions=[ actions=[
ft.CupertinoButton( ft.CupertinoButton(
'Save', on_click=lambda _: ( 'Save',
on_click=lambda _: (
setattr( setattr(
dlg, 'open', False, dlg,
'open',
False,
), ),
config.save( config.save(
'general', 'email', 'general',
'email',
newEmail.value, newEmail.value,
), ),
page.update(), page.update(),
), ),
), ),
ft.CupertinoButton( ft.CupertinoButton(
'Close', on_click=lambda _: ( 'Close',
on_click=lambda _: (
setattr(dlg, 'open', False), setattr(dlg, 'open', False),
page.update(), page.update(),
), ),
@ -110,19 +125,24 @@ def Settings(page: ft.Page):
content=newNID, content=newNID,
actions=[ actions=[
ft.CupertinoButton( ft.CupertinoButton(
'Save', on_click=lambda _: ( 'Save',
on_click=lambda _: (
setattr( setattr(
dlg, 'open', False, dlg,
'open',
False,
), ),
config.save( config.save(
'general', 'nid', 'general',
'nid',
newNID.value, newNID.value,
), ),
page.update(), page.update(),
), ),
), ),
ft.CupertinoButton( ft.CupertinoButton(
'Close', on_click=lambda _: ( 'Close',
on_click=lambda _: (
setattr(dlg, 'open', False), setattr(dlg, 'open', False),
page.update(), page.update(),
), ),
@ -267,7 +287,7 @@ def Settings(page: ft.Page):
], ],
), ),
padding=10, padding=10,
on_click=None, on_click=lambda _: page.go('/settings/dhiraagu'),
), ),
), ),
ft.Card( ft.Card(
@ -289,7 +309,7 @@ def Settings(page: ft.Page):
], ],
), ),
padding=10, padding=10,
on_click=lambda _: print('clicked ooredoo'), on_click=lambda _: page.go('/settings/ooredoo'),
), ),
), ),
ft.Card( ft.Card(
@ -311,7 +331,7 @@ def Settings(page: ft.Page):
], ],
), ),
padding=10, padding=10,
on_click=lambda _: print('clicked stelco'), on_click=lambda _: page.go('/settings/stelco'),
), ),
), ),
ft.Card( ft.Card(
@ -333,7 +353,7 @@ def Settings(page: ft.Page):
], ],
), ),
padding=10, padding=10,
on_click=lambda _: print('clicked mwsc'), on_click=lambda _: page.go('/settings/mwsc'),
), ),
), ),
ft.Card( ft.Card(
@ -355,7 +375,7 @@ def Settings(page: ft.Page):
], ],
), ),
padding=10, padding=10,
on_click=lambda _: print('clicked medianet'), on_click=lambda _: page.go('/settings/medianet'),
), ),
), ),
], ],
@ -373,9 +393,13 @@ def Settings(page: ft.Page):
e.value = True e.value = True
config.save('general', 'theme', 'light') config.save('general', 'theme', 'light')
Theme(page).change( Theme(page).change(
ft.ThemeMode.DARK if page.theme_mode == (
ft.ThemeMode.LIGHT else ft.ThemeMode.LIGHT, ft.ThemeMode.DARK
if page.theme_mode == ft.ThemeMode.LIGHT
else ft.ThemeMode.LIGHT
),
) )
themeSettings = ft.Container( themeSettings = ft.Container(
content=ft.Column( content=ft.Column(
controls=[ controls=[

View File

@ -2,4 +2,4 @@ import os
def Title(title: str): def Title(title: str):
return str(os.path.basename(title)).split('.')[0].title() return str(os.path.basename(title)).split('.')[0].title().replace('_', ' ')

View File

@ -1,6 +1,13 @@
from modules import Home, Settings from modules import Home, Settings
from apps import Apps from apps import Apps
from apps.plugins import Ooredoo, Dhiraagu, Medianet, Mwsc, Stelco from apps.plugins import Ooredoo, Dhiraagu, Medianet, Mwsc, Stelco
from modules.settings.appSettings import (
DhiraaguSettings,
MedianetSettings,
StelcoSettings,
OoredooSettings,
MwscSettings,
)
def views_handler(page): def views_handler(page):
@ -10,6 +17,12 @@ def views_handler(page):
# settings # settings
views['/settings'] = Settings(page) views['/settings'] = Settings(page)
views['/settings/dhiraagu'] = DhiraaguSettings(page)
views['/settings/ooredoo'] = OoredooSettings(page)
views['/settings/mwsc'] = MwscSettings(page)
views['/settings/medianet'] = MedianetSettings(page)
views['/settings/stelco'] = StelcoSettings(page)
# apps # apps
views['/apps'] = Apps(page) views['/apps'] = Apps(page)
views['/apps/dhiraagu'] = Dhiraagu(page) views['/apps/dhiraagu'] = Dhiraagu(page)

View File

@ -1,5 +1,5 @@
from .dhiraagu import DhiraaguAPI from .dhiraagu import DhiraaguAPI
__all__ = [ __all__ = [
'DhiraaguAPI' 'DhiraaguAPI',
] ]

View File

@ -1,5 +1,6 @@
import requests import requests
class DhiraaguAPI: class DhiraaguAPI:
def __init__( def __init__(
self, self,
@ -30,13 +31,13 @@ class DhiraaguAPI:
'https://app-production.dhiraagu.com.mv/auth', 'https://app-production.dhiraagu.com.mv/auth',
json={ json={
'number': self.phone, 'number': self.phone,
'otp': self.otp 'otp': self.otp,
} },
) )
return data.json() return data.json()
def bills(self): def bills(self):
return requests.get( return requests.get(
f'https://app-production.dhiraagu.com.mv/io/v1/info/subscribers/{self.account}/liberate/billinfo', f'https://app-production.dhiraagu.com.mv/io/v1/info/subscribers/{self.account}/liberate/billinfo',
headers=self.headers headers=self.headers,
).json() ).json()