Hamas announces ceasefire in Gaza