import flet as ft from utils import AppView, Title from .functions import Theme def Settings(page: ft.Page): settingsContainer = ft.ListView( expand=True, ) settingsContainer.controls.append(ft.Text('General')) generalSettings = ft.Container( content=ft.Column( controls=[ ft.Card( content=ft.Container( ink=True, content=ft.Column( [ ft.ListTile( leading=ft.Icon(ft.icons.PERSON), title=ft.Text('Username'), subtitle=ft.Text( 'The greeting message', ), ), ], ), padding=10, on_click=lambda _: print('clicked username'), ), ), ft.Card( content=ft.Container( ink=True, content=ft.Column( [ ft.ListTile( leading=ft.Icon(ft.icons.PHONE), title=ft.Text('Phone'), subtitle=ft.Text( 'Personal Phone number', ), ), ], ), padding=10, on_click=lambda _: print('clicked phone'), ), ), ft.Card( content=ft.Container( ink=True, content=ft.Column( [ ft.ListTile( leading=ft.Icon(ft.icons.EMAIL), title=ft.Text('Email'), subtitle=ft.Text( 'Personal Email', ), ), ], ), padding=10, on_click=lambda _: print('clicked email'), ), ), ft.Card( content=ft.Container( ink=True, content=ft.Column( [ ft.ListTile( leading=ft.Icon(ft.icons.CARD_TRAVEL), title=ft.Text('NID'), subtitle=ft.Text( 'National Idenity Number', ), ), ], ), padding=10, on_click=lambda _: print('clicked email'), ), ), ], ), ) settingsContainer.controls.append( generalSettings, ) settingsContainer.controls.append(ft.Divider()) settingsContainer.controls.append(ft.Text('Notifications')) notificationsSettings = ft.Container( content=ft.Column( controls=[ ft.Card( content=ft.Container( ink=True, content=ft.Column( [ ft.ListTile( leading=ft.Icon(ft.icons.TELEGRAM), title=ft.Text('Telegram'), subtitle=ft.Text( 'Telegram Notifications for reminders and Bill pays', ), ), ], ), padding=10, on_click=lambda _: print('clicked username'), ), ), ], ), ) settingsContainer.controls.append( notificationsSettings, ) settingsContainer.controls.append(ft.Divider()) settingsContainer.controls.append(ft.Text('Apps')) appsSettings = ft.Container( content=ft.Column( controls=[ 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 _: print('clicked dhiraagu'), ), ), 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 _: print('clicked ooredoo'), ), ), 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 _: print('clicked stelco'), ), ), 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 _: print('clicked mwsc'), ), ), 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('Medianet'), subtitle=ft.Text( 'Online Television Service', ), ), ], ), padding=10, on_click=lambda _: print('clicked medianet'), ), ), ], ), ) settingsContainer.controls.append(appsSettings) settingsContainer.controls.append(ft.Divider()) settingsContainer.controls.append(ft.Text('Theme')) def _on_theme_change(e): Theme(page).change() themeSettings = ft.Container( content=ft.Column( controls=[ ft.Card( content=ft.Container( content=ft.Container( ft.Switch( value=True, label=' Switch to dark theme', on_change=_on_theme_change, ), ), padding=10, on_click=None, ), ), ], ), ) settingsContainer.controls.append(themeSettings) return AppView( '/settings', [ 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, ), settingsContainer, ], )