diff --git a/app/Http/Controllers/InternalApiController.php b/app/Http/Controllers/InternalApiController.php index 541988bf5..d18eb11b2 100644 --- a/app/Http/Controllers/InternalApiController.php +++ b/app/Http/Controllers/InternalApiController.php @@ -343,27 +343,6 @@ class InternalApiController extends Controller return response()->json($res); } - public function remoteProfile(Request $request, $id) - { - $profile = Profile::whereNull('status') - ->whereNotNull('domain') - ->findOrFail($id); - - $settings = [ - 'crawlable' => false, - 'following' => [ - 'count' => true, - 'list' => false - ], - 'followers' => [ - 'count' => true, - 'list' => false - ] - ]; - - return view('profile.show', compact('profile', 'settings')); - } - public function accountStatuses(Request $request, $id) { $this->validate($request, [ @@ -440,6 +419,15 @@ class InternalApiController extends Controller return response()->json($res); } + public function remoteProfile(Request $request, $id) + { + $profile = Profile::whereNull('status') + ->findOrFail($id); + $user = Auth::user(); + + return view('profile.remote', compact('profile', 'user')); + } + public function remoteStatus(Request $request, $profileId, $statusId) { $user = Profile::whereNull('status') @@ -450,7 +438,7 @@ class InternalApiController extends Controller ->whereNull('reblog_of_id') ->whereVisibility('public') ->findOrFail($statusId); - $template = $status->in_reply_to_id ? 'status.reply' : 'status.show'; + $template = $status->in_reply_to_id ? 'status.reply' : 'status.remote'; return view($template, compact('user', 'status')); } } diff --git a/resources/assets/js/components/RemotePost.vue b/resources/assets/js/components/RemotePost.vue new file mode 100644 index 000000000..4e039afa7 --- /dev/null +++ b/resources/assets/js/components/RemotePost.vue @@ -0,0 +1,1018 @@ + + + + + \ No newline at end of file diff --git a/resources/assets/js/components/RemoteProfile.vue b/resources/assets/js/components/RemoteProfile.vue new file mode 100644 index 000000000..8bca17c0d --- /dev/null +++ b/resources/assets/js/components/RemoteProfile.vue @@ -0,0 +1,375 @@ + + + + + \ No newline at end of file diff --git a/resources/assets/js/rempos.js b/resources/assets/js/rempos.js new file mode 100644 index 000000000..41bf90d0b --- /dev/null +++ b/resources/assets/js/rempos.js @@ -0,0 +1,34 @@ +Vue.component( + 'photo-presenter', + require('./components/presenter/PhotoPresenter.vue').default +); + +Vue.component( + 'video-presenter', + require('./components/presenter/VideoPresenter.vue').default +); + +Vue.component( + 'photo-album-presenter', + require('./components/presenter/PhotoAlbumPresenter.vue').default +); + +Vue.component( + 'video-album-presenter', + require('./components/presenter/VideoAlbumPresenter.vue').default +); + +Vue.component( + 'mixed-album-presenter', + require('./components/presenter/MixedAlbumPresenter.vue').default +); + +Vue.component( + 'post-menu', + require('./components/PostMenu.vue').default +); + +Vue.component( + 'remote-post', + require('./components/RemotePost.vue').default +); \ No newline at end of file diff --git a/resources/assets/js/rempro.js b/resources/assets/js/rempro.js new file mode 100644 index 000000000..766b52ec3 --- /dev/null +++ b/resources/assets/js/rempro.js @@ -0,0 +1,4 @@ +Vue.component( + 'remote-profile', + require('./components/RemoteProfile.vue').default +); \ No newline at end of file diff --git a/resources/views/profile/remote.blade.php b/resources/views/profile/remote.blade.php new file mode 100644 index 000000000..106286b3e --- /dev/null +++ b/resources/views/profile/remote.blade.php @@ -0,0 +1,16 @@ +@extends('layouts.app') + +@section('content') + +@endsection + +@push('meta') + +@endpush + +@push('scripts') + + +@endpush diff --git a/resources/views/status/remote.blade.php b/resources/views/status/remote.blade.php new file mode 100644 index 000000000..f36a2f4be --- /dev/null +++ b/resources/views/status/remote.blade.php @@ -0,0 +1,17 @@ +@extends('layouts.app') + +@section('content') +
+ + + +@endsection + +@push('meta') + +@endpush + +@push('scripts') + + +@endpush diff --git a/routes/web.php b/routes/web.php index b1d9f11aa..487a38d7c 100644 --- a/routes/web.php +++ b/routes/web.php @@ -263,6 +263,8 @@ Route::domain(config('pixelfed.domain.app'))->middleware(['validemail', 'twofact Route::post('stories/viewed', 'StoryController@apiV1Viewed'); Route::get('stories/new', 'StoryController@compose'); Route::get('my/story', 'StoryController@iRedirect'); + Route::get('web/profile/_/{id}', 'InternalApiController@remoteProfile'); + Route::get('web/post/_/{profileId}/{statusid}', 'InternalApiController@remoteStatus'); }); Route::group(['prefix' => 'account'], function () { diff --git a/webpack.mix.js b/webpack.mix.js index c519076c5..315527f8c 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -38,6 +38,9 @@ mix.js('resources/assets/js/app.js', 'public/js') // .js('resources/assets/js/direct.js', 'public/js') // .js('resources/assets/js/admin.js', 'public/js') // .js('resources/assets/js/micro.js', 'public/js') +.js('resources/assets/js/rempro.js', 'public/js') +.js('resources/assets/js/rempos.js', 'public/js') +//.js('resources/assets/js/timeline_next.js', 'public/js') .extract([ 'lodash',