flet-dev / flet

Flet enables developers to easily build realtime web, mobile and desktop apps in Python. No frontend experience required.
https://flet.dev
Apache License 2.0
9.43k stars 360 forks source link

PermissionHandler #3212

Closed lekshmanmj closed 1 week ago

lekshmanmj commented 1 week ago

@FeodorFitsner @ndonkoHenri

Have implemented common permission_handler control.

Output from Chrome: image

Sample Usage Code:

import flet as ft

def main(page: ft.Page):
    page.scroll = ft.ScrollMode.ADAPTIVE
    page.add(ft.SafeArea(ft.Text("PermissionHandler test")))
    ph = ft.PermissionHandler()
    page.overlay.append(ph)
    page.update()

    async def on_check_permission(e):
        page.add(ft.SafeArea(ft.Text(await ph.microphone.check_permission_async())))

    check_permission_button = ft.TextButton(
        "Check Permission", on_click=on_check_permission
    )

    async def on_request_permission(e):
        page.add(ft.SafeArea(ft.Text(await ph.microphone.request_permission_async())))

    request_permission_button = ft.TextButton(
        "Request Permission", on_click=on_request_permission
    )
    page.add(
        ft.SafeArea(check_permission_button), ft.SafeArea(request_permission_button)
    )

ft.app(main)