Spaces:
Sleeping
Sleeping
| 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()}`; | |
| } | |