Homepage: add stable intro copy; mark footer utility links data-nosnippet; add render test
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
<span class="sr-only">Skinbase</span>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap gap-x-6 gap-y-2 text-sm text-neutral-400">
|
||||
<div class="flex flex-wrap gap-x-6 gap-y-2 text-sm text-neutral-400" data-nosnippet>
|
||||
<a class="hover:text-white" href="/contact">Contact / Apply</a>
|
||||
<a class="hover:text-white" href="/help">Help</a>
|
||||
<a class="hover:text-white" href="/rss-feeds">RSS Feeds</a>
|
||||
@@ -22,6 +22,6 @@
|
||||
>Cookie Preferences</button>
|
||||
</div>
|
||||
|
||||
<div class="text-xs text-neutral-400">© 2026 Skinbase.org</div>
|
||||
<div class="text-xs text-neutral-400" data-nosnippet>© 2026 Skinbase.org</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
@@ -8,11 +8,14 @@
|
||||
<section class="relative flex min-h-[62vh] max-h-[420px] w-full items-end overflow-hidden bg-nova-900 md:min-h-[38vh] md:max-h-[460px]">
|
||||
<div class="pointer-events-none absolute inset-0 bg-gradient-to-t from-nova-900 via-nova-900/60 to-transparent"></div>
|
||||
<div class="relative z-10 w-full px-6 pb-7 sm:px-10 lg:px-16">
|
||||
<p class="mb-1.5 text-xs font-semibold uppercase tracking-widest text-accent">
|
||||
Skinbase
|
||||
</p>
|
||||
<h1 class="text-2xl font-bold tracking-tight text-white sm:text-4xl">
|
||||
Skinbase
|
||||
</h1>
|
||||
<p class="mt-2 max-w-xl text-sm text-soft">
|
||||
Discover. Create. Inspire.
|
||||
<p class="mt-2 max-w-2xl text-sm text-soft sm:text-base">
|
||||
Discover digital art, wallpapers, skins, and photography from a global creator community. Explore trending work, fresh uploads, and long-time classics in one place.
|
||||
</p>
|
||||
<div class="mt-4 flex flex-wrap gap-3">
|
||||
<a href="/discover/trending" class="btn-accent-solid rounded-xl px-5 py-2 text-sm font-semibold">Explore Trending</a>
|
||||
@@ -39,15 +42,18 @@
|
||||
|
||||
<div class="relative z-10 w-full px-6 pb-7 sm:px-10 lg:px-16">
|
||||
<p class="mb-1.5 text-xs font-semibold uppercase tracking-widest text-accent">
|
||||
Featured Artwork
|
||||
Skinbase
|
||||
</p>
|
||||
<h1 class="text-2xl font-bold tracking-tight text-white drop-shadow sm:text-4xl lg:text-5xl">
|
||||
{{ $heroArtwork['title'] ?? 'Untitled' }}
|
||||
Digital Art & Wallpapers
|
||||
</h1>
|
||||
<p class="mt-1.5 text-sm text-soft">
|
||||
by
|
||||
<p class="mt-2 max-w-2xl text-sm text-soft sm:text-base">
|
||||
Discover digital art, wallpapers, skins, and photography from a global creator community. Browse trending work, fresh uploads, and timeless favorites.
|
||||
</p>
|
||||
<p class="mt-3 text-sm text-soft">
|
||||
Featured artwork:
|
||||
<a href="{{ $heroArtwork['url'] ?? '#' }}" class="text-nova-200 transition hover:text-white">
|
||||
{{ $heroArtwork['author'] ?? 'Artist' }}
|
||||
{{ $heroArtwork['title'] ?? 'Untitled' }} by {{ $heroArtwork['author'] ?? 'Artist' }}
|
||||
</a>
|
||||
</p>
|
||||
<div class="mt-4 flex flex-wrap gap-3">
|
||||
|
||||
@@ -228,6 +228,40 @@ it('homepage payload includes the announcement prop', function (): void {
|
||||
expect($html)->toContain('"announcement":{"id":42');
|
||||
});
|
||||
|
||||
it('homepage renders stable intro copy and excludes footer utility text from snippets', function (): void {
|
||||
$html = view('web.home', [
|
||||
'seo' => [],
|
||||
'useUnifiedSeo' => true,
|
||||
'meta' => [],
|
||||
'props' => [
|
||||
'hero' => [
|
||||
'title' => 'Featured Example',
|
||||
'author' => 'CreatorName',
|
||||
'url' => '/art/1/featured-example',
|
||||
],
|
||||
'announcement' => null,
|
||||
'community_favorites' => [],
|
||||
'hall_of_fame' => [],
|
||||
'rising' => [],
|
||||
'trending' => [],
|
||||
'fresh' => [],
|
||||
'collections_featured' => [],
|
||||
'collections_trending' => [],
|
||||
'collections_editorial' => [],
|
||||
'collections_community' => [],
|
||||
'world_spotlight' => null,
|
||||
'groups' => [],
|
||||
'tags' => [],
|
||||
'creators' => [],
|
||||
'news' => [],
|
||||
],
|
||||
])->render();
|
||||
|
||||
expect($html)
|
||||
->toContain('Discover digital art, wallpapers, skins, and photography from a global creator community.')
|
||||
->toContain('data-nosnippet');
|
||||
});
|
||||
|
||||
it('preview sanitizes html content', function (): void {
|
||||
$admin = adminUser();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user