Vercel/src/share/ShareModals.tsx
2025-03-03 20:06:54 -06:00

43 lines
1.3 KiB
TypeScript

'use client';
import PhotoShareModal from '@/photo/PhotoShareModal';
import TagShareModal from '@/tag/TagShareModal';
import CameraShareModal from '@/camera/CameraShareModal';
import FilmSimulationShareModal from '@/simulation/FilmSimulationShareModal';
import FocalLengthShareModal from '@/focal/FocalLengthShareModal';
import { useAppState } from '@/state/AppState';
import RecipeShareModal from '@/recipe/RecipeShareModal';
export default function ShareModals() {
const { shareModalProps = {} } = useAppState();
const {
photo,
photos,
count,
dateRange,
tag,
camera,
simulation,
recipe,
focal,
} = shareModalProps;
if (photo) {
return <PhotoShareModal {...{photo, tag, camera, simulation, focal}} />;
} else if (photos) {
const attributes = {photos, count, dateRange};
if (tag) {
return <TagShareModal {...{tag, ...attributes}} />;
} else if (camera) {
return <CameraShareModal {...{camera, ...attributes}} />;
} else if (simulation) {
return <FilmSimulationShareModal {...{simulation, ...attributes}} />;
} else if (focal !== undefined) {
return <FocalLengthShareModal {...{focal, ...attributes}} />;
} else if (recipe) {
return <RecipeShareModal {...{recipe, ...attributes}} />;
}
}
}