449 lines
19 KiB
Python
449 lines
19 KiB
Python
import flet as ft
|
|
from utils import AppView, Title
|
|
from modules.settings import config
|
|
from modules.home import AppRow
|
|
|
|
|
|
def Apps(page: ft.Page):
|
|
AppRow.controls = []
|
|
appsContainer = ft.ListView(
|
|
expand=True,
|
|
)
|
|
appList = ft.Container(
|
|
content=ft.Column(
|
|
controls=[],
|
|
),
|
|
)
|
|
appsContainer.controls.append(
|
|
appList,
|
|
)
|
|
if config.getint('apps', 'dhiraagu') == 1:
|
|
appList.content.controls.append(
|
|
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 _: page.go('/apps/dhiraagu'),
|
|
),
|
|
),
|
|
)
|
|
AppRow.controls.append(
|
|
ft.Text('Dhiraagu'),
|
|
)
|
|
AppRow.controls.append(
|
|
ft.Container(
|
|
margin=10,
|
|
padding=10,
|
|
bgcolor=ft.colors.with_opacity(0.1, '#000000'),
|
|
border_radius=10,
|
|
content=ft.Row(
|
|
[
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.ACCOUNT_BOX,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Gift',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.ELECTRIC_BOLT,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Reload',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.DASHBOARD,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Usage',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.RECEIPT,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Bills',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
],
|
|
alignment=ft.MainAxisAlignment.CENTER,
|
|
),
|
|
),
|
|
)
|
|
if config.getint('apps', 'ooredoo') == 1:
|
|
appList.content.controls.append(
|
|
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 _: page.go('/apps/ooredoo'),
|
|
),
|
|
),
|
|
)
|
|
AppRow.controls.append(
|
|
ft.Text('Ooredoo'),
|
|
)
|
|
AppRow.controls.append(
|
|
ft.Container(
|
|
margin=10,
|
|
padding=10,
|
|
bgcolor=ft.colors.with_opacity(0.1, '#000000'),
|
|
border_radius=10,
|
|
content=ft.Row(
|
|
[
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.SETTINGS_PHONE,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Add-ons',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.ELECTRIC_BOLT,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Raastas',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.DASHBOARD,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Balance',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
ft.Column(
|
|
controls=[
|
|
ft.Container(
|
|
content=ft.Icon(
|
|
ft.icons.RECEIPT,
|
|
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(
|
|
'/apps/dhiraagu',
|
|
),
|
|
),
|
|
ft.Container(
|
|
content=ft.Text(
|
|
'Bills',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
alignment=ft.alignment.center,
|
|
width=80,
|
|
),
|
|
],
|
|
),
|
|
],
|
|
alignment=ft.MainAxisAlignment.CENTER,
|
|
),
|
|
),
|
|
)
|
|
if config.getint('apps', 'mwsc') == 1:
|
|
appList.content.controls.append(
|
|
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 _: page.go('/apps/mwsc'),
|
|
),
|
|
),
|
|
)
|
|
if config.getint('apps', 'stelco') == 1:
|
|
appList.content.controls.append(
|
|
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 _: page.go('/apps/stelco'),
|
|
),
|
|
),
|
|
)
|
|
if config.getint('apps', 'medianet') == 1:
|
|
appList.content.controls.append(
|
|
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('Dhiraagu'),
|
|
subtitle=ft.Text(
|
|
'Online Television Service',
|
|
),
|
|
),
|
|
],
|
|
),
|
|
padding=10,
|
|
on_click=lambda _: page.go('/apps/medianet'),
|
|
),
|
|
),
|
|
)
|
|
if not AppRow.controls:
|
|
AppRow.controls.append(
|
|
ft.Container(
|
|
content=ft.Card(
|
|
content=ft.Container(
|
|
content=ft.Container(
|
|
ft.Text(
|
|
'Add a module from settings to see shortcuts here.',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
),
|
|
padding=10,
|
|
on_click=None,
|
|
),
|
|
),
|
|
),
|
|
)
|
|
if not appList.content.controls:
|
|
appList.content.controls.append(
|
|
ft.Text(
|
|
'Add a module from settings to see shortcuts here.',
|
|
text_align=ft.TextAlign.CENTER,
|
|
),
|
|
)
|
|
appList.alignment = ft.alignment.center
|
|
appList.expand = True
|
|
return AppView(
|
|
'/apps',
|
|
[
|
|
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,
|
|
),
|
|
appsContainer,
|
|
],
|
|
)
|