import type { FileMeta, Session } from "../types/session"; export const BASE_W = 595; export const BASE_H = 842; export function getSelectedPhotos(session: Session | null | undefined): FileMeta[] { if (!session) return []; const all = session.uploads?.photos ?? []; const selectedOrder = session.selected_photo_ids ?? []; const byId = new Map(all.map((photo) => [photo.id, photo])); const selected = selectedOrder .map((id) => byId.get(id)) .filter(Boolean) as FileMeta[]; return selected.length ? selected : all; } export function getPhotosForPage( session: Session | null | undefined, pageIndex: number, perPage = 1, ): FileMeta[] { const selected = getSelectedPhotos(session); const start = pageIndex * perPage; return selected.slice(start, start + perPage); } export function formatDocNumber(session: Session | null | undefined): string { if (!session?.id) return "REP-00000000"; return `REP-${session.id.slice(0, 8).toUpperCase()}`; }