mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-12-20 20:13:17 +00:00
Merge pull request #826 from pixelfed/frontend-ui-refactor
Fix profile bookmarks
This commit is contained in:
commit
cb64aa69f8
2 changed files with 122 additions and 1 deletions
|
@ -238,7 +238,7 @@ class ProfileController extends Controller
|
||||||
$timeline = $user->bookmarks()->withCount(['likes','comments'])->orderBy('created_at', 'desc')->simplePaginate(10);
|
$timeline = $user->bookmarks()->withCount(['likes','comments'])->orderBy('created_at', 'desc')->simplePaginate(10);
|
||||||
$is_following = ($owner == false && Auth::check()) ? $user->followedBy(Auth::user()->profile) : false;
|
$is_following = ($owner == false && Auth::check()) ? $user->followedBy(Auth::user()->profile) : false;
|
||||||
$is_admin = is_null($user->domain) ? $user->user->is_admin : false;
|
$is_admin = is_null($user->domain) ? $user->user->is_admin : false;
|
||||||
return view('profile.show', compact('user', 'settings', 'owner', 'following', 'timeline', 'is_following', 'is_admin'));
|
return view('profile.bookmarks', compact('user', 'profile', 'settings', 'owner', 'following', 'timeline', 'is_following', 'is_admin'));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function createCollection(Request $request)
|
public function createCollection(Request $request)
|
||||||
|
|
121
resources/views/profile/bookmarks.blade.php
Normal file
121
resources/views/profile/bookmarks.blade.php
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
@extends('layouts.app',['title' => $user->username . " on " . config('app.name')])
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
@if (session('error'))
|
||||||
|
<div class="alert alert-danger text-center font-weight-bold mb-0">
|
||||||
|
{{ session('error') }}
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@include('profile.partial.user-info')
|
||||||
|
|
||||||
|
@if(true === $owner)
|
||||||
|
<div>
|
||||||
|
<ul class="nav nav-topbar d-flex justify-content-center border-0">
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {{request()->is($user->username) ? 'active': ''}} font-weight-bold text-uppercase" href="{{$user->url()}}">Posts</a>
|
||||||
|
</li>
|
||||||
|
{{-- <li class="nav-item">
|
||||||
|
<a class="nav-link {{request()->is('*/collections') ? 'active': ''}} font-weight-bold text-uppercase" href="{{$user->url()}}/collections">Collections</a>
|
||||||
|
</li> --}}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link {{request()->is('*/saved') ? 'active':''}} font-weight-bold text-uppercase" href="{{$user->url('/saved')}}">Saved</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
<div class="container">
|
||||||
|
@if($owner && request()->is('*/saved'))
|
||||||
|
<div class="col-12">
|
||||||
|
<p class="text-muted font-weight-bold small">{{__('profile.savedWarning')}}</p>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
<div class="profile-timeline mt-2 mt-md-4">
|
||||||
|
<div class="row">
|
||||||
|
@if($timeline->count() > 0)
|
||||||
|
@foreach($timeline as $status)
|
||||||
|
<div class="col-4 p-0 p-sm-2 p-md-3">
|
||||||
|
<a class="card info-overlay card-md-border-0" href="{{$status->url()}}">
|
||||||
|
<div class="square {{$status->firstMedia()->filter_class}}">
|
||||||
|
@switch($status->viewType())
|
||||||
|
@case('album')
|
||||||
|
@case('photo:album')
|
||||||
|
<span class="float-right mr-3" style="color:#fff;position:relative;margin-top:10px;z-index: 999999;opacity:0.6;text-shadow: 3px 3px 16px #272634;"><i class="fas fa-images fa-2x"></i></span>
|
||||||
|
@break
|
||||||
|
@case('video')
|
||||||
|
<span class="float-right mr-3" style="color:#fff;position:relative;margin-top:10px;z-index: 999999;opacity:0.6;text-shadow: 3px 3px 16px #272634;"><i class="fas fa-video fa-2x"></i></span>
|
||||||
|
@break
|
||||||
|
@case('video-album')
|
||||||
|
<span class="float-right mr-3" style="color:#fff;position:relative;margin-top:10px;z-index: 999999;opacity:0.6;text-shadow: 3px 3px 16px #272634;"><i class="fas fa-film fa-2x"></i></span>
|
||||||
|
@break
|
||||||
|
@endswitch
|
||||||
|
<div class="square-content" style="background-image: url('{{$status->thumb()}}')">
|
||||||
|
</div>
|
||||||
|
<div class="info-overlay-text">
|
||||||
|
<h5 class="text-white m-auto font-weight-bold">
|
||||||
|
<span>
|
||||||
|
<span class="far fa-heart fa-lg p-2 d-flex-inline"></span>
|
||||||
|
<span class="d-flex-inline">{{App\Util\Lexer\PrettyNumber::convert($status->likes_count)}}</span>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<span class="far fa-comment fa-lg p-2 d-flex-inline"></span>
|
||||||
|
<span class="d-flex-inline">{{App\Util\Lexer\PrettyNumber::convert($status->comments_count)}}</span>
|
||||||
|
</span>
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pagination-container">
|
||||||
|
<div class="d-flex justify-content-center">
|
||||||
|
{{$timeline->links()}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body py-5 my-5">
|
||||||
|
<div class="d-flex my-5 py-5 justify-content-center align-items-center">
|
||||||
|
@if($owner && request()->is('*/saved'))
|
||||||
|
<p class="lead font-weight-bold">{{ __('profile.emptySaved') }}</p>
|
||||||
|
@else
|
||||||
|
<p class="lead font-weight-bold">{{ __('profile.emptyTimeline') }}</p>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@push('meta')<meta property="og:description" content="{{$user->bio}}">
|
||||||
|
<meta property="og:image" content="{{$user->avatarUrl()}}">
|
||||||
|
<link href="{{$user->permalink('.atom')}}" rel="alternate" title="{{$user->username}} on PixelFed" type="application/atom+xml">
|
||||||
|
@if(false == $settings->crawlable || $user->remote_url)
|
||||||
|
<meta name="robots" content="noindex, nofollow">
|
||||||
|
@endif
|
||||||
|
@endpush
|
||||||
|
|
||||||
|
@push('scripts')
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('.pagination-container').hide();
|
||||||
|
$('.pagination').hide();
|
||||||
|
let elem = document.querySelector('.profile-timeline');
|
||||||
|
let infScroll = new InfiniteScroll( elem, {
|
||||||
|
path: '.pagination__next',
|
||||||
|
append: '.profile-timeline .row',
|
||||||
|
status: '.page-load-status',
|
||||||
|
history: false,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
@endpush
|
||||||
|
|
Loading…
Reference in a new issue