udpate the ordering of the cards to be oldest first by set
This commit is contained in:
@@ -4923,5 +4923,5 @@
|
|||||||
"count": 44,
|
"count": 44,
|
||||||
"totalCount": 44,
|
"totalCount": 44,
|
||||||
"cached": false,
|
"cached": false,
|
||||||
"updatedAt": "2025-08-17T12:00:51.895Z"
|
"updatedAt": "2025-08-17T12:09:13.846Z"
|
||||||
}
|
}
|
||||||
@@ -1,20 +1 @@
|
|||||||
{
|
{}
|
||||||
"det1-8": {
|
|
||||||
"base": true,
|
|
||||||
"holofoil": true
|
|
||||||
},
|
|
||||||
"xy7-19": {
|
|
||||||
"base": true,
|
|
||||||
"reverseHolofoil": true
|
|
||||||
},
|
|
||||||
"sm115-15": {
|
|
||||||
"base": true,
|
|
||||||
"reverseHolofoil": true
|
|
||||||
},
|
|
||||||
"sm75-19": {
|
|
||||||
"base": true
|
|
||||||
},
|
|
||||||
"mcd16-4": {
|
|
||||||
"base": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -36,7 +36,24 @@ export default function Page() {
|
|||||||
const res = await fetch('/api/magikarp?pageSize=250');
|
const res = await fetch('/api/magikarp?pageSize=250');
|
||||||
if (!res.ok) throw new Error('Failed to fetch');
|
if (!res.ok) throw new Error('Failed to fetch');
|
||||||
const json = await res.json();
|
const json = await res.json();
|
||||||
setCards(json.data || []);
|
const list: TcgCard[] = json.data || [];
|
||||||
|
list.sort((a, b) => {
|
||||||
|
const da = Date.parse(a.set.releaseDate || '');
|
||||||
|
const db = Date.parse(b.set.releaseDate || '');
|
||||||
|
if (Number.isFinite(da) && Number.isFinite(db)) {
|
||||||
|
if (da !== db) return da - db; // oldest first
|
||||||
|
} else if (Number.isFinite(da)) {
|
||||||
|
return -1;
|
||||||
|
} else if (Number.isFinite(db)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
// tie-breaker by card number if numeric
|
||||||
|
const na = parseInt(a.number, 10);
|
||||||
|
const nb = parseInt(b.number, 10);
|
||||||
|
if (Number.isFinite(na) && Number.isFinite(nb)) return na - nb;
|
||||||
|
return a.number.localeCompare(b.number);
|
||||||
|
});
|
||||||
|
setCards(list);
|
||||||
if (json.note) setNote(String(json.note));
|
if (json.note) setNote(String(json.note));
|
||||||
if (json.updatedAt) setUpdatedAt(String(json.updatedAt));
|
if (json.updatedAt) setUpdatedAt(String(json.updatedAt));
|
||||||
if (typeof json.cached === 'boolean') setCachedFlag(json.cached);
|
if (typeof json.cached === 'boolean') setCachedFlag(json.cached);
|
||||||
@@ -56,7 +73,23 @@ export default function Page() {
|
|||||||
const res = await fetch('/api/magikarp?pageSize=250&refresh=1', { cache: 'no-store' });
|
const res = await fetch('/api/magikarp?pageSize=250&refresh=1', { cache: 'no-store' });
|
||||||
if (!res.ok) throw new Error('Failed to refresh');
|
if (!res.ok) throw new Error('Failed to refresh');
|
||||||
const json = await res.json();
|
const json = await res.json();
|
||||||
setCards(json.data || []);
|
const list: TcgCard[] = json.data || [];
|
||||||
|
list.sort((a, b) => {
|
||||||
|
const da = Date.parse(a.set.releaseDate || '');
|
||||||
|
const db = Date.parse(b.set.releaseDate || '');
|
||||||
|
if (Number.isFinite(da) && Number.isFinite(db)) {
|
||||||
|
if (da !== db) return da - db; // oldest first
|
||||||
|
} else if (Number.isFinite(da)) {
|
||||||
|
return -1;
|
||||||
|
} else if (Number.isFinite(db)) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
const na = parseInt(a.number, 10);
|
||||||
|
const nb = parseInt(b.number, 10);
|
||||||
|
if (Number.isFinite(na) && Number.isFinite(nb)) return na - nb;
|
||||||
|
return a.number.localeCompare(b.number);
|
||||||
|
});
|
||||||
|
setCards(list);
|
||||||
if (json.note) setNote(String(json.note)); else setNote(null);
|
if (json.note) setNote(String(json.note)); else setNote(null);
|
||||||
if (json.updatedAt) setUpdatedAt(String(json.updatedAt));
|
if (json.updatedAt) setUpdatedAt(String(json.updatedAt));
|
||||||
if (typeof json.cached === 'boolean') setCachedFlag(json.cached);
|
if (typeof json.cached === 'boolean') setCachedFlag(json.cached);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ export type TcgSet = {
|
|||||||
id: string;
|
id: string;
|
||||||
name: string;
|
name: string;
|
||||||
series: string;
|
series: string;
|
||||||
|
releaseDate?: string;
|
||||||
printedTotal?: number;
|
printedTotal?: number;
|
||||||
total?: number;
|
total?: number;
|
||||||
images?: {
|
images?: {
|
||||||
|
|||||||
Reference in New Issue
Block a user