Home UI test

This commit is contained in:
Aman Ahmed Zahir 2024-04-20 03:43:58 +00:00
parent fe476afa54
commit 8869f77118
5 changed files with 135 additions and 26 deletions

View File

@ -1,4 +1,4 @@
# <img src="https://git.cubable.date/BillPay/app/~raw/dev/assets/icon.png" alt="icon" width="50" height="50"/> BillPay (WIP) # <img src="https://git.cubable.date/BillPay/app/~raw/dev/assets/icon.png" alt="icon" width="45" height="45"/> BillPay (WIP)
A fully Independent Application for cross platform A fully Independent Application for cross platform

View File

@ -4,10 +4,10 @@ from utils import views_handler
def main(page: ft.Page): def main(page: ft.Page):
page.title = 'BillPay' page.title = 'BillPay'
# print("Initial route:", page.route) print("Initial route:", page.route)
def route_change(e): def route_change(e):
# print("Route change:", e.route) print("Route change:", e.route)
page.views.clear() page.views.clear()
page.views.append( page.views.append(
views_handler(page)[page.route], views_handler(page)[page.route],
@ -15,7 +15,7 @@ def main(page: ft.Page):
page.update() page.update()
def view_pop(e): def view_pop(e):
# print("View pop:", e.view) print("View pop:", e.view)
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)

View File

@ -1,34 +1,143 @@
import flet as ft import flet as ft
from utils import AppView, Title from utils import AppView, Title
from modules.settings import config from modules.settings import config
from datetime import datetime
def greet(time: datetime):
if 5 <= time.hour < 12:
return "Goodmorning,"
elif 12 <= time.hour < 18:
return "Goodafternoon,"
else:
return "Goodevening,"
def Home(page: ft.Page): def Home(page: ft.Page):
contentColumn = ft.Container(
padding=10,
content=ft.Column(
controls=[
ft.Text(
greet(datetime.now()),
size=50,
weight=ft.FontWeight.W_200,
),
ft.Text(
config.get('general', 'name').split(" ")[0],
size=40,
weight=ft.FontWeight.W_200,
),
ft.Divider(),
ft.ResponsiveRow(
[
ft.Container(
content=ft.Text("A"),
margin=10,
padding=10,
bgcolor=ft.colors.with_opacity(0.1, '#000000'),
border_radius=10,
),
ft.Divider(),
ft.Container(
content=ft.Text("B"),
margin=10,
padding=10,
bgcolor=ft.colors.with_opacity(0.1, '#000000'),
border_radius=10,
),
ft.Divider(),
ft.Container(
content=ft.Text("C"),
margin=10,
padding=10,
bgcolor=ft.colors.with_opacity(0.1, '#000000'),
border_radius=10,
),
ft.Divider(),
ft.Container(
content=ft.Text("D"),
margin=10,
padding=10,
bgcolor=ft.colors.with_opacity(0.1, '#000000'),
border_radius=10,
),
],
alignment=ft.MainAxisAlignment.CENTER,
),
ft.Divider(),
ft.Container(
margin=10,
padding=10,
bgcolor=ft.colors.with_opacity(0.1, '#000000'),
border_radius=10,
content=ft.Row(
[
ft.Container(
content=ft.Icon(ft.icons.APPS),
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.HISTORY),
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),
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),
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!"),
),
],
alignment=ft.MainAxisAlignment.CENTER,
),
),
],
),
)
return AppView( return AppView(
'/', '/',
[ [
ft.AppBar( ft.AppBar(
title=ft.Text(Title(__file__)), title=ft.Text(Title(__file__)),
actions=[ # actions=[
ft.IconButton( # ft.IconButton(
icon=ft.icons.SETTINGS, # icon=ft.icons.SETTINGS,
on_click=lambda _: page.go('/settings'), # on_click=lambda _: page.go('/settings'),
), # ),
], # ],
),
ft.Container(
height=100,
padding=10,
content=ft.Column(
controls=[
ft.Text(
'Goodmorning,',
),
ft.Text(
config.get('general', 'name'),
),
],
),
), ),
contentColumn,
], ],
) )

View File

@ -4,7 +4,7 @@ import os
static = """ static = """
[general] [general]
name = CustomIcon name =
phone = phone =
email = email =

View File

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