Create web/src/series.ts with Alpine component implementing the same switchLibrary pattern as the dashboard: - Fetch /api/series on library change instead of full page reload - Fade out/in transition with loading spinner - Re-render series grid and pagination from JSON response - Save selected library to localStorage Import series.ts in main.ts. Add stacked-cascade CSS to input.css for multi-cover series cards: - Covers cascade from top-left to bottom-right with increasing z-index - Front cover sits at bottom-right (highest z-index) - Separate layout rules for 1-7 covers with rotation offsets - Hover lift effect on series cards
42 lines
874 B
TypeScript
42 lines
874 B
TypeScript
import "./alpine";
|
|
import { Alpine } from "./alpine";
|
|
|
|
import "./admin";
|
|
import "./analytics";
|
|
import "./api";
|
|
import "./api-explorer";
|
|
import "./api-explorer-docs";
|
|
import "./bookPicker";
|
|
import "./bookshelf";
|
|
import "./book-detail";
|
|
import "./collection-rules";
|
|
import "./collections";
|
|
import "./conflicts";
|
|
import "./custom-section-builder";
|
|
import "./dashboard";
|
|
import "./device-management";
|
|
import "./docs";
|
|
import "./dom";
|
|
import "./events";
|
|
import "./header";
|
|
import "./index";
|
|
import "./library";
|
|
import "./linking";
|
|
import "./login";
|
|
import "./password_validation";
|
|
import "./profile";
|
|
import "./profile-modal";
|
|
import "./queue";
|
|
import "./register";
|
|
import "./search";
|
|
import "./series";
|
|
import "./storage";
|
|
import "./theme";
|
|
import "./toast";
|
|
import "./toast-error";
|
|
import "./unlinked_books";
|
|
import "./websocket";
|
|
import "./woodPanelingInit";
|
|
|
|
Alpine.start();
|