|
@@ -2,11 +2,39 @@
|
|
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
|
|
-use App;
|
|
|
+use App, Auth;
|
|
|
use Illuminate\Http\Request;
|
|
|
+use App\{Follower, Status, User};
|
|
|
|
|
|
class SiteController extends Controller
|
|
|
{
|
|
|
+
|
|
|
+ public function home()
|
|
|
+ {
|
|
|
+ if(Auth::check()) {
|
|
|
+ return $this->homeTimeline();
|
|
|
+ } else {
|
|
|
+ return $this->homeGuest();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public function homeGuest()
|
|
|
+ {
|
|
|
+ return view('site.index');
|
|
|
+ }
|
|
|
+
|
|
|
+ public function homeTimeline()
|
|
|
+ {
|
|
|
+ // TODO: Use redis for timelines
|
|
|
+ $following = Follower::whereProfileId(Auth::user()->profile->id)->pluck('following_id');
|
|
|
+ $following->push(Auth::user()->profile->id);
|
|
|
+ $timeline = Status::whereIn('profile_id', $following)
|
|
|
+ ->orderBy('id','desc')
|
|
|
+ ->withCount(['comments', 'likes', 'shares'])
|
|
|
+ ->simplePaginate(10);
|
|
|
+ return view('timeline.template', compact('timeline'));
|
|
|
+ }
|
|
|
+
|
|
|
public function changeLocale(Request $request, $locale)
|
|
|
{
|
|
|
if(!App::isLocale($locale)) {
|