Moved functions to a util area. Cards on dashboard are organized and based on toggle and db. Cleaned up small functions.
This commit is contained in:
47
main.py
47
main.py
@ -4,6 +4,7 @@ from nicegui import app, ui
|
||||
import re
|
||||
import requests
|
||||
import theme
|
||||
from utils import Utils
|
||||
|
||||
# DB columns tasks(person, verse, verse_passage, status, awana_completed, awana_bonus)
|
||||
db = data.CON
|
||||
@ -11,7 +12,6 @@ cur = db.cursor()
|
||||
APIKEY = "Token f562cf2d890151d682065696dacdc0f86938a18e"
|
||||
HEADERS = { 'Authorization': APIKEY}
|
||||
|
||||
card = "card"
|
||||
@ui.page('/')
|
||||
def index_page() -> None:
|
||||
with theme.frame('Homepage'):
|
||||
@ -19,7 +19,12 @@ def index_page() -> None:
|
||||
pass
|
||||
|
||||
with ui.grid(columns=1).classes('self-center justify-items-center content-center p-2 m-2 rounded-xl'):
|
||||
toggle = ui.toggle(["Hannah", "Fiona", "Liam"], clearable=True, on_change=lambda: show_person(toggle))
|
||||
users = Utils.get_unique_people()
|
||||
for ppl in users:
|
||||
pers = str(ppl)[2:-3].title()
|
||||
users = [pers if x==ppl else x for x in users]
|
||||
toggle = ui.toggle(users, clearable=True, on_change=lambda: show_person(toggle))
|
||||
|
||||
with ui.row().classes('fixed bottom-0 left-0 p-2 m-2'):
|
||||
with ui.element('q-fab').props('icon=navigation color=accent'):
|
||||
ui.element('q-fab-action').props('icon=add color=secondary').on('click', lambda: add_verse(toggle))
|
||||
@ -36,14 +41,12 @@ def index_page() -> None:
|
||||
def show_person(person):
|
||||
showperson.clear()
|
||||
if person.value is not None:
|
||||
res = cur.execute(f"select verse,verse_passage,status from tasks where person='{person.value.lower()}'")
|
||||
dbinfo = res.fetchall()
|
||||
dbinfo = Utils.get_specific_person(person)
|
||||
if dbinfo == []:
|
||||
showperson.clear()
|
||||
ui.notify(f"{person.value} doesn't have any verses saved under her name! Start adding some by clicking the green arrow in the bottom left.")
|
||||
else:
|
||||
showperson.set_visibility(True) #False if showperson.visible else True)
|
||||
# showoptions.set_visibility(True)
|
||||
showperson.set_visibility(True)
|
||||
if person.value == "Hannah":
|
||||
setcolor = "rgba(0, 255, 0, .5)"
|
||||
elif person.value == "Fiona":
|
||||
@ -58,24 +61,34 @@ def index_page() -> None:
|
||||
label_passage = ui.label(text=item[1]).classes('hidden')
|
||||
label_status = ui.label(text=item[2]).classes('hidden')
|
||||
ui.label(label_verse.text).classes('font-bold')
|
||||
# ui.chip(label_verse.text, icon='ads_click', on_click=lambda: ui.notify(label_passage.text)).classes('border p-1')
|
||||
ui.label(label_passage.text).classes('text-wrap')
|
||||
if label_status.text == '0':
|
||||
ui.chip("Incomplete", selectable=True, icon="add", color="negative", on_selection_change=lambda: toggle_completion(label_verse.text, person, status=1))
|
||||
with ui.row():
|
||||
ui.label(label_passage.text).classes('text-wrap')
|
||||
ui.chip("Edit Verse", selectable=True, icon="edit", color="white", on_selection_change=lambda label_verse=label_verse: edit_verse(label_verse.text))
|
||||
if label_status.text == '1':
|
||||
ui.chip('Complete',
|
||||
selectable=True, icon="add", color="positive",
|
||||
on_selection_change=lambda label_verse=label_verse: Utils.toggle_completion(label_verse.text, person, status=0),
|
||||
on_click=lambda: show_person(person))
|
||||
else:
|
||||
ui.chip("Complete", selectable=True, icon="add", color="accent", on_selection_change=lambda: toggle_completion(label_verse.text, person, status=0))
|
||||
ui.chip('Incomplete',
|
||||
selectable=True, icon="add", color="negative",
|
||||
on_selection_change=lambda label_verse=label_verse: Utils.toggle_completion(label_verse.text, person, status=1),
|
||||
on_click=lambda: show_person(person))
|
||||
ui.checkbox('Pin Verse')#.bind_visibility_from(card, 'value')
|
||||
ui.checkbox('Mark as Completed')#.bind_value(item[2])
|
||||
ui.separator().classes('col-span-5 h-2')
|
||||
else:
|
||||
showperson.clear()
|
||||
|
||||
def toggle_completion(verse, person, status):
|
||||
ins = cur.execute(f"update tasks set status = '{status}' where person = '{person.value.lower()}' and verse = '{verse}'")
|
||||
print(f"update tasks set status = '{status}' where person = '{person.value.lower()}' and verse = '{verse}'")
|
||||
db.commit()
|
||||
show_person.refresh
|
||||
show_person(person)
|
||||
def edit_verse(verse):
|
||||
ui.notify(f"Edit Verse function is running for {verse}")
|
||||
|
||||
# def toggle_completion(verse, person, status):
|
||||
# ins = cur.execute(f"update tasks set status = '{status}' where person = '{person.value.lower()}' and verse = '{verse}'")
|
||||
# print(f"update tasks set status = '{status}' where person = '{person.value.lower()}' and verse = '{verse}'")
|
||||
# db.commit()
|
||||
# show_person.refresh
|
||||
# show_person(person)
|
||||
|
||||
|
||||
def add_verse(person):
|
||||
|
||||
Reference in New Issue
Block a user