app/modules/home.py
2024-04-20 03:43:58 +00:00

144 lines
5.4 KiB
Python

import flet as ft
from utils import AppView, Title
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):
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(
'/',
[
ft.AppBar(
title=ft.Text(Title(__file__)),
# actions=[
# ft.IconButton(
# icon=ft.icons.SETTINGS,
# on_click=lambda _: page.go('/settings'),
# ),
# ],
),
contentColumn,
],
)