BlurMe/blurme/state.py

56 lines
1.7 KiB
Python
Raw Normal View History

"""Base state for the app."""
import reflex as rx
2023-12-12 21:27:48 +01:00
from blurme import styles
import asyncio
class State(rx.State):
2023-12-12 21:27:48 +01:00
"""The app state."""
# The images to show.
img: list[str] = []
2023-12-19 13:39:26 +01:00
# Dark mode status
#dark_mode: bool = False
2023-12-12 21:27:48 +01:00
async def handle_upload(self, files: list[rx.UploadFile]):
"""Handle the upload of file(s).
Args:
files: The uploaded files.
"""
for file in files:
upload_data = await file.read()
outfile = rx.get_asset_path(file.filename)
2023-12-12 21:28:17 +01:00
2023-12-12 21:27:48 +01:00
# Save the file.
with open(outfile, "wb") as file_object:
file_object.write(upload_data)
2023-12-19 13:39:26 +01:00
2023-12-12 21:27:48 +01:00
# Update the img var.
self.img.append(file.filename)
self.img = self.img
2023-12-19 13:39:26 +01:00
def delete_image(self, img_name: str):
if img_name in self.img:
self.img.remove(img_name)
self.img=self.img
2023-12-19 15:54:46 +01:00
def download_image(img_name: str):
return rx.download(url=f'/{img_name}', filename=img_name)
2023-12-19 13:39:26 +01:00
#async def toggle_dark_mode(self):
# self.dark_mode = not self.dark_mode
# print(f"Dark Mode State: {self.dark_mode}")
#class State(rx.State):
# def __init__(self):
# super().__init__()
# self.dark_mode_state: bool = False
# def __str__(self):
# self.dark_mode_state
# def toggle_dark_mode(self) -> None:
# self.dark_mode_state = not self.dark_mode_state
# text_color = styles.text_color_light if self.dark_mode_state == True else styles.text_color_dark
# styles.text_color = text_color
# print(f"Dark Mode State: {self.dark_mode_state}")
# print(f"Current Text Color: {text_color}")
# pass