diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9b72b817d..2b611fc28 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -45,6 +45,11 @@
- Updated ApiV1Controller, use PublicTimelineService. ([f67c67bc](https://github.com/pixelfed/pixelfed/commit/f67c67bc))
- Updated ApiV1Controller, use ProfileService for verify_credentials. ([352aa573](https://github.com/pixelfed/pixelfed/commit/352aa573))
- Updated RemotePost.vue, fix content warning button. ([7647e724](https://github.com/pixelfed/pixelfed/commit/7647e724))
+- Updated AdminMediaController, improve perf and use simple pagination. ([f2686cac](https://github.com/pixelfed/pixelfed/commit/f2686cac))
+- Updated PostComponent, fix MomentUI like counter. ([42c6121a](https://github.com/pixelfed/pixelfed/commit/42c6121a))
+- Updated status views, remove like counts from status embed. ([1a2e41b1](https://github.com/pixelfed/pixelfed/commit/1a2e41b1))
+- Updated Profile, fix unauthenticated private profiles. ([9017f7c4](https://github.com/pixelfed/pixelfed/commit/9017f7c4))
+- Updated PublicApiController, impr home timeline perf. ([4fe42e5b](https://github.com/pixelfed/pixelfed/commit/4fe42e5b))
- ([](https://github.com/pixelfed/pixelfed/commit/))
## [v0.11.0 (2021-06-01)](https://github.com/pixelfed/pixelfed/compare/v0.10.10...v0.11.0)
diff --git a/app/Http/Controllers/Admin/AdminMediaController.php b/app/Http/Controllers/Admin/AdminMediaController.php
index eb4bd93a8..da9c3b27e 100644
--- a/app/Http/Controllers/Admin/AdminMediaController.php
+++ b/app/Http/Controllers/Admin/AdminMediaController.php
@@ -27,6 +27,7 @@ trait AdminMediaController
],
'search' => 'nullable|string|min:1|max:20'
]);
+
if($request->filled('search')) {
$profiles = Profile::where('username', 'like', '%'.$request->input('search').'%')->pluck('id')->toArray();
$media = Media::whereHas('status')
@@ -42,7 +43,8 @@ trait AdminMediaController
$media = MediaBlocklist::latest()->paginate(12);
return view('admin.media.home', compact('media'));
}
- $media = Media::whereHas('status')->with('status')->orderby('id', 'desc')->paginate(12);
+
+ $media = Media::whereNull('remote_url')->orderby('id', 'desc')->simplePaginate(12);
return view('admin.media.home', compact('media'));
}
@@ -51,4 +53,4 @@ trait AdminMediaController
$media = Media::findOrFail($id);
return view('admin.media.show', compact('media'));
}
-}
\ No newline at end of file
+}
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index 4c38a2319..74e84f63e 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -47,7 +47,8 @@ class ProfileController extends Controller
});
if ($user->is_private == true) {
- abort(404);
+ $profile = null;
+ return view('profile.private', compact('user'));
}
$owner = false;
diff --git a/app/Http/Controllers/PublicApiController.php b/app/Http/Controllers/PublicApiController.php
index 212ee31f0..549349042 100644
--- a/app/Http/Controllers/PublicApiController.php
+++ b/app/Http/Controllers/PublicApiController.php
@@ -290,69 +290,32 @@ class PublicApiController extends Controller
$max = $request->input('max_id');
$limit = $request->input('limit') ?? 3;
$user = $request->user();
- $amin = SnowflakeService::byDate(now()->subDays(90));
-
- $key = 'user:last_active_at:id:'.$user->id;
- $ttl = now()->addMinutes(5);
- Cache::remember($key, $ttl, function() use($user) {
- $user->last_active_at = now();
- $user->save();
- return;
- });
$filtered = UserFilter::whereUserId($user->profile_id)
->whereFilterableType('App\Profile')
->whereIn('filter_type', ['mute', 'block'])
->pluck('filterable_id')->toArray();
- if($min || $max) {
- $dir = $min ? '>' : '<';
- $id = $min ?? $max;
- $timeline = Status::select(
- 'id',
- 'profile_id',
- 'type',
- 'scope',
- 'local'
- )->where('id', $dir, $id)
- ->where('id', '>', $amin)
- ->whereIn('type', ['text', 'photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
- ->whereNotIn('profile_id', $filtered)
- ->whereLocal(true)
- ->whereScope('public')
- ->orderBy('id', 'desc')
- ->limit($limit)
- ->get()
- ->map(function($s) use ($user) {
- $status = StatusService::get($s->id);
- $status['favourited'] = (bool) LikeService::liked($user->profile_id, $s->id);
- return $status;
- });
- $res = $timeline->toArray();
- } else {
- $timeline = Status::select(
- 'id',
- 'profile_id',
- 'type',
- 'scope',
- 'local'
- )->whereIn('type', ['text', 'photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
- ->where('id', '>', $amin)
- ->whereNotIn('profile_id', $filtered)
- ->with('profile', 'hashtags', 'mentions')
- ->whereLocal(true)
- ->whereScope('public')
- ->orderBy('id', 'desc')
- ->limit($limit)
- ->get()
- ->map(function($s) use ($user) {
- $status = StatusService::get($s->id);
- $status['favourited'] = (bool) LikeService::liked($user->profile_id, $s->id);
- return $status;
- });
- $res = $timeline->toArray();
+ if(PublicTimelineService::count() == 0) {
+ PublicTimelineService::warmCache(true, 400);
}
+ if ($max) {
+ $feed = PublicTimelineService::getRankedMaxId($max, $limit);
+ } else if ($min) {
+ $feed = PublicTimelineService::getRankedMinId($min, $limit);
+ } else {
+ $feed = PublicTimelineService::get(0, $limit);
+ }
+
+ $res = collect($feed)
+ ->map(function($k) use($user) {
+ $status = StatusService::get($k);
+ $status['favourited'] = (bool) LikeService::liked($user->profile_id, $k);
+ return $status;
+ })
+ ->toArray();
+
return response()->json($res);
}
diff --git a/public/js/profile.js b/public/js/profile.js
index 18f9c2e78..285de7895 100644
Binary files a/public/js/profile.js and b/public/js/profile.js differ
diff --git a/public/js/status.js b/public/js/status.js
index a9754c59e..2f1cca126 100644
Binary files a/public/js/status.js and b/public/js/status.js differ
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index d8f6afeaa..4b26e6ae2 100644
Binary files a/public/mix-manifest.json and b/public/mix-manifest.json differ
diff --git a/resources/assets/js/components/PostComponent.vue b/resources/assets/js/components/PostComponent.vue
index 1526f047d..6e7a657ed 100644
--- a/resources/assets/js/components/PostComponent.vue
+++ b/resources/assets/js/components/PostComponent.vue
@@ -323,7 +323,7 @@
- {{ownerOrAdmin() ? (status.liked_by.total_count + 1) : 0}}
+ {{ownerOrAdmin == true ? (status.liked_by.total_count + 1) : 0}}
@@ -898,6 +898,10 @@ export default {
return;
}
+ if(u.has('ui') && u.get('ui') == 'moment' && this.layout != 'moment') {
+ this.layout = 'moment';
+ }
+
if(forceMetro == true || u.has('ui') && u.get('ui') == 'metro' && this.layout != 'metro') {
this.layout = 'metro';
}
diff --git a/resources/assets/js/components/Profile.vue b/resources/assets/js/components/Profile.vue
index d846dcaa3..c00e9676d 100644
--- a/resources/assets/js/components/Profile.vue
+++ b/resources/assets/js/components/Profile.vue
@@ -703,6 +703,11 @@
this.fetchProfile();
let u = new URLSearchParams(window.location.search);
let forceMetro = localStorage.getItem('pf_metro_ui.exp.forceMetro') == 'true';
+
+ if(u.has('ui') && u.get('ui') == 'moment' && this.layout != 'moment') {
+ this.layout = 'moment';
+ }
+
if(forceMetro == true || u.has('ui') && u.get('ui') == 'metro' && this.layout != 'metro') {
this.layout = 'metro';
}
@@ -739,10 +744,6 @@
}
});
}
- if(window.outerWidth < 576) {
- $('nav.navbar').hide();
- this.isMobile = true;
- }
},
updated() {
diff --git a/resources/lang/fa/helpcenter.php b/resources/lang/fa/helpcenter.php
index a5a9aebc0..e54d2bcf5 100644
--- a/resources/lang/fa/helpcenter.php
+++ b/resources/lang/fa/helpcenter.php
@@ -15,8 +15,8 @@ return [
'timelines' => 'خط زمانی',
'embed' => 'توکار',
- 'communityGuidelines' => 'دستورالعملهای انجمن',
- 'whatIsTheFediverse' => 'نامتمرکز یعنی چی؟',
+ 'communityGuidelines' => 'دستورالعملهای اجتماع',
+ 'whatIsTheFediverse' => 'فدیورس چیست؟',
'controllingVisibility' => 'کنترل نمایش',
'blockingAccounts' => 'حسابهای مسدودشده',
'safetyTips' => 'نکات امنیتی',
diff --git a/resources/lang/fa/navmenu.php b/resources/lang/fa/navmenu.php
index 1a59a3332..890d041f0 100644
--- a/resources/lang/fa/navmenu.php
+++ b/resources/lang/fa/navmenu.php
@@ -5,15 +5,15 @@ return [
'home' => 'خانه',
'local' => 'محلی',
'network' => 'شبکه',
- 'discover' => 'کشفکردن',
+ 'discover' => 'کشف کردن',
'viewMyProfile' => 'مشاهده نمایه من',
'myProfile' => 'نمایه من',
- 'myTimeline' => 'جدول زمانی من',
- 'publicTimeline' => 'جدول زمانی عمومی',
- 'remoteFollow' => 'از راه دور دنبال کنید',
+ 'myTimeline' => 'خطزمانی من',
+ 'publicTimeline' => 'خطزمانی عمومی',
+ 'remoteFollow' => 'پیگیری راه دور',
'settings' => 'تنظیمات',
'admin' => 'مدیر',
'logout' => 'خروج',
- 'directMessages' => 'پیام خصوصی',
- 'composePost' => 'نوشتن پست',
+ 'directMessages' => 'پیام مستقیم',
+ 'composePost' => 'ایجاد فرسته',
];
diff --git a/resources/lang/fa/notification.php b/resources/lang/fa/notification.php
index f3289b686..6769d53a6 100644
--- a/resources/lang/fa/notification.php
+++ b/resources/lang/fa/notification.php
@@ -2,11 +2,11 @@
return [
- 'likedPhoto' => 'پست شما را پسندید.',
+ 'likedPhoto' => 'فرستهٔ شما را پسندید.',
'likedComment' => 'دیدگاه شما را پسندید.',
'startedFollowingYou' => 'شما را دنبال میکند.',
- 'commented' => 'دیدگاهی روی پست شما نوشت.',
+ 'commented' => 'دیدگاهی روی فرستهٔ شما نوشت.',
'mentionedYou' => 'شما را صدا کرد.',
- 'shared' => 'پستی منتشر کرد.',
+ 'shared' => 'فرستهای منتشر کرد.',
];
diff --git a/resources/lang/fa/passwords.php b/resources/lang/fa/passwords.php
index b65644c5c..f58c26627 100644
--- a/resources/lang/fa/passwords.php
+++ b/resources/lang/fa/passwords.php
@@ -13,10 +13,10 @@ return [
|
*/
- 'password' => 'رمز عبور شما باید حداقل شامل ۶ کاراکتر باشد و همچنین با تکرار آن مطابق باشد.',
+ 'password' => 'رمز عبور شما باید حداقل شامل ۶ حرف بوده و همچنین با تکرار آن مطابق باشد.',
'reset' => 'رمز عبور شما بازنشانی شد!',
- 'sent' => 'اگر ایمیل شما در پایگاهداده ما موجود باشد، شما ایمیل شامل یک لینک بازنشانی رمز عبور در چند دقیقه آینده دریافت خواهید کرد. در صورتی که ایمیلی دریافت نکردید، لطفا صندوق هرزنامه خود را نیز بررسی کنید.',
- 'token' => 'این لینک نامعتبر است.',
- 'user' => 'اگر ایمیل شما در پایگاهداده ما موجود باشد، شما ایمیل شامل یک لینک بازنشانی رمز عبور در چند دقیقه آینده دریافت خواهید کرد. در صورتی که ایمیلی دریافت نکردید، لطفا صندوق هرزنامه خود را نیز بررسی کنید.',
+ 'sent' => 'اگر ایمیلتان در پایگاهداده ما موجود باشد، در چند دقیقه آینده ایمیلی حاوی یک پیوند بازنشانی رمز عبور دریافت خواهید کرد. در صورتی که ایمیلی دریافت نکردید، لطفا صندوق هرزنامه خود را نیز بررسی کنید.',
+ 'token' => 'این پیوند نامعتبر است.',
+ 'user' => 'اگر ایمیلتان در پایگاهداده ما موجود باشد، در چند دقیقه آینده ایمیلی حاوی یک پیوند بازنشانی رمز عبور دریافت خواهید کرد. در صورتی که ایمیلی دریافت نکردید، لطفا صندوق هرزنامه خود را نیز بررسی کنید.',
];
diff --git a/resources/lang/fa/profile.php b/resources/lang/fa/profile.php
index 171b219b2..129702916 100644
--- a/resources/lang/fa/profile.php
+++ b/resources/lang/fa/profile.php
@@ -1,10 +1,10 @@
'این کاربر هنوز پستی ارسال نکرده!',
+ 'emptyTimeline' => 'این کاربر هنوز چیزی منتشر نکرده است!',
'emptyFollowers' => 'این کاربر هنوز دنبالکنندهای ندارد!',
'emptyFollowing' => 'این کاربر هنوز کسی را دنبال نمیکند!',
- 'emptySaved' => 'شما هنوز هیچ پستی ذخیره نکردهاید!',
+ 'emptySaved' => 'شما هنوز هیچ فرستهای را ذخیره نکردهاید!',
'savedWarning' => 'فقط شما میتوانید آنچه که ذخیره کردهاید را ببینید.',
'privateProfileWarning' => 'این حساب خصوصی است.',
'alreadyFollow' => 'الان :username را دنبال میکنید؟',
diff --git a/resources/lang/fa/site.php b/resources/lang/fa/site.php
index 9b5e54750..44cce7bc2 100644
--- a/resources/lang/fa/site.php
+++ b/resources/lang/fa/site.php
@@ -5,8 +5,8 @@ return [
'about' => 'درباره',
'help' => 'راهنما',
'language' => 'زبانها',
- 'fediverse' => 'نامتمرکز',
- 'opensource' => 'متن باز',
+ 'fediverse' => 'فدیورس',
+ 'opensource' => 'آزاد/متنباز',
'terms' => 'قوانین',
'privacy' => 'حریم خصوصی',
'l10nWip' => 'ما هنوز روی محلیسازی کار میکنیم.',
diff --git a/resources/lang/fa/timeline.php b/resources/lang/fa/timeline.php
index 86289e3b6..03ac29640 100644
--- a/resources/lang/fa/timeline.php
+++ b/resources/lang/fa/timeline.php
@@ -2,6 +2,6 @@
return [
- 'emptyPersonalTimeline' => 'جدول زمانی شما خالی است.',
+ 'emptyPersonalTimeline' => 'خطزمانی شما خالی است.',
];
diff --git a/resources/lang/fa/validation.php b/resources/lang/fa/validation.php
index 3776a77a5..62768d4a0 100644
--- a/resources/lang/fa/validation.php
+++ b/resources/lang/fa/validation.php
@@ -14,7 +14,7 @@ return [
*/
'accepted' => ':attribute باید پذیرفته شده باشد.',
- 'active_url' => 'آدرس :attribute معتبر نیست',
+ 'active_url' => 'نشانی :attribute معتبر نیست',
'after' => ':attribute باید تاریخی بعد از :date باشد.',
'after_or_equal' => ':attribute باید تاریخی بعد از :date، یا مطابق با آن باشد.',
'alpha' => ':attribute باید فقط حروف الفبا باشد.',
@@ -26,8 +26,8 @@ return [
'between' => [
'numeric' => ':attribute باید بین :min و :max باشد.',
'file' => ':attribute باید بین :min و :max کیلوبایت باشد.',
- 'string' => ':attribute باید بین :min و :max کاراکتر باشد.',
- 'array' => ':attribute باید بین :min و :max آیتم باشد.',
+ 'string' => ':attribute باید بین :min و :max حرف باشد.',
+ 'array' => ':attribute باید بین :min و :max مورد باشد.',
],
'boolean' => 'فیلد :attribute فقط میتواند صحیح و یا غلط باشد',
'confirmed' => ':attribute با فیلد تکرار مطابقت ندارد.',
@@ -38,39 +38,39 @@ return [
'digits_between' => ':attribute باید بین :min و :max رقم باشد.',
'dimensions' => 'ابعاد تصویر :attribute قابل قبول نیست.',
'distinct' => 'فیلد :attribute تکراری است.',
- 'email' => ':attribute باید یک ایمیل معتبر باشد',
- 'exists' => ':attribute انتخاب شده، معتبر نیست.',
- 'file' => ':attribute باید یک فایل باشد',
+ 'email' => ':attribute باید ایمیلی معتبر باشد',
+ 'exists' => ':attribute انتخاب شده معتبر نیست.',
+ 'file' => ':attribute باید یک پرونده باشد',
'filled' => 'فیلد :attribute الزامی است',
'image' => ':attribute باید تصویر باشد.',
- 'in' => ':attribute انتخاب شده، معتبر نیست.',
+ 'in' => ':attribute انتخاب شده معتبر نیست.',
'in_array' => 'فیلد :attribute در :other وجود ندارد.',
- 'integer' => ':attribute باید عدد صحیح باشد.',
+ 'integer' => ':attribute باید عددی صحیح باشد.',
'ip' => ':attribute باید IP معتبر باشد.',
- 'ipv4' => ':attribute باید یک آدرس معتبر از نوع IPv4 باشد.',
- 'ipv6' => ':attribute باید یک آدرس معتبر از نوع IPv6 باشد.',
+ 'ipv4' => ':attribute باید یک نشانی معتبر از نوع IPv4 باشد.',
+ 'ipv6' => ':attribute باید یک نشانی معتبر از نوع IPv6 باشد.',
'json' => 'فیلد :attribute باید یک رشته از نوع JSON باشد.',
'max' => [
'numeric' => ':attribute نباید بزرگتر از :max باشد.',
'file' => ':attribute نباید بزرگتر از :max کیلوبایت باشد.',
- 'string' => ':attribute نباید بیشتر از :max کاراکتر باشد.',
- 'array' => ':attribute نباید بیشتر از :max آیتم باشد.',
+ 'string' => ':attribute نباید بیشتر از :max حرف باشد.',
+ 'array' => ':attribute نباید بیشتر از :max مورد باشد.',
],
- 'mimes' => ':attribute باید یکی از فرمت های :values باشد.',
- 'mimetypes' => ':attribute باید یکی از فرمت های :values باشد.',
+ 'mimes' => ':attribute باید یکی از قالبهای :values باشد.',
+ 'mimetypes' => ':attribute باید یکی از قالبهای :values باشد.',
'min' => [
'numeric' => ':attribute نباید کوچکتر از :min باشد.',
'file' => ':attribute نباید کوچکتر از :min کیلوبایت باشد.',
- 'string' => ':attribute نباید کمتر از :min کاراکتر باشد.',
- 'array' => ':attribute نباید کمتر از :min آیتم باشد.',
+ 'string' => ':attribute نباید کمتر از :min حرف باشد.',
+ 'array' => ':attribute نباید کمتر از :min مورد باشد.',
],
- 'not_in' => ':attribute انتخاب شده، معتبر نیست.',
+ 'not_in' => ':attribute انتخاب شده معتبر نیست.',
'not_regex' => ':attribute نامعتبر است.',
'numeric' => ':attribute باید عدد باشد.',
'present' => 'فیلد :attribute باید در پارامترهای ارسالی وجود داشته باشد.',
- 'regex' => 'فرمت :attribute معتبر نیست',
+ 'regex' => 'قالب :attribute معتبر نیست',
'required' => 'فیلد :attribute الزامی است',
- 'required_if' => 'هنگامی که :other برابر با :value است، فیلد :attribute الزامی است.',
+ 'required_if' => 'هنگامی که :other برابر با :value باشد، فیلد :attribute الزامی است.',
'required_unless' => 'فیلد :attribute ضروری است، مگر آنکه :other در :values موجود باشد.',
'required_with' => 'در صورت وجود فیلد :values، فیلد :attribute الزامی است.',
'required_with_all' => 'در صورت وجود فیلدهای :values، فیلد :attribute الزامی است.',
@@ -80,14 +80,14 @@ return [
'size' => [
'numeric' => ':attribute باید برابر با :size باشد.',
'file' => ':attribute باید برابر با :size کیلوبایت باشد.',
- 'string' => ':attribute باید برابر با :size کاراکتر باشد.',
- 'array' => ':attribute باسد شامل :size آیتم باشد.',
+ 'string' => ':attribute باید برابر با :size حرف باشد.',
+ 'array' => ':attribute باید شامل :size مورد باشد.',
],
'string' => 'فیلد :attribute باید متن باشد.',
'timezone' => 'فیلد :attribute باید یک منطقه زمانی قابل قبول باشد.',
'unique' => ':attribute قبلا انتخاب شده است.',
- 'uploaded' => 'آپلود فایل :attribute موفقیت آمیز نبود.',
- 'url' => 'فرمت آدرس :attribute اشتباه است.',
+ 'uploaded' => 'بارگذاری پرونده :attribute موفقیت آمیز نبود.',
+ 'url' => 'قالب نشانی :attribute اشتباه است.',
/*
|--------------------------------------------------------------------------
@@ -131,7 +131,7 @@ return [
'phone' => 'تلفن',
'mobile' => 'تلفن همراه',
'age' => 'سن',
- 'sex' => 'جنسیت',
+ 'sex' => 'جنس',
'gender' => 'جنسیت',
'day' => 'روز',
'month' => 'ماه',
diff --git a/resources/views/profile/partial/private-info.blade.php b/resources/views/profile/partial/private-info.blade.php
index 7965955f8..ae0862d18 100644
--- a/resources/views/profile/partial/private-info.blade.php
+++ b/resources/views/profile/partial/private-info.blade.php
@@ -1,107 +1,97 @@
-
-
-
-
-
-
-
-
-
-
- {{$user->username}}
- @if(Auth::check() && $is_following == true)
-
-
-
- @elseif(Auth::check() && $requested == true)
-
-
-
- @elseif(Auth::check() && $is_following == false)
-
-
-
- @endif
-
-
-
-
-
-
-
- {{$user->statuses()->whereNull('reblog_of_id')->whereNull('in_reply_to_id')->count()}}
- Posts
-
-
-
- {{$user->name}}
- @if($user->remote_url)
- REMOTE PROFILE
- @endif
-
-
{{$user->bio}}
-
{{str_limit($user->website, 30)}}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{$user->username}}
+ @if(Auth::check() && $is_following == true)
+
+
+
+ @elseif(Auth::check() && $requested == true)
+
+
+
+ @elseif(Auth::check() && $is_following == false)
+
+
+
+ @endif
+ @auth
+
+
+
+
+ @endauth
+
+
+
+
+
@push('scripts')
+@auth
-@endpush
\ No newline at end of file
+@endauth
+@endpush
diff --git a/resources/views/profile/private.blade.php b/resources/views/profile/private.blade.php
index 891f535af..a738c6603 100644
--- a/resources/views/profile/private.blade.php
+++ b/resources/views/profile/private.blade.php
@@ -2,28 +2,28 @@
@section('content')
@if (session('error'))
-
- {{ session('error') }}
-
+
+ {{ session('error') }}
+
@endif
@include('profile.partial.private-info')
-
-
-
-
- {{__('profile.privateProfileWarning')}}
-
+
+
+
+
+ {{__('profile.privateProfileWarning')}}
+
- @if(!Auth::check())
-
{{ __('profile.alreadyFollow', ['username'=>$user->username])}}
-
{{__('Log in')}}
-
{{__('profile.loginToSeeProfile')}}
- @endif
-
-
-
+ @if(!Auth::check())
+
{{ __('profile.alreadyFollow', ['username'=>$user->username])}}
+
{{__('Log in')}}
+
{{__('profile.loginToSeeProfile')}}
+ @endif
+
+
+
@endsection
@@ -34,4 +34,4 @@
@if($user->remote_url)
@endif
-@endpush
\ No newline at end of file
+@endpush
diff --git a/resources/views/status/embed.blade.php b/resources/views/status/embed.blade.php
index 265189b86..c5369a1ae 100644
--- a/resources/views/status/embed.blade.php
+++ b/resources/views/status/embed.blade.php
@@ -1,177 +1,172 @@
-
-
-
-
-
+
+
+
+
+
-
{{ $title ?? config('app.name', 'Pixelfed') }}
+
{{ $title ?? config('app.name', 'Pixelfed') }}
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
- @php($item = $status)
-
-
-
-
-
-
-
+
+ @php($item = $status)
+
+
+
+
+
+
+
diff --git a/resources/views/status/show.blade.php b/resources/views/status/show.blade.php
index 11362b81f..22b0590e0 100644
--- a/resources/views/status/show.blade.php
+++ b/resources/views/status/show.blade.php
@@ -25,11 +25,5 @@
@push('scripts')
-
+
@endpush
diff --git a/routes/api.php b/routes/api.php
index 97e913e09..9251f32e3 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -72,7 +72,7 @@ Route::group(['prefix' => 'api'], function() use($middleware) {
Route::get('timelines/home', 'Api\ApiV1Controller@timelineHome')->middleware($middleware);
- Route::get('timelines/public', 'Api\ApiV1Controller@timelinePublic');
+ Route::get('timelines/public', 'Api\ApiV1Controller@timelinePublic')->middleware($middleware);
Route::get('timelines/tag/{hashtag}', 'Api\ApiV1Controller@timelineHashtag');
});
Route::group(['prefix' => 'stories'], function () use($middleware) {