/api/todos/write
This commit is contained in:
parent
c198341999
commit
1b7dea8388
@ -19,6 +19,7 @@ auth = VerifyToken()
|
||||
data = TodoDatabase()
|
||||
printer = ThermalPrinter(data)
|
||||
# printer.print_default() #temp debug
|
||||
printer.print_qrcode()
|
||||
|
||||
|
||||
|
||||
@ -28,7 +29,7 @@ class Todo(BaseModel):
|
||||
recurring: bool
|
||||
|
||||
class TodoList(BaseModel):
|
||||
date: str #Always current date OLD TEXT: #Either current date in %Y-%m-%d format or "recurring" for a recurring task
|
||||
date: str #Always selected date OLD TEXT: #Either current date in %Y-%m-%d format or "recurring" for a recurring task
|
||||
todos: list[Todo]
|
||||
|
||||
|
||||
|
BIN
application/qrcode.png
Normal file
BIN
application/qrcode.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.4 KiB |
@ -254,6 +254,16 @@ function addTask(defaultTimeRange="", defaultTaskText="New Task", editable=true)
|
||||
timeButtonDisplay.innerHTML = defaultTimeRange
|
||||
timePickerWindowButton.appendChild(timeButtonDisplay)
|
||||
|
||||
let recButtonDiv = document.createElement("div")
|
||||
recButtonDiv.className = "recurringButton hover:bg-slate-200 cursor-pointer rounded-md flex flex-row space-x-1 items-center"
|
||||
secondContainer.appendChild(recButtonDiv)
|
||||
|
||||
let recButtonSpan = document.createElement("span")
|
||||
recButtonSpan.className = "w-8 h-8 flex space-x-2 space-y-2 items-center justify-center"
|
||||
recButtonSpan.innerHTML += "<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-6 h-6 text-black'><path stroke-linecap='round' stroke-linejoin='round' d='M19.5 12c0-1.232-.046-2.453-.138-3.662a4.006 4.006 0 00-3.7-3.7 48.678 48.678 0 00-7.324 0 4.006 4.006 0 00-3.7 3.7c-.017.22-.032.441-.046.662M19.5 12l3-3m-3 3l-3-3m-12 3c0 1.232.046 2.453.138 3.662a4.006 4.006 0 003.7 3.7 48.656 48.656 0 007.324 0 4.006 4.006 0 003.7-3.7c.017-.22.032-.441.046-.662M4.5 12l3 3m-3-3l-3 3' /></svg>"
|
||||
recButtonDiv.appendChild(recButtonSpan)
|
||||
|
||||
|
||||
row.appendChild(secondContainer)
|
||||
|
||||
|
||||
@ -566,6 +576,36 @@ function savePrintButtonListener(e) {
|
||||
|
||||
if (spbt.innerHTML === "Save") {
|
||||
setsavePrintButton(save=false)
|
||||
|
||||
let todo_list = []
|
||||
|
||||
for (let row of document.getElementsByClassName("task-row")) {
|
||||
todos_list.push({"time": row.querySelector("#timeButtonDisplay").innerHTML, "task": row.querySelector("#task").innerHTML, "recurring": row.dataset.recurring})
|
||||
}
|
||||
|
||||
fetch("/api/todos/write", {
|
||||
method: "post",
|
||||
headers: {
|
||||
'Accept': 'application/json',
|
||||
'Content-Type': 'application/json',
|
||||
'Authorization': "Bearer " + jToken
|
||||
},
|
||||
|
||||
//make sure to serialize your JSON body
|
||||
body: JSON.stringify({
|
||||
"date": dayjs(document.getElementById("date-view").innerHTML.slice(4), "MMM D, YYYY").format("YYYY-MM-DD"),
|
||||
"todos": todo_list
|
||||
})
|
||||
})
|
||||
.then( (response) => {
|
||||
response.json().then(r => {
|
||||
console.log(r.status)
|
||||
})
|
||||
//do something awesome that makes the world a better place
|
||||
});
|
||||
|
||||
|
||||
|
||||
//TODO: send api request to save todos to database
|
||||
|
||||
} else if (spbt.innerHTML === "Print") {
|
||||
|
@ -233,6 +233,10 @@ class ThermalPrinter():
|
||||
def finished_printing(self):
|
||||
self.p.cut() #move paper up enough to tear off (probably a better way, but this works.)
|
||||
|
||||
def print_qrcode(self):
|
||||
self.p.text("\n")
|
||||
self.p.set(align="center")
|
||||
self.p.image("application/qrcode.png")
|
||||
|
||||
# class SyncData():
|
||||
# def __init__(self):
|
||||
|
Loading…
Reference in New Issue
Block a user