right now, using positioned divs for dropdowns instead of modals has two downsides:
it's becoming hard to prevent click events on the rest of the page from firing (atm ~50 lines of code are required to prevent it right now, and i still need more to prevent clicking on existing reactions and prevent changing channels/workspaces)
the message form is implemented in such a way that divs from the message box CANNOT overlap with form. i'll have to change the positioning (or turn it into a modal) to show the dropdown for messages at the bottom of the viewport
Downsides of modals:
modals are hard and annoying, require context, and additional files/logic
positioning becomes a little more difficult, since i can't easily position them in the normal flow of the document (thought: this might actually be possibly if i put the modal seed in the correct position in the document, otherwise i'll have to send data about the message settings element to the modal, which might be possible with getBoundingClientRect()
It's also an option to just refactor dropdowns a little so functionality is more or less acceptable without fully converting them to modals. Slack has modals, but that doesn't mean slacker has to have them.
right now, using positioned divs for dropdowns instead of modals has two downsides:
Downsides of modals:
It's also an option to just refactor dropdowns a little so functionality is more or less acceptable without fully converting them to modals. Slack has modals, but that doesn't mean slacker has to have them.