The 23-year-old winger, who spent the whole of 2016-17 at Elland Road, has now signed a three-year contract after the club triggered a clause in the terms of the loan deal from Sporting Lisbon.
The Frenchman made 42 appearances for Leeds as they just fell short in a bid to make the Sky Bet Championship play-offs.
Leeds' managing director Angus Kinnear said on the club's official website: "We are delighted to announce the signing of Hadi today, he is an exciting player with great potential and a player we hope to see develop over the next three years."