add animation helper and refactor share view