64 lines
1.8 KiB
Python
64 lines
1.8 KiB
Python
"""Base state for the app."""
|
|
|
|
import reflex as rx
|
|
from blurme import styles
|
|
import asyncio
|
|
|
|
class State(rx.State):
|
|
"""The app state."""
|
|
|
|
# The images to show.
|
|
img: list[str] = []
|
|
# Dark mode status
|
|
#dark_mode: bool = False
|
|
show: bool = False
|
|
|
|
def change(self):
|
|
self.show = not (self.show)
|
|
|
|
|
|
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)
|
|
|
|
# Save the file.
|
|
with open(outfile, "wb") as file_object:
|
|
file_object.write(upload_data)
|
|
|
|
# Update the img var.
|
|
self.img.append(file.filename)
|
|
self.img = self.img
|
|
def delete_image(self, img_name: str):
|
|
if img_name in self.img:
|
|
self.img.remove(img_name)
|
|
self.img=self.img
|
|
def download_image(self, img_name):
|
|
print(self.img)
|
|
return rx.download(url=f'/{img_name}', filename=img_name)
|
|
|
|
|
|
|
|
|
|
|
|
#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 |