app/modules/home.py
2024-04-20 16:59:36 +00:00

125 lines
4.5 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,'
AppRow = ft.ResponsiveRow(
alignment=ft.MainAxisAlignment.CENTER,
)
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_500,
),
ft.Text(
config.get('general', 'name').split(' ')[0],
size=40,
weight=ft.FontWeight.W_300,
),
ft.Divider(),
AppRow,
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, 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'),
),
ft.Container(
content=ft.Icon(
ft.icons.HISTORY, color=ft.colors.WHITE,
),
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, 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('/settings'),
),
ft.Container(
content=ft.Icon(
ft.icons.LIST, 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 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,
],
)