feat(menu): save dialog