Open IsoPhoenix opened 1 year ago
Some initial thoughts:
ConfirmTask
. refreshRepeatable
from mutations.tsx
is called every time the student visits the classroom page, essentially. This resets the number of queued and confirmed repeatables to zero, so that the teacher doesn't have to make an entirely new task every week (the student can just submit new completions for the same repeatable). Because there is no centralized server handling repeatable refreshes, we just have to be very careful to not let the repeatable completion/confirmiation counts fall out of sync. Happy to chat more about this if you need!Update: Implemented all the functionality above (with the exception of some of the repeatable logic), and like I said for the Forum posts I will be working on style.
I can take a look at implementing the logic to unsend repeatables and changing the refresh period later in the week, but I'll focus on finishing the styling first.
For the text editor, I used CKEditor for now, though may consider changing it to TipTap.
As of 05/17/2023, all functionality has been completed aside from changing refresh period for repeatables.
Overview
Expanding task management functionality based on feedback from midpoint. Details/suggestions organized per feature below.
Task searching by title
Self explanatory
Task mass confirmation
Add a button in teacher requests page to mass confirm all requests
confirmTask
and/orconfirmRepeatable
mutation call in a promise array is a possible solution, but maybe a Firestore batched write is an easier + less costly solution?Student can unsend requests
For tasks in a student's "Requested" table, add an option (button) to "unsend" the request for completion.
completed
array and adding it back to theassigned
array. You should first check to make sure the player ID is in thecompleted
array, and throw an error if not.Ability to change the refresh period for repeatables
I don't think this functionality is transformative but it will be quite difficult to implement. If you want to give it a go still, we can have a conversation about it but I'd prioritize other things over this
Multiline task descriptions
Preserve line breaks/enters in original task content. Alternatively, you could look around and see if there are any packages that will integrate rich text editors into a React webapp, which would give us multiline support, bold/italicize, maybe even code blocks/markdown/LaTEX (although a bit of a stretch)...