I'm being told by a design lead that "disabled buttons are bad," and that we should only inform a user they can't take an action after they've clicked a button.
I've been doing this for 30 years, and I disagree: Visual cues are an important tool for communicating a system's behavior early. If the user doesn't have permission to take an action, disable the button and display a concise explanation nearby. (Use a tooltip if you must, but that's still hiding info behind user action).