Added AppViews
This commit is contained in:
5
apps/__init__.py
Normal file
5
apps/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from .apps import Apps
|
||||
|
||||
__all__ = [
|
||||
"Apps"
|
||||
]
|
358
apps/apps.py
Normal file
358
apps/apps.py
Normal file
@ -0,0 +1,358 @@
|
||||
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=None,
|
||||
),
|
||||
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=None,
|
||||
),
|
||||
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=None,
|
||||
),
|
||||
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=None,
|
||||
),
|
||||
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=None,
|
||||
),
|
||||
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=None,
|
||||
),
|
||||
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=None,
|
||||
),
|
||||
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=None,
|
||||
),
|
||||
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'),
|
||||
),
|
||||
),
|
||||
)
|
||||
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
|
||||
],
|
||||
)
|
13
apps/plugins/__init__.py
Normal file
13
apps/plugins/__init__.py
Normal file
@ -0,0 +1,13 @@
|
||||
from .dhiraagu import Dhiraagu
|
||||
from .ooredoo import Ooredoo
|
||||
from .medianet import Medianet
|
||||
from .mwsc import Mwsc
|
||||
from .stelco import Stelco
|
||||
|
||||
__all__ = [
|
||||
'Dhiraagu',
|
||||
'Ooredoo',
|
||||
'Medianet',
|
||||
'Stelco',
|
||||
'Mwsc'
|
||||
]
|
5
apps/plugins/dhiraagu/__init__.py
Normal file
5
apps/plugins/dhiraagu/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from .app import App as Dhiraagu
|
||||
|
||||
__all__ = [
|
||||
'Dhiraagu'
|
||||
]
|
18
apps/plugins/dhiraagu/app.py
Normal file
18
apps/plugins/dhiraagu/app.py
Normal file
@ -0,0 +1,18 @@
|
||||
import flet as ft
|
||||
from utils import AppView
|
||||
|
||||
|
||||
def App(page: ft.Page):
|
||||
return AppView(
|
||||
'/apps/dhiraagu',
|
||||
[
|
||||
ft.AppBar(
|
||||
leading=ft.IconButton(
|
||||
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
|
||||
on_click=lambda _: page.go('/apps'),
|
||||
),
|
||||
title=ft.Text("Dhiraagu"),
|
||||
bgcolor=ft.colors.TRANSPARENT,
|
||||
),
|
||||
],
|
||||
)
|
5
apps/plugins/medianet/__init__.py
Normal file
5
apps/plugins/medianet/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from .app import App as Medianet
|
||||
|
||||
__all__ = [
|
||||
"Medianet"
|
||||
]
|
18
apps/plugins/medianet/app.py
Normal file
18
apps/plugins/medianet/app.py
Normal file
@ -0,0 +1,18 @@
|
||||
import flet as ft
|
||||
from utils import AppView
|
||||
|
||||
|
||||
def App(page: ft.Page):
|
||||
return AppView(
|
||||
'/apps/medianet',
|
||||
[
|
||||
ft.AppBar(
|
||||
leading=ft.IconButton(
|
||||
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
|
||||
on_click=lambda _: page.go('/apps'),
|
||||
),
|
||||
title=ft.Text("Medianet"),
|
||||
bgcolor=ft.colors.TRANSPARENT,
|
||||
),
|
||||
],
|
||||
)
|
5
apps/plugins/mwsc/__init__.py
Normal file
5
apps/plugins/mwsc/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from .app import App as Mwsc
|
||||
|
||||
__all__ = [
|
||||
'Mwsc'
|
||||
]
|
18
apps/plugins/mwsc/app.py
Normal file
18
apps/plugins/mwsc/app.py
Normal file
@ -0,0 +1,18 @@
|
||||
import flet as ft
|
||||
from utils import AppView
|
||||
|
||||
|
||||
def App(page: ft.Page):
|
||||
return AppView(
|
||||
'/apps/mwsc',
|
||||
[
|
||||
ft.AppBar(
|
||||
leading=ft.IconButton(
|
||||
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
|
||||
on_click=lambda _: page.go('/apps'),
|
||||
),
|
||||
title=ft.Text("MWSC"),
|
||||
bgcolor=ft.colors.TRANSPARENT,
|
||||
),
|
||||
],
|
||||
)
|
5
apps/plugins/ooredoo/__init__.py
Normal file
5
apps/plugins/ooredoo/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from .app import App as Ooredoo
|
||||
|
||||
__all__ = [
|
||||
'Ooredoo'
|
||||
]
|
18
apps/plugins/ooredoo/app.py
Normal file
18
apps/plugins/ooredoo/app.py
Normal file
@ -0,0 +1,18 @@
|
||||
import flet as ft
|
||||
from utils import AppView
|
||||
|
||||
|
||||
def App(page: ft.Page):
|
||||
return AppView(
|
||||
'/apps/ooredoo',
|
||||
[
|
||||
ft.AppBar(
|
||||
leading=ft.IconButton(
|
||||
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
|
||||
on_click=lambda _: page.go('/apps'),
|
||||
),
|
||||
title=ft.Text("Ooredoo"),
|
||||
bgcolor=ft.colors.TRANSPARENT,
|
||||
),
|
||||
],
|
||||
)
|
5
apps/plugins/stelco/__init__.py
Normal file
5
apps/plugins/stelco/__init__.py
Normal file
@ -0,0 +1,5 @@
|
||||
from .app import App as Stelco
|
||||
|
||||
__all__ = [
|
||||
'Stelco'
|
||||
]
|
18
apps/plugins/stelco/app.py
Normal file
18
apps/plugins/stelco/app.py
Normal file
@ -0,0 +1,18 @@
|
||||
import flet as ft
|
||||
from utils import AppView
|
||||
|
||||
|
||||
def App(page: ft.Page):
|
||||
return AppView(
|
||||
'/apps/stelco',
|
||||
[
|
||||
ft.AppBar(
|
||||
leading=ft.IconButton(
|
||||
ft.icons.ARROW_BACK_IOS_NEW_ROUNDED,
|
||||
on_click=lambda _: page.go('/apps'),
|
||||
),
|
||||
title=ft.Text("STELCO"),
|
||||
bgcolor=ft.colors.TRANSPARENT,
|
||||
),
|
||||
],
|
||||
)
|
Reference in New Issue
Block a user