The login step was present but no Docker Hub image name was configured in the metadata action, so nothing would be pushed. Now generates Docker Hub tags when DOCKERHUB_ENABLED is set.
Replace invalid secrets check in if-condition with a repository variable (vars.DOCKERHUB_ENABLED) to avoid workflow file parsing errors.
Builds multi-platform images (amd64/arm64) and pushes to GHCR on master pushes and version tags. Optional Docker Hub support via repository secrets.