Change to async photo searching, use ReactJS to build view