[name_m]River[/name_m], [name_m]Jack[/name_m] and [name_f]Salem[/name_f] sound great together!
For middle names I’ll suggest:
[name_f]Salem[/name_f] [name_m]Joann[/name_m] / [name_m]Joanne[/name_m]
[name_f]Salem[/name_f] [name_f]Mariann[/name_f] / [name_f]Marianne[/name_f]
[name_f]Salem[/name_f] [name_f]Hannah[/name_f]
[name_f]Salem[/name_f] [name_f]Annabel[/name_f]
[name_f]Salem[/name_f] [name_f]Gwen[/name_f]
[name_f]Salem[/name_f] [name_f]Eve[/name_f]
[name_f]Salem[/name_f] [name_f]Tess[/name_f]
[name_f]Salem[/name_f] [name_m]Jill[/name_m]
[name_f]Salem[/name_f] [name_f]Nell[/name_f]
[name_f]Salem[/name_f] [name_f]Belle[/name_f]
[name_f]Salem[/name_f] [name_m]Kitt[/name_m]
I would lean towards continuing the family connection first, and patterns second. But you might be able to do both, for instance a one syllable family name, or a family name with any double letters in it would.
For boy I’ll suggest:
[name_m]Archer[/name_m]
[name_m]Beckett[/name_m]
[name_m]Boone[/name_m]
[name_m]Bowen[/name_m]
[name_m]Bram[/name_m]
[name_m]Ellis[/name_m]
[name_m]Fletcher[/name_m]
[name_m]Forest[/name_m]
[name_m]Griffin[/name_m]
[name_m]Holden[/name_m]
[name_f]Lennon[/name_f]
[name_m]Nash[/name_m]
[name_f]Merritt[/name_f]
[name_m]Reed[/name_m] / [name_m]Reid[/name_m]
[name_m]Rhodes[/name_m]
[name_m]Rowan[/name_m]
[name_m]Sawyer[/name_m]
[name_m]Shepherd[/name_m]
[name_m]Woodrow[/name_m]
All the best with your search!