app.
What’s done
locales/en/mobile.json and resources/js/admin/i18n/locales/de/mobile.json.
- Error recovery CTAs on Photos, Notifications, Tasks, and QR screens so users can retry without a full reload in resources/js/admin/mobile/EventPhotosPage.tsx, resources/js/admin/mobile/NotificationsPage.tsx, resources/js/admin/
mobile/EventTasksPage.tsx, resources/js/admin/mobile/QrPrintPage.tsx.
- QR share uses native share sheet when available, with clipboard fallback in resources/js/admin/mobile/
QrPrintPage.tsx.
- Lazy‑loaded photo grid thumbnails for better performance in resources/js/admin/mobile/EventPhotosPage.tsx.
- New helper + tests for queue count logic in resources/js/admin/mobile/lib/queueStatus.ts and resources/js/admin/
mobile/lib/queueStatus.test.ts.
17 lines
406 B
TypeScript
17 lines
406 B
TypeScript
import type { TenantPhoto } from '../../api';
|
|
|
|
export type LightboxImageSources = {
|
|
initial: string | null;
|
|
full: string | null;
|
|
};
|
|
|
|
export function resolveLightboxSources(photo: TenantPhoto): LightboxImageSources {
|
|
const thumbnail = photo.thumbnail_url ?? null;
|
|
const full = photo.url ?? null;
|
|
|
|
return {
|
|
initial: thumbnail ?? full,
|
|
full: full && full !== thumbnail ? full : null,
|
|
};
|
|
}
|