Просмотр исходного кода

Merge pull request #431 from pixelfed/frontend-ui-refactor

Frontend ui refactor
daniel 6 лет назад
Родитель
Сommit
53b70fae45
2 измененных файлов с 30 добавлено и 24 удалено
  1. 28 22
      app/Http/Controllers/ProfileController.php
  2. 2 2
      resources/views/profile/private.blade.php

+ 28 - 22
app/Http/Controllers/ProfileController.php

@@ -42,27 +42,27 @@ class ProfileController extends Controller
         }
 
         if ($user->is_private == true) {
-            $isPrivate = $this->privateProfileCheck($user);
+            $isPrivate = $this->privateProfileCheck($user, $loggedIn);
         }
 
         if ($loggedIn == true) {
-            $isPrivate = $this->blockedProfileCheck($user);
+            $isBlocked = $this->blockedProfileCheck($user);
         }
 
-        if ($isPrivate == true) {
+        if ($isPrivate == true || $isBlocked == true) {
             return view('profile.private', compact('user'));
-        } else {
-            $owner = $loggedIn && Auth::id() === $user->user_id;
-            $is_following = ($owner == false && Auth::check()) ? $user->followedBy(Auth::user()->profile) : false;
-            $is_admin = is_null($user->domain) ? $user->user->is_admin : false;
-            $timeline = $user->statuses()
-                  ->whereHas('media')
-                  ->whereNull('in_reply_to_id')
-                  ->whereNull('reblog_of_id')
-                  ->orderBy('created_at', 'desc')
-                  ->withCount(['comments', 'likes'])
-                  ->simplePaginate(21);
-        }
+        } 
+
+        $owner = $loggedIn && Auth::id() === $user->user_id;
+        $is_following = ($owner == false && Auth::check()) ? $user->followedBy(Auth::user()->profile) : false;
+        $is_admin = is_null($user->domain) ? $user->user->is_admin : false;
+        $timeline = $user->statuses()
+              ->whereHas('media')
+              ->whereNull('in_reply_to_id')
+              ->whereNull('reblog_of_id')
+              ->orderBy('created_at', 'desc')
+              ->withCount(['comments', 'likes'])
+              ->simplePaginate(21);
 
         return view('profile.show', compact('user', 'settings', 'owner', 'is_following', 'is_admin', 'timeline'));
     }
@@ -79,18 +79,24 @@ class ProfileController extends Controller
         return redirect($user->url());
     }
 
-    protected function privateProfileCheck(Profile $profile)
+    protected function privateProfileCheck(Profile $profile, $loggedIn)
     {
-        if (Auth::check() === false) {
-            return false;
+        if (!Auth::check()) {
+            return true;
         }
-        $pid = Auth::user()->profile->id;
-        $follower_ids = $profile->followers()->pluck('followers.profile_id')->toArray();
-        if (!in_array($pid, $follower_ids) && $pid !== $profile->id) {
+
+        $user = Auth::user()->profile;
+        if($user->id == $profile->id) {
             return false;
         }
 
-        return true;
+        $follows = Follower::whereProfileId($user->id)->whereFollowingId($profile->id)->exists();
+        if ($follows == false) {
+            return true;
+        }
+        
+        return false;
+
     }
 
     protected function blockedProfileCheck(Profile $profile)

+ 2 - 2
resources/views/profile/private.blade.php

@@ -8,11 +8,11 @@
   <div class="profile-timeline mt-2 mt-md-4">
     <div class="card">
       <div class="card-body py-5">
-        <p class="text-center lead font-weight-bold">
+        <p class="text-center lead font-weight-bold mb-0">
           {{__('profile.privateProfileWarning')}}
         </p>
 
-        @if(Auth::check())
+        @if(!Auth::check())
         <p class="text-center mb-0">{{ __('profile.alreadyFollow', ['username'=>$user->username])}}</p>
         <p class="text-center mb-0"><a href="{{route('login')}}">{{__('Log in')}}</a></p>
         <p class="text-center mb-0">{{__('profile.loginToSeeProfile')}}</p>