How long it lasts is going to depend on how much virus is really out there we don't know about and if we have cancelled enough things in time to slow the spread. It will also vary in different places since the US is not the same (look at the spanish flu thing- St. Louis did social distancing and was fine, but Philidephia had a parade and killed thousands). Hopefully the places with a lot of cases are quarantining enough to decrease spread, and there is enough social distancing happening in places with few cases that the virus will move really slowly and this will be over a little sooner.
As for people working from home, it's great if you can do it... but it's not just working class (or however you define warehouse/retail type jobs) people that still have to come in.. all of the doctors and nurses can't work from home... nor can the police and firefighters etc.