Is it better to disable a button or hide it?
Buttons. Disable the control to indicate that the user needs to do something first to “unlock” the functionality that this button performs. Buttons should never be hidden, because there is an expectation of persistence for them.