BlurMe/blurme/pages/settings.py

42 lines
1.6 KiB
Python
Raw Normal View History

"""The settings page."""
2023-12-12 21:27:48 +01:00
import asyncio
from blurme.templates import template
2023-12-12 21:27:48 +01:00
from blurme.state import State
import reflex as rx
2023-12-12 21:27:48 +01:00
color = "rgb(107,99,246)"
2023-11-22 15:54:26 +01:00
@template(route="/settings", title="Zdjęcie", image = "/image-icon.png")
def settings() -> rx.Component:
2023-12-19 13:39:26 +01:00
return rx.vstack(
rx.heading("BlurMe", font_size="3em", margin_bottom="25px", background_image="linear-gradient(271.68deg, #7566fe 0.75%, #f96caf 88.52%)", background_clip="text", padding = "10px"),
rx.text("Dodaj zdjęcie, które chcesz zanonimizować", font_size="1.2em"),
2023-12-12 21:27:48 +01:00
rx.upload(
2023-12-19 13:39:26 +01:00
rx.vstack(rx.text("Przeciągnij albo kliknij, aby wybrać pliki"),),
2023-12-12 21:27:48 +01:00
border=f"1px dotted {color}",
padding="5em",),
rx.hstack(rx.foreach(rx.selected_files, rx.text)),
2023-12-19 13:39:26 +01:00
rx.button( "Załaduj zdjęcie",
2023-12-12 21:27:48 +01:00
on_click=lambda: State.handle_upload(
rx.upload_files()),),
2023-12-19 13:39:26 +01:00
#rx.button("Clear",
# on_click=rx.clear_selected_files),),
2023-12-12 21:27:48 +01:00
rx.foreach(
2023-12-19 13:39:26 +01:00
State.img,
lambda img: rx.vstack(
rx.image(src=f'/{img}', max_width = "800px"),
rx.hstack(rx.button("Usuń",
on_click=lambda img_name=img: State.delete_image(img_name),
width = "125px"),
rx.button("Anonimizuj",
width = "125px"),
rx.button("Pobierz",
2023-12-19 16:13:56 +01:00
on_click=lambda img_name=img: State.download_image(img_name),
2023-12-19 13:39:26 +01:00
width = "125px"),
padding="1em"
),
padding="3em",
2023-12-12 21:27:48 +01:00
)
2023-12-19 13:39:26 +01:00
))