feat: ship creator journey v2 and profile updates
This commit is contained in:
@@ -6,6 +6,7 @@ namespace App\Http\Controllers\Web;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Artwork;
|
||||
use App\Services\Maturity\ArtworkMaturityService;
|
||||
use App\Services\Recommendations\HybridSimilarArtworksService;
|
||||
use App\Services\ThumbnailPresenter;
|
||||
use App\Services\Vision\VectorService;
|
||||
@@ -35,6 +36,7 @@ final class SimilarArtworksPageController extends Controller
|
||||
|
||||
public function __construct(
|
||||
private readonly VectorService $vectors,
|
||||
private readonly ArtworkMaturityService $maturity,
|
||||
private readonly HybridSimilarArtworksService $hybridService,
|
||||
) {}
|
||||
|
||||
@@ -70,6 +72,7 @@ final class SimilarArtworksPageController extends Controller
|
||||
'thumb_srcset' => $sourceMd['srcset'] ?? $sourceMd['url'] ?? null,
|
||||
'author_name' => $source->user?->name ?? 'Artist',
|
||||
'author_username' => $source->user?->username ?? '',
|
||||
'author_profile_url'=> $source->user?->username ? '/@' . $source->user->username : null,
|
||||
'author_avatar' => AvatarUrl::forUser(
|
||||
(int) ($source->user_id ?? 0),
|
||||
$source->user?->profile?->avatar_hash ?? null,
|
||||
@@ -79,6 +82,7 @@ final class SimilarArtworksPageController extends Controller
|
||||
'category_slug' => $primaryCat?->slug ?? '',
|
||||
'content_type_name' => $primaryCat?->contentType?->name ?? '',
|
||||
'content_type_slug' => $primaryCat?->contentType?->slug ?? '',
|
||||
'browse_url' => $primaryCat?->contentType?->slug ? url('/' . $primaryCat->contentType->slug) : url('/explore'),
|
||||
'tag_slugs' => $source->tags->pluck('slug')->take(5)->all(),
|
||||
'width' => $source->width ?? null,
|
||||
'height' => $source->height ?? null,
|
||||
@@ -144,8 +148,11 @@ final class SimilarArtworksPageController extends Controller
|
||||
'slug' => $art->slug ?? '',
|
||||
'width' => $art->width ?? null,
|
||||
'height' => $art->height ?? null,
|
||||
'maturity' => $art->maturity ?? null,
|
||||
])->values();
|
||||
|
||||
$galleryItems = collect($this->maturity->filterPayloadItems($galleryItems->all(), $request->user()))->values();
|
||||
|
||||
return response()->json([
|
||||
'data' => $galleryItems,
|
||||
'similarity_source' => $similaritySource,
|
||||
@@ -303,7 +310,7 @@ final class SimilarArtworksPageController extends Controller
|
||||
$username = $isGroupPublisher ? '' : ($artwork->user?->username ?? '');
|
||||
$profileUrl = $isGroupPublisher ? $group->publicUrl() : ($username !== '' ? '/@' . $username : null);
|
||||
|
||||
return (object) [
|
||||
return (object) $this->maturity->decoratePayload([
|
||||
'id' => $artwork->id,
|
||||
'name' => $artwork->title,
|
||||
'content_type_name' => $primary?->contentType?->name ?? '',
|
||||
@@ -328,6 +335,6 @@ final class SimilarArtworksPageController extends Controller
|
||||
'slug' => $artwork->slug ?? '',
|
||||
'width' => $artwork->width ?? null,
|
||||
'height' => $artwork->height ?? null,
|
||||
];
|
||||
], $artwork, request()->user());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user