ChristopherJKoen's picture
Data Input Rework
41178f4
raw
history blame contribute delete
980 Bytes
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()}`;
}