hcs-t4sg / questable

questable.vercel.app
2 stars 0 forks source link

Forum Expansion #64

Closed IsoPhoenix closed 1 year ago

IsoPhoenix commented 1 year ago

Overview

Expanding forum functionality based on feedback from midpoint. Details/suggestions organized per feature below.

Edit/Delete forum post

Anonymous forum posts

Like posts, like/pin comments

Search posts by title

Self-explanatory

Multiline forum posts and/or editor integration

Preserve line breaks/enters in original post 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)...

jaydenpersonnat commented 1 year ago

Implemented functionality for editing/deleting, anonymity, and liking, though I had a few questions:

  1. For forumPost, should anonymity be an editable field for students, or should we keep it as something that a student selects once when creating the post? I also did not give teachers the ability to affect the anonymity of the post.

  2. Under my current implementation, posts are made anonymously in the sense that I have added an anonymous field where a student's information is hidden from a post if anonymous = 1 to all the players in the classroom. Or, should I not even store any student's information when an anonymous post is made? Right now, the student who made the post anonymously and the teacher can edit and delete the post (when the option is on). With the latter implementation, only the teacher would be able to remove an anonymous post.

  3. In terms of pin/starred comments, how should it look design-wise? Should pin comments go in a container similar to the one used for comments and the post content?

  4. For searching, are there any Figma designs on what it should look like? Should search be implemented such that the posts currently displayed in the FormView change in place, or should I create some kind of modal/results page that shows the search results?

  5. Any particular preference on a text editor? Popular ones seem to be Draft.js, Quill, TipTap, and Prose Mirror.

IsoPhoenix commented 1 year ago
  1. Let's just keep it non-editable, I think that's simpler and better UX!
  2. I think your current implementation is good!
  3. Yeah that sounds good, put them in a MUI card similar to the post content and chatbot currently. You can probably reuse/modify the component for a message bubble to display pinned/starred comments. Ed has a checkmark and endorse feature for student vs. teacher pinning, but I would just keep it as "pinned" for now and add a small annotation for each message designating whether it was pinned by author or teacher or both.
  4. Let's have them change in place. Add a search bar at the top of the current forum page. I think it would make sense to only search the posts in the selected category? But if you think otherwise lmk!
  5. No particular preference haha. Go for ones that are free and open source, and I'd say to stick with the ones that are the easiest to implement/use!

Thanks for all your work you are AMAZING

jaydenpersonnat commented 1 year ago

Update: I just finished implementing all the functionality above, though I do have to go back and style everything.

I think the only question I have right now on this search. Right now, I've implemented it such that searching is done onChange, in the sense that the results immediately show up as the user types. Do you want to go with this or only perform a search when the user clicks Submit?

IsoPhoenix commented 1 year ago

I generally prefer onChange! With styling you can take a look at the theming/styling Ashley has already implemented, you can talk to either of us if you have questions on using them!

Matthew Su Harvard College Class of 2024 A.B. Candidate in Chemistry and Computer Science On Apr 11, 2023 at 6:53 PM -0400, Jayden Personnat @.***>, wrote:

Update: I just finished implementing all the functionality above, though I do have to go back and style everything. I think the only question I have right now on this search. Right now, I've implemented it such that searching is done onChange, in the sense that the results immediately show up as the user types. Do you want to go with this or only perform a search when the user clicks Submit? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>