She was smiling and looked happy.

Literal

She [topic-は] continuously-smiling-and happy-seeming was.

にこにこ is the reduplicated mimetic for continuous, beaming smiling — distinct from にっこり (a single warm smile). Mimetic reduplication often signals continuous or repeated states: にこにこ (smiling on and on), わくわく (excited and bubbly), きらきら (sparkling). The auxiliary ~そう attached to the i-adjective stem うれし (from うれしい) gives 'looks/seems happy' — speculation based on appearance. ~そうだった is its past form, 'looked happy' (at the time). Two evidentials stacked: the visible smiling + the inferred happiness.