spotters: fix random 404 on client navigation (random is a page load, not an endpoint shadowed by [slug]); square logo tiles everywhere
Deploy production / deploy (push) Has been cancelled
Deploy production / deploy (push) Has been cancelled
This commit is contained in:
1 parent
45943543c2
commit
cc34f5751b
19 files changed
+69
-138
No files matched your search
@@ -45,20 +45,7 @@
|
||||
</figure>
|
||||
{/if}
|
||||
<header class="mt-6 mb-8 flex items-center gap-5">
|
||||
{#if b.logo}
|
||||
<img
|
||||
class="logo"
|
||||
src={b.logo}
|
||||
alt="{b.name} logo"
|
||||
title="Logo: {b.logoAuthor ?? 'Wikimedia Commons'}{b.logoLicense
|
||||
? ` (${b.logoLicense})`
|
||||
: ''}"
|
||||
width="72"
|
||||
height="72"
|
||||
/>
|
||||
{:else}
|
||||
<BrandBadge name={b.name} size="lg" />
|
||||
{/if}
|
||||
<BrandBadge name={b.name} logo={b.logo} size="lg" />
|
||||
<div>
|
||||
<h1 class="text-4xl font-semibold tracking-tight sm:text-5xl">{b.name}</h1>
|
||||
<p class="mt-2 text-[var(--site-muted)]">
|
||||
@@ -130,15 +117,6 @@
|
||||
.hero figcaption a {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.logo {
|
||||
width: 4.5rem;
|
||||
height: 4.5rem;
|
||||
object-fit: contain;
|
||||
padding: 0.5rem;
|
||||
border-radius: 1rem;
|
||||
background: #fff;
|
||||
border: 1px solid var(--site-border);
|
||||
}
|
||||
.grid {
|
||||
display: grid;
|
||||
gap: 0.75rem;
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import { randomCar } from '#lib/server/cars.js';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
// A page load (not a +server.ts endpoint): the client router only knows page routes, so an
|
||||
// endpoint here made client-side navigation fall through to the [brand] page and 404.
|
||||
export const load: PageServerLoad = async ({ setHeaders }) => {
|
||||
const car = await randomCar();
|
||||
setHeaders({ 'cache-control': 'no-store' });
|
||||
redirect(303, car ? `/trackers/cars/${car.brandSlug}/${car.slug}` : '/trackers/cars');
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
<!-- Never rendered: the load always redirects to a random entry. -->
|
||||
@@ -1,9 +0,0 @@
|
||||
import { redirect } from '@sveltejs/kit';
|
||||
import { randomCar } from '#lib/server/cars.js';
|
||||
import type { RequestHandler } from './$types';
|
||||
|
||||
export const GET: RequestHandler = async ({ setHeaders }) => {
|
||||
const car = await randomCar();
|
||||
setHeaders({ 'cache-control': 'no-store' });
|
||||
redirect(303, car ? `/trackers/cars/${car.brandSlug}/${car.slug}` : '/trackers/cars');
|
||||
};
|
||||
Reference in new issue
Block a user