Add a Card Search tab and fix horizontal-card (Battle/Plane) preview orientation
Card Search browses the whole downloaded card universe (not just owned cards), reusing the Library tab's filter/group/sort/list/tiles UI; results show ownership and offer quick "own" and "add to deck" actions. Battles, Planes, and Phenomena store their Scryfall image portrait-shaped with the content itself rotated, so hover/click previews now detect this (a new `horizontal` flag threaded through ingest and every card query, with graceful fallback for a reference.db built before the column existed) and rotate the image back into place. Single-faced and non-DFC cases are verified fixed; a double-faced Battle's front face still needs another pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -10,6 +10,10 @@ export interface CardRef {
|
||||
colors: number; // WUBRG bitmask
|
||||
color_identity: number; // WUBRG bitmask
|
||||
type_line: string;
|
||||
// Printed/displayed sideways (Battles, Planes, Phenomena). The stored
|
||||
// image itself is portrait-shaped with the content rotated, so viewers
|
||||
// must rotate it 90° to display right-side up.
|
||||
horizontal: boolean;
|
||||
image_uri: string; // Scryfall "normal" image URL, or "" if unavailable
|
||||
back_image_uri: string; // back face for transform/MDFC/reversible cards, else ""
|
||||
produced_mana: number; // WUBRG bitmask of mana this card can tap for
|
||||
@@ -177,8 +181,11 @@ export const api = {
|
||||
|
||||
searchLibrary: (filter: LibraryFilter) =>
|
||||
invoke<LibraryCard[]>("search_library", { filter }),
|
||||
searchReference: (filter: LibraryFilter, limit: number) =>
|
||||
invoke<LibraryCard[]>("search_reference", { filter, limit }),
|
||||
getLibraryStats: () => invoke<LibraryStats>("get_library_stats"),
|
||||
getLibraryFacets: () => invoke<LibraryFacets>("get_library_facets"),
|
||||
getReferenceFacets: () => invoke<LibraryFacets>("get_reference_facets"),
|
||||
|
||||
listDecks: () => invoke<Deck[]>("list_decks"),
|
||||
createDeck: (name: string, commanderOracleId: string | null) =>
|
||||
|
||||
Reference in New Issue
Block a user