app/apps/apps.py

449 lines
19 KiB
Python
Raw Permalink Normal View History

2024-04-20 16:59:36 +00:00
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'),
2024-04-20 16:59:36 +00:00
)
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,
),
2024-04-20 16:59:36 +00:00
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',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Gift',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(
ft.icons.ELECTRIC_BOLT,
color=ft.colors.WHITE,
),
2024-04-20 16:59:36 +00:00
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',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Reload',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(
ft.icons.DASHBOARD,
color=ft.colors.WHITE,
),
2024-04-20 16:59:36 +00:00
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',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Usage',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(
ft.icons.RECEIPT,
color=ft.colors.WHITE,
),
2024-04-20 16:59:36 +00:00
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',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Bills',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
],
alignment=ft.MainAxisAlignment.CENTER,
),
),
2024-04-20 16:59:36 +00:00
)
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'),
),
),
2024-04-20 16:59:36 +00:00
)
AppRow.controls.append(
ft.Text('Ooredoo'),
2024-04-20 16:59:36 +00:00
)
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,
),
2024-04-20 16:59:36 +00:00
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/ooredoo',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Add-ons',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(
ft.icons.ELECTRIC_BOLT,
color=ft.colors.WHITE,
),
2024-04-20 16:59:36 +00:00
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/ooredoo',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Raastas',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(
ft.icons.DASHBOARD,
color=ft.colors.WHITE,
),
2024-04-20 16:59:36 +00:00
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/ooredoo',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Balance',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
ft.Column(
controls=[
ft.Container(
content=ft.Icon(
ft.icons.RECEIPT,
color=ft.colors.WHITE,
),
2024-04-20 16:59:36 +00:00
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/ooredoo',
),
2024-04-20 16:59:36 +00:00
),
ft.Container(
content=ft.Text(
'Bills',
text_align=ft.TextAlign.CENTER,
),
2024-04-20 16:59:36 +00:00
alignment=ft.alignment.center,
width=80,
),
],
2024-04-20 16:59:36 +00:00
),
],
alignment=ft.MainAxisAlignment.CENTER,
),
),
2024-04-20 16:59:36 +00:00
)
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'),
2024-04-20 16:59:36 +00:00
),
),
)
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
2024-04-20 16:59:36 +00:00
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,
2024-04-20 16:59:36 +00:00
],
)