When a new session draft is open on mobile and the user switches
projects via the ProjectBar, the draft target was not updated,
causing a mismatch with the desktop project/branch selectors.
handleProjectSwitch now mirrors the desktop handleDraftProjectChange:
when a draft is open, it uses setActiveProjectIdOnly +
setNewSessionDraftTarget instead of setActiveProject. The draft is
also guarded against preserveDirectoryOverride to prevent
overwriting a worktree-locked directory.
When no draft is open, the original setActiveProject behavior is
preserved.
Co-authored-by: Jovines <jovines@qq.com>