- web/: Vue 3 + Vite + UnoCSS + Pinia, dark tactical theme (amber/#0d1117) - AppNav, ListingCard, SearchView with filters/sort, composables (useSnipeMode, useKonamiCode, useMotion), Pinia search store - Steal shimmer, auction countdown, Snipe Mode easter egg all native in Vue - docker/web/: nginx + multi-stage Dockerfile (node build → nginx serve) - compose.yml: api (8510) + web (8509) services - Dockerfile CMD updated to uvicorn for upcoming FastAPI layer - Clean build: 0 TS errors, 380 modules
26 lines
No EOL
712 B
TypeScript
26 lines
No EOL
712 B
TypeScript
import { IconifyInfo } from "@iconify/types";
|
|
/**
|
|
* Item provided by API or loaded from collections.json, slightly different from IconifyInfo
|
|
*/
|
|
interface LegacyIconifyInfo {
|
|
name: string;
|
|
total?: number;
|
|
version?: string;
|
|
author?: string;
|
|
url?: string;
|
|
license?: string;
|
|
licenseURL?: string;
|
|
licenseSPDX?: string;
|
|
samples?: string[];
|
|
height?: number | number[];
|
|
displayHeight?: number;
|
|
samplesHeight?: number;
|
|
category?: string;
|
|
palette?: 'Colorless' | 'Colorful';
|
|
hidden?: boolean;
|
|
}
|
|
/**
|
|
* Convert data to valid CollectionInfo
|
|
*/
|
|
declare function convertIconSetInfo(data: unknown, expectedPrefix?: string): IconifyInfo | null;
|
|
export { LegacyIconifyInfo, convertIconSetInfo }; |