spotters: brands, makers and operators with a logo first, activity order kept inside each group
All checks were successful
Deploy production / deploy (push) Successful in 1m6s
All checks were successful
Deploy production / deploy (push) Successful in 1m6s
This commit is contained in:
@@ -3,6 +3,7 @@ import {
|
||||
areasWithData,
|
||||
groupActivity,
|
||||
progress,
|
||||
logoFirst,
|
||||
rankByActivity,
|
||||
seenByGroup
|
||||
} from '#lib/server/spotting.js';
|
||||
@@ -26,7 +27,7 @@ export const load: PageServerLoad = async ({ url }) => {
|
||||
collected,
|
||||
areas,
|
||||
brands: overview.brands.map(({ slug, name, models }) => ({ slug, name, models })),
|
||||
topBrands: rankByActivity(overview.byNl, act)
|
||||
topBrands: logoFirst(rankByActivity(overview.byNl, act))
|
||||
.slice(0, 16)
|
||||
.map(({ id, slug, name, models, nlCount, logo }) => ({
|
||||
slug,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { carOverview } from '#lib/server/cars.js';
|
||||
import { seenByGroup } from '#lib/server/spotting.js';
|
||||
import { logoFirst, seenByGroup } from '#lib/server/spotting.js';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
const [{ byNl, stats }, seen] = await Promise.all([carOverview(), seenByGroup('cars')]);
|
||||
return {
|
||||
brands: byNl.map(({ id, slug, name, models, nlCount, logo }) => ({
|
||||
brands: logoFirst(byNl).map(({ id, slug, name, models, nlCount, logo }) => ({
|
||||
seen: seen.get(id) ?? 0,
|
||||
slug,
|
||||
name,
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
areasWithData,
|
||||
groupActivity,
|
||||
progress,
|
||||
logoFirst,
|
||||
rankByActivity,
|
||||
seenByGroup
|
||||
} from '#lib/server/spotting.js';
|
||||
@@ -26,7 +27,7 @@ export const load: PageServerLoad = async ({ url }) => {
|
||||
collected,
|
||||
areas,
|
||||
makers: overview.makers.map(({ slug, name, types }) => ({ slug, name, types })),
|
||||
topMakers: rankByActivity(overview.byBuilt, act)
|
||||
topMakers: logoFirst(rankByActivity(overview.byBuilt, act))
|
||||
.slice(0, 16)
|
||||
.map(({ id, slug, name, types, built, logo }) => ({
|
||||
slug,
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { planeOverview } from '#lib/server/planes.js';
|
||||
import { seenByGroup } from '#lib/server/spotting.js';
|
||||
import { logoFirst, seenByGroup } from '#lib/server/spotting.js';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
const [{ byBuilt, stats }, seen] = await Promise.all([planeOverview(), seenByGroup('planes')]);
|
||||
return {
|
||||
makers: byBuilt.map(({ id, slug, name, types, built, logo }) => ({
|
||||
makers: logoFirst(byBuilt).map(({ id, slug, name, types, built, logo }) => ({
|
||||
seen: seen.get(id) ?? 0,
|
||||
slug,
|
||||
name,
|
||||
|
||||
@@ -3,6 +3,7 @@ import {
|
||||
areasWithData,
|
||||
groupActivity,
|
||||
progress,
|
||||
logoFirst,
|
||||
rankByActivity,
|
||||
seenByGroup
|
||||
} from '#lib/server/spotting.js';
|
||||
@@ -46,7 +47,7 @@ export const load: PageServerLoad = async ({ url }) => {
|
||||
countries: overview.countries
|
||||
.filter((c) => c.types >= 3 || c.name === filters.country)
|
||||
.map(({ name, types }) => ({ name, types })),
|
||||
topMakers: rankByActivity(overview.byBuilt, act)
|
||||
topMakers: logoFirst(rankByActivity(overview.byBuilt, act))
|
||||
.slice(0, 16)
|
||||
.map(({ id, slug, name, types, built, logo }) => ({
|
||||
slug,
|
||||
@@ -57,11 +58,12 @@ export const load: PageServerLoad = async ({ url }) => {
|
||||
seen: seenMakers.get(id) ?? 0
|
||||
})),
|
||||
// Operators from the chosen area first (the world region keeps the plain fleet-size order).
|
||||
topOperators: (filters.area === 'world'
|
||||
? overview.operators
|
||||
: [...overview.operators].sort(
|
||||
(a, b) => Number(home.has(b.country ?? '')) - Number(home.has(a.country ?? ''))
|
||||
)
|
||||
topOperators: logoFirst(
|
||||
filters.area === 'world'
|
||||
? overview.operators
|
||||
: [...overview.operators].sort(
|
||||
(a, b) => Number(home.has(b.country ?? '')) - Number(home.has(a.country ?? ''))
|
||||
)
|
||||
)
|
||||
.slice(0, 16)
|
||||
.map(({ slug, name, types, logo }) => ({
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import { trainOverview } from '#lib/server/trains.js';
|
||||
import { seenByGroup } from '#lib/server/spotting.js';
|
||||
import { logoFirst, seenByGroup } from '#lib/server/spotting.js';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
const [{ byBuilt, stats }, seen] = await Promise.all([trainOverview(), seenByGroup('trains')]);
|
||||
return {
|
||||
makers: byBuilt.map(({ id, slug, name, types, built, logo }) => ({
|
||||
makers: logoFirst(byBuilt).map(({ id, slug, name, types, built, logo }) => ({
|
||||
seen: seen.get(id) ?? 0,
|
||||
slug,
|
||||
name,
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import { trainOverview } from '#lib/server/trains.js';
|
||||
import { logoFirst } from '#lib/server/spotting.js';
|
||||
import type { PageServerLoad } from './$types';
|
||||
|
||||
export const load: PageServerLoad = async () => {
|
||||
const { operators, stats } = await trainOverview();
|
||||
return {
|
||||
makers: operators.map(({ slug, name, types, logo }) => ({
|
||||
makers: logoFirst(operators).map(({ slug, name, types, logo }) => ({
|
||||
slug,
|
||||
name,
|
||||
types,
|
||||
|
||||
Reference in New Issue
Block a user