I'm building a fairly standard web app with Remix, and have tons of places where I'd like to show small tips, notifications, onboarding tasks, warnings, etc. I'd like most of them to be dismiss-able by the user.
What strategy would you recommend to save a user's actions/preferences for something like this? My sense is that saving in a database is overkill, and that one all-encompassing 'UI Cookie' might be the best choice. I suppose the cookie could effectively be an object with a ui element id and then a boolean if the user has dismissed it. Then I'd read that data in my loaders and pass the flag values to the client.
Am I thinking about this the right way? Are there more elegant ways to achieve this or other things I'm missing? Thank you!