Resolve "Add optional donation/contribution link in-app"
Closes #839 (closed)
So, this adds two separate messages:
- One message to support Funkwhale (the project)
- One message to support the pod where the user is logged in
Message 1. can be disabled entirely via a setting, and message 2. is disabled unless an admin fill in the corresponding field in the settings. The pod message supports markdown, so it's rather flexible.
Both messages are displayed in the notification tab for the first time 15 days after a user signed up. The notifications count in the sidebar will reflect that. When displayed, the messages offer to schedule a reminder in 30, 60 or 90 days, but can also be disabled completely. I'm not really sure about the wording, so any feedback is welcome!
It seemed appropriate to use the notification tab, because adding a popup or message somewhere else in the frontend would be a bit off, and likely to affect user experience negatively (users would simply want to get rid of the message as fast as possible). It's more discrete this way, but I also think it will yield better results. It's also way easier to design, because we have less constraints in the notifications page than in the sidebar.
At the backend level, I've simply added two new columns on the user table:
Both columns store a date (or null value). When the date is lower than
now() the message is displayed to the client. To schedule a reminder, you set a date in the future, and to hide it, you set it to