refact post summary and post detial